Я Python новичок, так что это может быть более очевидным, чем я думаю. Я использую Matplotlib
для графического представления моих прогнозируемых данных против фактических данных через нейронную сеть. Я могу рассчитать r-квадрат и построить свои данные, но теперь я хочу объединить значение на самом графике, которое меняется с каждым новым прогоном.
Мой NN использует как минимум 4 различных входа, и дает один вывод. Это мой конечный код для этого:
y_predicted = model.predict(X_test)
Вот как я вычисляю R2:
# Using sklearn
from sklearn.metrics import r2_score
print r2_score(y_test, y_predicted)
, и это мой график:
fig, ax = plt.subplots()
ax.scatter(y_test, y_predicted)
ax.plot([y.min(), y.max()], [y.min(), y.max()], 'k--', lw=4)
ax.set_xlabel('Actual')
ax.set_ylabel('Predicted')
#regression line
y_test, y_predicted = y_test.reshape(-1,1), y_predicted.reshape(-1,1)
ax.plot(y_test, LinearRegression().fit(y_test, y_predicted).predict(y_test))
plt.show()
Это дает что-то вроде прикрепленного графика, и R2 меняется каждый раз, когда я меняю эпохи, или количество слоев, или тип данных и т. д. c. Красный - моя линия регрессии, которую я обозначу позже. Поскольку R2 - это функция, я не могу просто использовать легенду или текстовый код.
Я также хотел бы показать MSE.
Может кто-нибудь мне помочь?
Graph