sklearn的MLP预测内部函数如何在内部工作?

问题描述 投票:1回答:1

我试图了解sklearn's MLP Classifier如何为其sklearn函数检索其结果。

该网站仅列出:

概率估计

[还有许多其他词,例如predict_proba,有更详细的答案:概率估计。

返回的所有类别的估算值均按类别标签排序。

对于multi_class问题,如果将multi_class设置为“多项式”softmax函数用于查找每个变量的预测概率类。否则使用一对多休息法,即计算概率使用逻辑函数假定每个类别的正数。并在所有类别中标准化这些值。

其他模型类型也有更多详细信息。以logistic regression

为例

还有support vector machine classifier对其进行了深入解释。

计算X中样本的可能结果的概率。

模型需要在训练时计算出概率信息时间:将属性概率设置为True。

其他示例

this very nice Stack Overflow post

预测X的类概率。

输入样本的预测类概率计算为森林中树木的平均预测类别概率。的一棵树的分类概率是叶子中的同一个类。

Random Forest

我希望了解与上述文章相同的内容,但要了解Gaussian Process Classifier:MLPClassifier在内部如何工作?

python machine-learning scikit-learn probability mlp
1个回答
1
投票

MLPClassifier中查找,我发现:

source code

看来,MLP分类器使用逻辑函数进行二进制分类,并使用softmax函数进行多标签分类,以构建输出层。这表明网络的输出是概率矢量,网络可以据此推导出预测。

如果我查看def _initialize(self, y, layer_units): # set all attributes, allocate weights etc for first call # Initialize parameters self.n_iter_ = 0 self.t_ = 0 self.n_outputs_ = y.shape[1] # Compute the number of layers self.n_layers_ = len(layer_units) # Output for regression if not is_classifier(self): self.out_activation_ = 'identity' # Output for multi class elif self._label_binarizer.y_type_ == 'multiclass': self.out_activation_ = 'softmax' # Output for binary class and multi-label else: self.out_activation_ = 'logistic' 方法:

predict_proba

这确认softmax或logistic作为输出层的激活函数的作用,以便获得概率矢量。

希望这可以为您提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.