Python sklearn用于MNIST数字分类任务的MLPClassizer的输入和输出层中有多少个节点

Python sklearn用于MNIST数字分类任务的MLPClassizer的输入和输出层中有多少个节点,python,python-3.x,scikit-learn,mnist,mlp,Python,Python 3.x,Scikit Learn,Mnist,Mlp,我正在按照上面的示例进行操作,并试图找出我对示例中输入和输出层中节点数量的理解是否正确。所需代码如下: import matplotlib.pyplot as plt from sklearn.datasets import fetch_openml from sklearn.neural_network import MLPClassifier print(__doc__) # Load data from https://www.openml.org/d/554 X, y = fetch

我正在按照上面的示例进行操作,并试图找出我对示例中输入和输出层中节点数量的理解是否正确。所需代码如下:

import matplotlib.pyplot as plt
from sklearn.datasets import fetch_openml
from sklearn.neural_network import MLPClassifier

print(__doc__)

# Load data from https://www.openml.org/d/554
X, y = fetch_openml('mnist_784', version=1, return_X_y=True)
X = X / 255.

# rescale the data, use the traditional train/test split
X_train, X_test = X[:60000], X[60000:]
y_train, y_test = y[:60000], y[60000:]

mlp = MLPClassifier(hidden_layer_sizes=(50,), max_iter=10, alpha=1e-4,
                    solver='sgd', verbose=10, random_state=1,
                    learning_rate_init=.1)

mlp.fit(X_train, y_train)
score = mlp.score(X_test, y_test)
根据,该示例说明输入层中的784个节点,我认为这些节点来自数据的形状,输出层中有10个节点,每个数字1个

上述代码中的MLPC分类器就是这种情况吗


谢谢你,一些澄清将是伟大的

你的理解是正确的。MNIST数字数据的图像大小为28x28,扁平化为784,输出大小为10,从0到9的每个数字对应一个。MLPClassizer根据Fit方法中提供的数据隐式设计输入和输出层

您的NN配置如下所示: 输入:200 x 784 隐藏层:784 x 50特征尺寸:200 x 50 输出层:50 x 10特征尺寸:200 x 10

在MLPClassizer中,批大小默认为200,因为训练数据大小为60000