如何对线性回归输出的非分类整数预测值进行取整?
针对MAE评估的最优取整策略
首先,既然你用平均绝对误差(MAE)作为评估指标,最优的取整方式就是将回归输出的实数预测值四舍五入到最近的整数,同时要把结果截断在0-10的范围内(避免超出目标变量的取值区间)。下面具体解释原因和细节:
核心逻辑:匹配MAE的优化目标
MAE的本质是最小化预测值与真实值之间的绝对差之和。对于单个实数预测值x,我们需要找到一个整数z(0≤z≤10),使得|z - y_true|的期望最小。由于你的线性回归模型输出的x是对y_true的最优估计(在MAE损失下,线性回归的解是条件中位数;即使是普通最小二乘的线性回归,x也是无偏估计),最小化|z - x|就能间接最小化|z - y_true|的期望——而四舍五入恰好是让|z - x|最小的整数选择。半整数的特殊情况
当预测值是半整数(比如2.5、7.5这类),此时取相邻的两个整数(比如2和3)的MAE是完全相同的。这种情况下你可以根据业务需求选择:- 如果希望避免高估,就取下边的整数(比如2.5取2);
- 如果希望避免低估,就取上边的整数(比如2.5取3);
- 也可以采用银行家舍入法(比如Python的
round()默认逻辑:偶数半整数取偶,奇数半整数取奇),不过从MAE角度来说所有选择的表现都一致。
边界值处理
因为目标变量y的范围是0-10,所以当预测值小于0时直接取0,大于10时直接取10——否则超出范围的取整结果会带来不必要的误差(比如预测值是-0.2,取0比取负数更符合真实值的可能范围)。
举几个直观例子:
- 预测值3.2 → 取3,绝对误差最小;
- 预测值5.7 → 取6;
- 预测值9.9 → 取10;
- 预测值0.1 → 取0;
- 预测值4.5 → 取4或5均可,MAE表现无差异。
内容的提问来源于stack exchange,提问作者Fanta
相关产品推荐
相关产品推荐

