目标变量的值越大,RMSE 越高 - 如何减少

数据挖掘 机器学习 数据集 随机森林 数据清理 rmse
2022-03-04 09:57:46

我正在解决一个机器学习问题,我有一些带有两个整数类型自变量和一个连续因变量的数据。我正在优化 RMSE。我的验证数据有相当大的 RMSE 值。我了解到我的模型在较大的目标值上表现不佳;因此,我尝试删除具有较大值的行,但这没有帮助。所以,现在在理解错误的过程中,我计算了每个真实值的 RMSE,它是来自验证集的预测,并绘制它以了解发生大错误的位置。显然,我的模型在较大的目标值方面仍然表现不佳。

这是情节: 在此处输入图像描述

这是显示真实值和预测之间关系的图: 在此处输入图像描述 如您所见,随着值变大,我的模型的预测变得更糟。我该如何防止这种情况?

关于我的数据的一些信息(只有我能透露的):

  1. 自变量和目标之间绝对没有线性关系。所以,我使用了基于树的模型,随机森林给了我相对较好的结果。
  2. 我什至可以说,我的两个自变量都可以称为类别非常高的分类变量。
  3. 此外,自变量中有很多值,它们只出现一次。
  4. 所有变量都高度向右倾斜。(IV_1 的范围:0 到 3,700;IV_2:0 到 40;目标变量:0 到 39,000)

如何降低我的 RMSE 或做些什么会降低它?

2个回答

看起来你的预测在 750 处被钳制。

请注意,Tree 无法预测超出其训练范围的回归值。

因此,首先,请确保您的数据没有趋势。

如果我的理解是正确的,那么您有一个回归问题,具有高基数和“异常值”(或只是大数字)的分类特征。

您是如何对类别进行编码的?目标编码?还有另一种选择不是用平均值编码,而是用中值编码,在某些情况下可以表现得更好。

在这个笔记本上,你可以看到这个方法的实现和结果。