# -*- coding: utf-8 -*- import matplotlib.pyplot as plt from scipy.io import loadmat from math import sqrt from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score def quota(inv_y, inv_yhat,name): rmse_ = sqrt(mean_squared_error(inv_y, inv_yhat)) mae_=mean_absolute_error(inv_y, inv_yhat) r2_ = r2_score(inv_y, inv_yhat) print(name,'的rmse:', rmse_, ' mae:', mae_, ' R2:', r2_) data0=loadmat('result/vmd_cnn_bilstm_result.mat')['true'] data1=loadmat('result/cnn_bilstm_result.mat')['pred'] data2=loadmat('result/vmd_cnn_bilstm_result.mat')['pred'] data3=loadmat('result/bilstm_result.mat')['pred'] quota(data0,data1,'CNN-BiLSTM') quota(data0,data2,'VMD-CNN-BiLSTM') quota(data0,data3,'BiLSTM') # 画图 plt.figure() plt.plot(data0,'-',label='Real') plt.plot(data1,'-',label='CNN-BiLSTM') plt.plot(data2,'-',label='VMD-VNN-BiLSTM') plt.plot(data3,'-',label='BiLSTM') plt.grid() plt.legend() plt.xlabel('time/h') plt.ylabel('Compare') plt.show()
时间: 2023-08-18 15:08:00 浏览: 54
这段代码是一个 Python 脚本,它包含了一个名为 `quota()` 的函数和一些数据处理和可视化的代码。这个脚本的主要功能是比较不同深度学习模型在某个数据集上的性能表现,并通过可视化的方式展示比较结果。
首先,代码通过 `loadmat()` 函数加载了四个数据文件,分别是真实值 `data0` 和三个模型的预测结果 `data1`、`data2` 和 `data3`。然后,通过调用 `quota()` 函数计算了每个模型在真实值上的均方根误差(RMSE)、平均绝对误差(MAE)和 R2 得分。这些指标可以用来衡量模型的预测能力,RMSE 和 MAE 越小、R2 得分越高表示模型性能越好。
最后,代码使用 Matplotlib 库绘制了一个折线图,将真实值和三个模型的预测结果进行了对比。图表的 x 轴表示时间,y 轴表示比较结果。通过比较不同模型的预测结果,可以直观地了解它们的性能差异。
相关问题
# -*- coding: utf-8 -*-不起作用
如果`# -*- coding: utf-8 -*-`在你的代码中不起作用,可能是因为你的代码中已经存在其他编码方式的声明,或者编码声明位置不正确。请确保`# -*- coding: utf-8 -*-`在代码文件的开头,并且没有其他编码声明在它之前。
另外,如果你使用的是Python 3.x版本,那么默认的编码方式已经是UTF-8,不需要额外的编码声明。你可以尝试移除`# -*- coding: utf-8 -*-`这行代码,看看问题是否解决。
如果你仍然遇到编码问题,可以尝试使用`encode()`方法将字符串转换为字节序列,并指定合适的编码方式。例如:
```python
my_string = "你好"
encoded_string = my_string.encode('utf-8')
```
这样可以将字符串编码为UTF-8字节序列。希望这些方法能够帮助你解决问题!
文件第1行代码:# -*- coding: utf-8 -*-
文件的第一行代码 "# -*- coding: utf-8 -*-" 是用来指定文件的编码方式为 UTF-8。在 Python 2 中,这一行的作用是告诉解释器以 UTF-8 编码方式解析文件中的字符。而在 Python 3 中,默认情况下,所有的源代码文件都被视为使用 UTF-8 编码,因此这一行在 Python 3 中并不是必需的。
UTF-8 是一种通用的字符编码方式,它可以表示几乎所有的字符,包括各种语言的字符和特殊符号。指定文件编码方式为 UTF-8 可以确保在文件中使用各种字符时不会出现编码错误。
如果你的代码中包含了特殊字符或其他非 ASCII 字符,建议在文件的第一行添加 "# -*- coding: utf-8 -*-" 这样的声明,以便告知解释器正确的编码方式。这样可以避免出现编码相关的错误和警告。
请注意,这个声明必须出现在文件的第一行,前面不能有任何其他内容,包括注释。否则,解释器可能无法正确解析该声明。