Python计算SMAE和MAPE函数库
时间: 2023-08-14 08:12:27 浏览: 159
Python的函数库
5星 · 资源好评率100%
以下是Python计算SMAE和MAPE的函数库:
```python
import numpy as np
def smape(y_true, y_pred):
"""
计算Symmetric Mean Absolute Percentage Error (SMAPE)
:param y_true: 实际值
:param y_pred: 预测值
:return: SMAPE分数
"""
num = np.abs(np.array(y_true) - np.array(y_pred))
den = np.array(y_true) + np.array(y_pred)
return np.mean(2.0 * num / (den + 1e-7)) * 100.0
def mape(y_true, y_pred):
"""
计算Mean Absolute Percentage Error (MAPE)
:param y_true: 实际值
:param y_pred: 预测值
:return: MAPE分数
"""
num = np.abs(np.array(y_true) - np.array(y_pred))
den = np.array(y_true)
return np.mean(num / (den + 1e-7)) * 100.0
```
其中,`y_true`和`y_pred`分别是实际值和预测值,可以是列表、数组等可迭代对象。函数返回的是SMAPE和MAPE的分数,均为百分比形式。需要注意的是,由于分母中可能存在0值,因此在计算过程中加上了一个很小的数`1e-7`来避免除0错误。
阅读全文