import numpy as np import matplotlib.pyplot as plt from sklearn.neural_network import MLPRegressor from sklearn.metrics import r2_score X = np.arange(0, 2*np.pi, 0.02) Y = np.array([np.sin(X), np.cos(X)]) plt.figure(figsize=(5, 5)) plt.subplot(1, 3, 1) plt.plot(X, Y[0], 'r') plt.plot(X, Y[1], 'b') plt.title('Wykres wygenerowanych punktów') x_train = X.reshape(315,1) y_train = Y.transpose() model = MLPRegressor(hidden_layer_sizes=(100), learning_rate_init=0.05, solver='sgd', activation='logistic', tol=0.00001, alpha=0.00000001, max_iter=1000, verbose=False) model.fit(x_train, y_train) y_pred = model.predict(x_train) error = r2_score(y_train, y_pred) print("Błąd r2 " + str(error)) plt.subplot(1, 3, 2) plt.plot(model.loss_curve_) plt.title("Zmiana wartości funkcji straty w procesie uczenia") plt.xlabel("liczba korków") plt.ylabel("wartość funkcji błędu") plt.subplot(1, 3, 3) plt.plot(X, y_pred[:, 0], 'r') plt.plot(X, y_pred[:, 1], 'b') plt.title("Zmiana wartości funkcji straty w procesie uczenia") plt.show()