''' Author: SJ2050 Date: 2022-01-21 12:01:47 LastEditTime: 2022-01-22 11:04:40 Version: v0.0.1 Description: Full connection multi-layer perceptron using sklearn. Copyright © 2022 SJ2050 ''' import numpy as np from sklearn.neural_network import MLPClassifier from sklearn.datasets import load_digits from sklearn.metrics import confusion_matrix from sklearn.metrics import accuracy_score import matplotlib.pyplot as plt # load data digits = load_digits() X = digits.data Y = digits.target X -= X.min() X /= X.max() x_train = X[:-500] y_train = Y[:-500] mlp = MLPClassifier(hidden_layer_sizes=(100), max_iter=10000) mlp.fit(x_train,y_train) x_test = X[-500:] y_test = Y[-500:] predictions = mlp.predict(x_test) acc = accuracy_score(y_test, predictions) print('--------------------------------') print(f'predict: acc = {acc}.') cm = confusion_matrix(y_test, predictions) plt.matshow(cm) plt.title(u'Confusion Matrix') plt.colorbar() plt.ylabel(u'Groundtruth') plt.xlabel(u'Predict') plt.show()