#python #machine-learning #scikit-learn #neural-network #mnist
#python #машинное обучение #scikit-learn #нейронная сеть #mnist
Вопрос:
Я новичок в машинном обучении, пытаюсь использовать нейронную сеть для классификации набора данных MNIST
from sklearn.neural_network import MLPClassifier
from sklearn.datasets import fetch_openml
import matplotlib.pyplot as plt
import numpy as np
X, y = fetch_openml('mnist_784', return_X_y=True)
X_train, X_test = X[:60000], X[60000:]
y_train, y_test = y[:60000], y[60000:]
mlp = MLPClassifier(
random_state=1,
hidden_layer_sizes = (64,),
activation = 'relu',
solver = 'adam',
learning_rate_init = 1e-3,
alpha = 0,
n_iter_no_change = 25,
max_iter=500,
)
mlp.fit(X_train, y_train)
fig, ax = plt.subplots(figsize=(6,4))
ax.plot(mlp.loss_curve_)
ax.set_xlabel('Number of iterations')
ax.set_ylabel('Loss')
plt.show()
Это график, который я получил из этого кода.
Я пытаюсь построить другой график с помощью X_test, y_test, чтобы построить график примерно так:
Что мне нужно сделать, чтобы получить график, подобный 2-му изображению?
Комментарии:
1. Я надеюсь, что вы сможете найти лучшее решение, но вы могли бы зацикливаться
mlp.partial_fit
и сохранять каждуюy_test
потерю.