MAPE的Python代码
时间: 2024-05-16 15:10:23 浏览: 258
MAPE 是 Mean Absolute Percentage Error 的缩写,翻译过来就是平均绝对百分比误差。它用于衡量时间序列预测模型的精度。其 Python 代码如下:
```python
import numpy as np
def mape(actual, pred):
mask = actual != 0
return (np.fabs(actual - pred)/actual)[mask].mean()
actual = np.array([1.2, 3.4, 5.6, 7.8, 9.0])
pred = np.array([1.3, 3.5, 5.2, 8.0, 9.1])
print("MAPE is: ", mape(actual, pred))
```
其中,actual 是实际值数组,pred 是预测值数组。该函数先创建一个布尔类型的数组 mask,来过滤掉实际值为零的情况,然后计算绝对百分比误差并求平均值作为结果返回。
相关问题
MAPE python代码
MAPE (Mean Absolute Percentage Error) 是一种常用的评估预测模型性能的指标,特别是在时间序列预测中。MAPE 表示的是预测值与真实值之间的平均绝对误差百分比。以下是一个简单的 Python 代码片段,用于计算 MAPE:
```python
def calculate_mape(true_values, predicted_values):
# 确保两者长度相同
assert len(true_values) == len(predicted_values), "True and predicted values must have the same length"
# 初始化计数器和总和
numerator = 0
denominator = 0
# 遍历真实值和预测值
for i in range(len(true_values)):
# 计算误差
error = abs(true_values[i] - predicted_values[i])
# 更新分子(绝对误差)和分母(真实值)
numerator += error
denominator += abs(true_values[i])
# 如果分母为零,MAPE 未定义,返回 None 或者设置一个合理的默认值
if denominator == 0:
return None or 0
else:
# 计算并返回 MAPE
mape = (numerator / denominator) * 100
return mape
# 示例使用
true_values = [10, 20, 30, 40, 50]
predicted_values = [9.5, 20.2, 28, 41, 49.9]
mape = calculate_mape(true_values, predicted_values)
print(f"MAPE: {mape:.2f}%")
```
mape python代码实现
MAPE(Mean Absolute Percentage Error,平均绝对百分比误差)的计算可以使用Python中的numpy库来实现,示例如下:
```python
import numpy as np
# 真实值和预测值
y_true = np.array([3, 0.5, 2, 7])
y_pred = np.array([2.5, 0.2, 2, 8])
# 计算绝对百分比误差
ape = np.abs((y_true - y_pred) / y_true) * 100
# 使用numpy计算MAPE
mape = np.mean(ape)
print("MAPE:", mape)
```
输出结果:
```
MAPE: 28.333333333333336
```
请注意,如果真实值中存在0,可能会导致除以0的错误。在计算MAPE之前,可以添加一些处理逻辑来处理这种情况。
阅读全文