Xel*_*gar 5 python perceptron neural-network scikit-learn
我目前正在尝试使用scikit-learn的神经网络功能.是否有办法在其MLPClassifier中设置输出节点的数量?我知道您可以通过将其作为参数传递来设置隐藏图层的数量,例如:
clf = MLPClassifier(hidden_layer_sizes=(100,)
Run Code Online (Sandbox Code Playgroud)
谢谢
输出节点的数量取决于标签的大小.
神经网络用户指南的示例:
>>> from sklearn.neural_network import MLPClassifier
>>> X = [[0., 0.], [1., 1.]]
>>> y = [[0, 1], [1, 1]]
>>> clf = MLPClassifier(solver='lbfgs', alpha=1e-5,
... hidden_layer_sizes=(15,), random_state=1)
>>> clf.fit(X, y)
>>> clf.predict([[1., 2.]])
array([[1, 1]])
Run Code Online (Sandbox Code Playgroud)
sklearn中输入、隐藏和输出层的架构和单元描述如下:
对一些通用规则隐含层是基于本文的以下情况:Approximating Number of Hidden layer neurons in Multiple Hidden Layer BPNN Architecture通过Saurabh Karsoliya。
一般来说:
2/3输入层大小的(或 70% 到 90%)。less than twice的数量应该是输入层神经元的数量。between的大小是输入层大小和输出层大小。请始终记住,您需要探索并尝试许多不同的组合。此外,使用GridSearch您可以找到“最佳模型和参数”。例如,您可以执行 aGridSearch来确定"best"隐藏层的大小。