打印模型的mse、mae、rmse、r2指标,并将验证集和预测值在同一个坐标系上打印
时间: 2023-12-26 09:07:19 浏览: 181
好的,我会给出模型的 MSE、MAE、RMSE 和 R2 指标,并将验证集和预测值在同一个坐标系上进行绘制。
```python
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score
import matplotlib.pyplot as plt
# 预测验证集数据
predictions = model.predict(X_val.reshape(1, 5, 1))
# 计算指标
mse = mean_squared_error(y_val.reshape(-1), predictions.reshape(-1))
mae = mean_absolute_error(y_val.reshape(-1), predictions.reshape(-1))
rmse = np.sqrt(mse)
r2 = r2_score(y_val.reshape(-1), predictions.reshape(-1))
# 绘制验证集和预测值
plt.plot(np.arange(1, 7), y_val.reshape(-1), label='Validation')
plt.plot(np.arange(2, 8), predictions.reshape(-1), label='Prediction')
plt.xlabel('Time Step')
plt.ylabel('Value')
plt.legend()
plt.show()
print("MSE:", mse)
print("MAE:", mae)
print("RMSE:", rmse)
print("R2:", r2)
```
在上面的代码中,首先使用训练好的模型对验证集数据进行预测。然后,使用 `mean_squared_error`、`mean_absolute_error`、`r2_score` 函数计算模型的 MSE、MAE、RMSE 和 R2 指标。接下来,使用 `plot` 函数将验证集和预测值在同一个坐标系上绘制出来,并添加图例和轴标签。最后,打印出计算得到的指标值。
注意:这里假设验证集数据的时间步长为 1 到 6,预测值的时间步长为 2 到 7,根据实际情况进行调整。
阅读全文