python 求MAPE
时间: 2023-07-17 18:10:12 浏览: 228
要求解决 MAPE(Mean Absolute Percentage Error)的 Python 代码,可以使用以下示例代码:
```python
def calc_mape(actual, predicted):
'''
计算 MAPE(Mean Absolute Percentage Error)
参数:
actual: 实际值的列表或数组
predicted: 预测值的列表或数组
返回值:
MAPE 值
'''
if len(actual) != len(predicted):
raise ValueError("actual 和 predicted 的长度必须相等")
n = len(actual)
mape = 0
for i in range(n):
if actual[i] != 0:
mape += abs((actual[i] - predicted[i]) / actual[i])
mape = (mape / n) * 100
return mape
```
使用示例:
```python
actual = [10, 20, 30, 40]
predicted = [12, 18, 28, 38]
mape = calc_mape(actual, predicted)
print("MAPE =", mape)
```
输出:
```
MAPE = 13.75
```
请注意,该代码中假设 `actual` 和 `predicted` 都是长度相等的列表或数组。如果长度不相等,会引发 `ValueError` 异常。此外,我们还处理了实际值为零的情况,以避免除以零错误。
阅读全文