机器学习的度量指标
度量指标
0. 第三方库
TorchMetrics
库:官网
1. 回归度量指标
1.0 定义变量
-
\(N\):样本总数
-
\(i=1,2,\cdots,N\):样本编号
-
\(y_i\):第 \(i\) 个样本的实际值
-
\(\hat{y}_i\):第 \(i\) 个样本的预测值
1.1 MAPE
平均绝对值百分比误差:Mean Absolute Percentage Error (MAPE), 也成为 Mean Absolute Percentage Deviation (MAPD):计算公式为:
\[\text{MAPE} = \frac{1}{N} \sum_{t=1}^{N} \left| \frac{y_i-\hat{y}_i}{y_i}\right|
= \frac{1}{N} \sum_{t=1}^{N} \frac{\left| y_i-\hat{y}_i \right|}{\left| y_i \right|}
\]
该公式存在一个缺陷,当 \(\exists \, y_i \to 0\),有 \(\text{MAPE} \to \infty\)。因此在实际的算过程中,通常采用以下公式:
\[\text{MAPE} = \frac{1}{N} \sum_{t=1}^{N}
\frac{ \left| y_i - \hat{y}_i \right| }{
\max \left( \left| y_i \right| , \varepsilon \right) }
\]
其中 \(\varepsilon\) 为所设定的精度。
在 scikit-learn
库中,sklearn.metrics
中由 mean_absolute_percentage_error()
函数实现,\(\varepsilon\) 为 np.finfo(np.float64).eps
,表示 64 位浮点数的精度。