我试图了解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的类概率。
输入样本的预测类概率计算为森林中树木的平均预测类别概率。的一棵树的分类概率是叶子中的同一个类。
我希望了解与上述文章相同的内容,但要了解Gaussian Process Classifier:。 MLPClassifier
在内部如何工作?
在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作为输出层的激活函数的作用,以便获得概率矢量。
希望这可以为您提供帮助。