# 画出均方误差图 testPredictPlot = np.empty_like(data) testPredictPlot[:, :] = np.nan testPredictPlot[len(data)-len(testPredict):len(data), :] = testPredict plt.plot(scaler.inverse_transform(data)) plt.plot(testPredictPlot) plt.show()这里如何绘制图像
时间: 2023-06-16 11:04:02 浏览: 137
这段代码中,首先创建了一个与原始数据形状相同但所有元素都为 NaN 的数组 `testPredictPlot`,然后将预测结果 `testPredict` 填充到 `testPredictPlot` 中。最后,使用 `plt.plot()` 函数分别绘制了原始数据和预测结果,并通过 `plt.show()` 函数显示图形。
要绘制均方误差图,可以在原始数据和预测结果的下方再添加一条曲线,表示它们之间的均方误差。以下是一个可能的实现:
```python
mse = np.mean(np.square(testPredict - testY)) # 计算均方误差
mse_line = np.full_like(testPredictPlot, mse) # 创建一个与 testPredictPlot 形状相同的数组,所有元素都为 mse
mse_line[len(data)-len(testPredict):len(data), :] = np.nan # 将 mse_line 的有效部分与 testPredictPlot 相同的部分对齐,并将其他部分设为 NaN
plt.plot(scaler.inverse_transform(data))
plt.plot(testPredictPlot)
plt.plot(mse_line, color='red')
plt.show()
```
这里使用了 NumPy 的 `np.mean()` 函数计算均方误差,并用 `np.square()` 函数求平方。然后创建了一个与 `testPredictPlot` 形状相同的数组 `mse_line`,并用 `np.full_like()` 函数将其中所有元素设为均方误差。最后,将 `mse_line` 的有效部分与 `testPredictPlot` 相同的部分对齐,并将其他部分设为 NaN。再用 `plt.plot()` 函数绘制 `mse_line`,并将其颜色设为红色。运行这段代码可以得到一个包含原始数据、预测结果和均方误差的图形。
阅读全文