python计算相对均方根误差
时间: 2024-06-03 21:05:53 浏览: 283
相对均方根误差(Relative Root Mean Square Error,RRMSE)是一种用来衡量预测结果与真实结果的误差的指标。在Python中,可以使用如下代码计算RRMSE:
```python
import numpy as np
def rrmse(y_true, y_pred):
return np.sqrt(np.mean(np.square((y_true - y_pred) / y_true)))
```
其中,y_true为真实结果,y_pred为预测结果。该函数会返回RRMSE的值。
相关问题
平均绝对百分比误差(MAPE)、平均相对变动值(ARV)和相对均方根误差(RRMSE)的python代码实现
以下是 MAPE、ARV、RRMSE 的 Python 代码实现:
```python
import numpy as np
def mape(y_true, y_pred):
"""
计算平均绝对百分比误差(MAPE)
"""
y_true, y_pred = np.array(y_true), np.array(y_pred)
return np.mean(np.abs((y_true - y_pred) / y_true)) * 100
def arv(y_true, y_pred):
"""
计算平均相对变动值(ARV)
"""
y_true, y_pred = np.array(y_true), np.array(y_pred)
return np.mean(np.abs(y_true - y_pred) / np.abs(y_true))
def rrmse(y_true, y_pred):
"""
计算相对均方根误差(RRMSE)
"""
y_true, y_pred = np.array(y_true), np.array(y_pred)
return np.sqrt(np.mean(np.square((y_true - y_pred) / y_true)))
```
其中,`y_true` 是实际值,`y_pred` 是预测值。可以将真实值和预测值传入这些函数中,以计算出对应的误差指标。
仿照from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score r_2 = r2_score(test,predict_sunspots) print('Test r_2: %.6f' % r_2),给出平均绝对百分比误差(MAPE)、平均相对变动值(ARV)和相对均方根误差(RRMSE)的python代码
可以使用以下代码实现:
```python
import numpy as np
def mape(y_true, y_pred):
"""
计算平均绝对百分比误差
"""
return np.mean(np.abs((y_true - y_pred) / y_true)) * 100
def arv(y_true, y_pred):
"""
计算平均相对变动值
"""
return np.mean(np.abs(y_true - y_pred) / np.abs(y_true))
def rrmse(y_true, y_pred):
"""
计算相对均方根误差
"""
return np.sqrt(np.mean(np.square((y_true - y_pred) / y_true)))
# 示例
y_true = np.array([1, 2, 3, 4, 5])
y_pred = np.array([0.8, 2.3, 2.9, 3.8, 4.6])
mape_value = mape(y_true, y_pred)
arv_value = arv(y_true, y_pred)
rrmse_value = rrmse(y_true, y_pred)
print("MAPE: %.6f" % mape_value)
print("ARV: %.6f" % arv_value)
print("RRMSE: %.6f" % rrmse_value)
```
注意,这里假设`y_true`和`y_pred`都是numpy数组。
阅读全文