性能良好的模型是否可能R²值偏低?scikit-learn线性回归评估疑问
回归模型MSE与R²结果矛盾的原因解答
先明确两个指标的核心差异:
- MSE是绝对误差指标:计算逻辑是预测值与真实值差值的平方均值,数值大小完全由目标变量的量纲和取值范围决定,没有统一的好坏阈值。
- R²是相对拟合指标:计算公式为
R² = 1 - (模型MSE / 基准MSE),其中基准MSE指直接用训练集目标变量的均值作为所有样本预测值得到的误差,代表的是最简单的无信息预测效果,R²衡量的是你的模型比无信息预测提升了多少。
针对你的两个问题的明确回答
- 性能良好的模型不可能出现R²值很低的情况:R²接近0意味着你的模型预测效果和直接猜均值几乎没有区别,完全没捕捉到特征和目标变量之间的规律,本质就是模型拟合效果差。
- 效果较差的模型完全可能出现MSE值很低的情况:你遇到的就是典型场景。按照你给出的数值反推,你的目标变量的基准MSE约为0.0947,说明目标变量本身波动极小,哪怕是随机猜值得到的MSE也不会很高,你的模型MSE只比基准低了不到5%,所以R²只有0.05,本质还是模型效果差,只是因为目标变量本身波动小,才显得MSE数值低。
后续排查建议
- 先拉取训练集和测试集的目标变量分布,计算均值预测的基准MSE,和你模型的MSE做对比,就能直观看到模型的实际提升幅度
- 如果你的业务只要求预测的绝对误差满足要求,不需要捕捉目标变量的波动规律,那当前的MSE如果符合业务标准可以继续使用;如果需要模型能解释目标变量的变化,当前线性回归模型完全不达标,建议补充特征、尝试非线性模型。
内容的提问来源于stack exchange,提问作者Dhainik Suthar
相关产品推荐
相关产品推荐

