Я следую примеру на https://scikit-learn.org/stable/auto_examples/neural_networks/plot_mnist_filters.html#sphx -glr-auto-examples-нейронные сети-plot-mnist-filters-py и пытаюсь выяснить, правильно ли мое понимание на количество узлов во входном и выходном слоях в примере. Требуемый код выглядит следующим образом:
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)
В соответствии с https://dudeperf3ct.github.io/mlp/mnist/2018/10/08/Force-of-Multi-Layer-Perceptron/ в примере указывается 784 узла на входном слое (который, как я полагаю, взят из shape
данных ) и 10 узлов для выходного слоя, 1 для каждого di git.
Это тот случай для MLPClassifier
в приведенном выше коде?
Спасибо, и некоторые разъяснения будут великолепны!