我目前正在使用给定的类别标签0和1进行分类任务。为此,我正在使用ScikitLearn的MLPClassifier
为每个训练示例提供0或1的输出。但是,我找不到任何文档,MLPClassifier的输出层到底在做什么(哪个激活函数?编码?)。
因为只有一个类的输出,所以我假设使用了像One-hot_encoding这样的东西。这个假设正确吗?是否有任何针对MLPClassifier
的问题的文档?
答案 0 :(得分:2)
docs中包含大多数信息。 MLP是一个简单的神经网络。它可以使用多个激活功能,默认值为relu
。
它不使用一次性编码,而是需要使用类标签输入y
(目标)向量。
答案 1 :(得分:1)
out_activation_
属性将为您提供在MLPClassifier的输出层中使用的激活类型。
out_activation_:字符串 输出激活功能的名称。
activation
参数仅设置隐藏层的激活功能。
激活::{'identity','logistic','tanh','relu'},默认为'relu' 隐藏层的激活功能。
输出层是在this代码段内部确定的。
# 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'
因此,对于二进制分类,它将是logistic
;对于多分类,它将是softmax
。
要了解有关这些激活的更多详细信息,请参阅here。