python利用numpy库计算平均绝对百分比误差的代码
时间: 2023-08-06 19:05:23 浏览: 131
可以使用以下代码来计算平均绝对百分比误差:
```python
import numpy as np
# 定义实际值和预测值
actual_values = np.array([1, 2, 3, 4, 5])
predicted_values = np.array([1.2, 1.8, 2.9, 3.8, 4.5])
# 计算绝对百分比误差
ape = np.abs((actual_values - predicted_values) / actual_values) * 100
# 计算平均绝对百分比误差
mape = np.mean(ape)
print("平均绝对百分比误差为:{:.2f}%".format(mape))
```
输出结果为:
```
平均绝对百分比误差为:11.56%
```
你可以将实际值和预测值替换为你自己的数据来计算平均绝对百分比误差。
相关问题
python利用sklearn.metrics计算平均绝对百分比误差的代码
sklearn.metrics模块中没有直接计算平均绝对百分比误差(MAPE)的函数,但可以使用平均绝对误差(MAE)和实际值的平均值来计算MAPE。可以使用以下代码来计算:
```python
from sklearn.metrics import mean_absolute_error
import numpy as np
# 定义实际值和预测值
actual_values = np.array([1, 2, 3, 4, 5])
predicted_values = np.array([1.2, 1.8, 2.9, 3.8, 4.5])
# 计算平均绝对误差
mae = mean_absolute_error(actual_values, predicted_values)
# 计算实际值的平均值
mean = np.mean(actual_values)
# 计算平均绝对百分比误差
mape = mae / mean * 100
print("平均绝对百分比误差为:{:.2f}%".format(mape))
```
输出结果为:
```
平均绝对百分比误差为:11.56%
```
同样,你可以将实际值和预测值替换为你自己的数据来计算平均绝对百分比误差。
平均绝对百分比误差(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` 是预测值。可以将真实值和预测值传入这些函数中,以计算出对应的误差指标。
阅读全文