【发布时间】:2018-03-25 12:46:27
【问题描述】:
我想在 fitting 数据之后使用 sklearn 的 MLPClassifier 对神经网络最终隐藏激活层输出进行一些测试。
例如,如果我创建一个分类器,假设数据 X_train 带有标签 y_train 和两个大小为 (300,100) 的隐藏层
clf = MLPClassifier(hidden_layer_sizes=(300,100))
clf.fit(X_train,y_train)
我希望能够以某种方式调用一个函数来检索长度为100 的最终隐藏激活层向量,以用于其他测试。
假设一个测试集X_test, y_test,正常预测是:
preds = clf.predict(X_test)
但是,我想做类似的事情:
activation_layers_for_all_X_test = clf.get_final_activation_output(X_test)
存在诸如get_weights 之类的函数,但这只会对我每层有所帮助。除了自己进行转换之外,是否有另一种方法可以为最终隐藏层检索这些最终隐藏层激活的输出?
以这张图为例:
我想要的输出是Out Layer,即来自最终隐藏层的最终激活输出。
【问题讨论】:
-
您在寻找
predict_proba吗?这就是我理解的最后一层激活。 -
@ncfirth
predict_proba是softmax的输出,而不是实际的隐藏激活层输出。最终隐藏层输出提供给softmax最终层输出。基本上我想要在那之前的隐藏层输出。我才意识到我可能没有很好地解释这一点。我会尝试解决这个问题。 -
啊,好的,sklearn 中好像没有函数。看我的回答,刚来
标签: python machine-learning scikit-learn classification data-science