You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sklearn 0.24版本MAPE函数中eps含义及结果转百分比方法

sklearn MAPE函数相关问题解答

1. 文档中eps的含义

eps是epsilon的缩写,是scikit-learn为了避免除零错误设置的极小浮点阈值,默认取值为双精度浮点数的最小正非零值,约等于2.22e-16。
MAPE的计算逻辑为单样本绝对百分比误差的均值,当某条样本的真实值绝对值小于等于eps时,计算该样本误差的分母会被替换为eps,避免出现除以零的报错,这也是文档中提到MAPE取值范围上限为1/eps的原因。

本函数输出并非[0, 100]区间的百分比形式,而是取值范围为[0, 1/eps]的数值。

2. 转换为百分比形式的方法

sklearn的mean_absolute_percentage_error返回值为误差比例的均值,直接将返回值乘以100即可得到百分比形式的MAPE:
百分比MAPE = 函数返回值 × 100

示例代码如下:

from sklearn.metrics import mean_absolute_percentage_error

# 示例真实值、预测值
y_true = [10, 20, 30, 40]
y_pred = [11, 18, 32, 37]

# 获取比例形式MAPE
raw_mape = mean_absolute_percentage_error(y_true, y_pred)
# 转换为百分比
percent_mape = raw_mape * 100

print(f"比例MAPE:{raw_mape:.4f},百分比MAPE:{percent_mape:.2f}%")

需要注意:转换后的百分比MAPE可能超过100%,属于正常情况,代表预测值和真实值的偏差较大;如果数据集存在接近0的真实值,最终结果可能出现极大值,是eps兜底机制导致的正常现象。

内容的提问来源于stack exchange,提问作者hojichalatte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 04:15:09