在scikit-learn的MLPClassifier中设置输出节点的数量

时间:2016-12-03 01:27:10

标签: python scikit-learn neural-network perceptron

我目前正在尝试使用scikit-learn的神经网络功能。是否有办法在其MLPClassifier中设置输出节点的数量?我知道您可以通过将其作为参数传递来设置隐藏图层的数量,如:

clf = MLPClassifier(hidden_layer_sizes=(100,)

由于

1 个答案:

答案 0 :(得分:2)

sklearn中输入,隐藏和输出图层的体系结构和单位如下所述:

  • 输入单元的数量将是功能的数量(通常为偏置的+1节点)
  • 对于多类别分类,输出单位的数量将是标签数量
  • 首先尝试单个隐藏图层
  • 隐藏图层中的单位越多越好,请尝试与输入要素的数量相同。

基于本文的隐藏图层的一些一般规则如下:Approximating Number of Hidden layer neurons in Multiple Hidden Layer BPNN Architecture Saurabh Karsoliya

一般来说:

  • 隐藏层神经元的数量是输入图层大小的2/3(或70%到90%)。
  • 隐藏层神经元的数量应该是输入层中神经元数量的less than twice
  • 隐藏层神经元的大小为between输入图层大小和输出图层大小。

请记住,您需要探索并尝试许多不同的组合。此外,使用GridSearch您可以找到“最佳模型和参数”。例如。您可以执行GridSearch以确定隐藏图层的"best"大小。