コード例 #1
0
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.metrics import accuracy_score
from perceptron import Perceptron

df = load_digits()
X, y = df.data, df.target

# create train sample y like [0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
y_ = np.zeros([X.shape[0], 10])

for i in range(y.shape[0]):
    y_[i, y[i]] = 1

# normalize
X /= 15

model = Perceptron(X, y_, learning_rate=0.7)
model.add_layer(64, 30)
model.add_layer(30, 10)
model.train(800)

print("Precision of model: ", accuracy_score(y, np.ravel(model.predict(X))))

plt.plot(model.mse_for_plot)
plt.show()