XGBoost回归RMSE个体预测



我有一个简单的回归问题,有两个自变量和一个因变量。我尝试了从统计模型和sk-learn的线性回归,但我得到了最好的结果(R ^ 2和RMSE)与XGBoost回归器。

在新的数据集上,RMSE仍然与早期的结果一致,但个体预测非常不同。

例如,RMSE为1000,个体预测从20到3000不等。因此,预测要么几乎完全准确,要么在少数情况下严重偏离,但我不知道为什么会这样。

我的问题是,个人预测的这种差异的原因是什么?

在用新数据测试模型时,得到一些错误的预测是正常的。由于RMSE是1000,这意味着,平均而言,实际值和预测值之间的差的根是1000。你可以得到预测得很好的值,也可以得到平方误差很大的值。原因可能是过拟合。也可能是新数据集包含的数据与模型训练时使用的数据非常不同。但是由于RMSE与早期的结果一致,我理解训练集的RMSE也在1000左右。所以我不一定看到一个测试集的问题。我要做的是完成训练数据的预处理步骤,并确保它们正确完成:

  • 规范数据并消除可能的偏度
  • 检查独立变量之间的共线性(你只有2个,所以它应该容易做到)
  • 检查自变量是否有可接受的方差。如果你的变量在每个新数据点上变化不大,那么它们对于解释因变量可能是无用的。

顺便说一句,你的回归的R2分数是多少?它应该告诉你目标变量的可变性有多少是由你的模型解释的。R2分数低表明所使用的回归量在解释目标变量时不是很有用。

可以使用sklearn函数StandardScaler()对数据进行标准化。

相关内容

  • 没有找到相关文章

最新更新