如何解释 Python 中的 MAPE (Sklearn)

How to interpret MAPE in Python (Sklearn)

我正在尝试解释我从 sklearn.metrics.mean_absolute_percentage_error(y_true, y_pred), but have difficulty to understand the interpretation. I need to interpret the result based on below 接受的 (?) 架构中获得的价值

根据官方Python解释:

注意这里输出的不是[0, 100]范围内的百分比,值100并不代表100%而是1e2。此外,当 y_true 较小(特定于指标)或 abs(y_true - y_pred) 较大(这对于大多数回归指标很常见)时,输出可以任意高).在用户指南中阅读更多内容。

所以,

from sklearn.metrics import 
mean_absolute_percentage_error
y_true = [3, -0.5, 2, 7] 
y_pred = [2.5, 0.0, 2, 8]

mean_absolute_percentage_error(y_true, y_pred)
0.3273...

0.32 是什么意思?如果这不是 32%,那是什么?

我正在使用这个函数,我得到了两个不同数据集的结果:

我的一组数据为 0.3

我的另一组数据是 1.3

我可以说第一组更准确,但我能说 30% 是第一组的 MAPE,130% 是第二组的 MAPE,我想我不能。那么我需要如何解释这些输出?

如果您查看 source code for the mape calculation in sklearn you will see the value is not multiplied by 100, so it is not a percentage. Therefore, while interpreting your results, you should multiply the mape value by a 100 to have it in percentage. You must also pay a close attention to your actual data if there is value close to 0 then they could cause mape to be large. For instance, you could look at the wikipedia link 关于 mape 的公式。 我建议您将实际值和预测值绘制为散点图,然后将其与线 y=x.

进行比较