plt.figure(figsize=(40,20)) if forecasting_model == 'multi_steps': plt.plot(pre_array[0], 'g') plt.plot(test_labels[0].cpu(), "r") plt.show() else: plt.plot(pre_array, 'g') plt.plot(test_labels.cpu(), "r") plt.show() MSE_l = mean_squared_error(test_labels.cpu(), pre_array) MAE_l = mean_absolute_error(test_labels.cpu(), pre_array) MAPE_l = mean_absolute_percentage_error(test_labels.cpu(), pre_array) R2 = r2_score(test_labels.cpu(), pre_array) print('MSE loss=%s'%MSE_l) print('MAE loss=%s'%MAE_l) print('MAPE loss=%s'%MAPE_l) print('R2=%s'%R2)
时间: 2024-03-07 21:52:07 浏览: 25
这段代码的作用是绘制预测结果与真实标签值的折线图,并计算预测结果的MSE、MAE、MAPE和R2指标。其中,`pre_array`是模型的预测结果,`test_labels`是真实标签值,`forecasting_model`是一个字符串变量,表示预测模型的类型。如果预测模型是`multi_steps`(多步预测模型),则绘制预测结果的第一条线,否则绘制整个预测结果序列的折线图。然后,绘制真实标签值的折线图,并显示图像。接着,计算MSE、MAE、MAPE和R2指标,并将它们打印出来。
相关问题
plt.figure(figsize=(fig_width, fig_length))我想再添加图画
如果想要添加另一张图画,可以在上一个 `plt.figure()` 代码块后面加上另一个 `plt.figure()` 代码块。例如:
```python
plt.figure(figsize=(fig_width, fig_length))
# code to plot first figure
plt.figure(figsize=(fig_width, fig_length))
# code to plot second figure
```
每个 `plt.figure()` 代码块会创建一个新的画布,并且在该画布上绘制的所有图形都将显示在同一个窗口中。如果想要在不同的窗口中显示不同的图形,可以使用多个 `plt.show()` 命令。例如:
```python
plt.figure(figsize=(fig_width, fig_length))
# code to plot first figure
plt.show()
plt.figure(figsize=(fig_width, fig_length))
# code to plot second figure
plt.show()
```
这将在两个不同的窗口中显示两张图画。
plt.figure(figsize=(fig_width, fig_length))边距
在使用`plt.figure(figsize=(fig_width, fig_length))`时,可以通过调整fig_width和fig_length的值来控制图片的大小。同时,也可以通过设置子图的大小和间距来控制边距。下面是一个示例代码:
```
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(6, 4))
# 设置子图边距
fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)
# 绘制图形
ax.plot([1, 2, 3], [4, 5, 6])
# 显示图形
plt.show()
```
其中,`fig.subplots_adjust()`函数可以用来调整子图的位置和大小,比如`left`参数控制子图左边距离画布左边的距离,`right`参数控制子图右边距离画布右边的距离,`bottom`参数控制子图下边距离画布底部的距离,`top`参数控制子图上边距离画布顶部的距离。可以根据需要自行调整参数值。