对于一个探索性学期项目,我试图使用生产过程中进行的各种测量来预测质量控制测量的结果值。对于该项目,我正在测试不同的算法(LinearRegression、RandomForestRegressor、GradientBoostingRegressor,...)。我通常得到相当低的 r2 值(大约 0.3),这可能是由于特征值的分散而不是我这里真正的问题。最初,我有大约 100 个特征,我试图使用 RFE 和 LinearRegression() 作为估计器来减少这些特征。交叉验证表明,我应该将特征减少到仅 60 个。然而,当我这样做时,对于某些模型,R2 值会增加。这怎么可能?我的印象是,向模型添加变量总是会增加 R2,因此减少变量数量应该会导致 R2 值降低。有人可以对此发表评论或提供解释吗?提前致谢。
1 回答
开满天机
TA贡献1786条经验 获得超13个赞
这取决于您是否使用testing
或training
数据来测量 R2。这是衡量模型捕获的数据方差有多大的指标。因此,如果增加预测变量的数量,那么你是正确的,因为你可以更好地准确预测训练数据的位置,因此你的 R2 应该增加(减少预测变量的数量则相反)。
但是,如果您将预测变量的数量增加太多,则可能会overfit
影响训练数据。这意味着模型的方差实际上人为地很高,因此您对测试集的预测将开始受到影响。因此,通过减少预测变量的数量,您实际上可以更好地预测数据test set
,因此您的 R2 应该会增加。
添加回答
举报
0/150
提交
取消