在随机森林中,如果我添加相关的特征会发生什么?

数据挖掘 随机森林
2022-03-07 07:10:12

我正在训练一个随机森林,试图预测未来商店在地理区域的市场份额。对于这些领域,我有很多功能,其中一些功能可以说明一件事情的相似但不同的事情。

例如,我知道总数accommodations在该地区,我还有 5 个其他列,它们都以下列方式链接:

main accommodations+secondary accommodations+holiday accommodations=houses+flats=accommodations

我觉得将它们全部包含在我的模型中是错误的......但包括它们可能很重要......关于我应该如何处理这个问题的任何提示?

包括在内是个好主意吗accommodations作为绝对值并包括所有其他五个,但作为百分比(accommodations) 而不是绝对值?

以类似的方式,我也有households该地区的total income该地区的,以及average income该地区的家庭(因此householdsaverage income=total income)。我感觉使用平均值而不是总收入会更好,但我怎么能确定我是对的?

(我想我可以只使用平均收入、只使用总收入和两者来训练三个随机森林,看看它们在交叉验证中的表现如何,但有没有我应该知道的经验法则可以让我走得更快?)

(如果它是相关的,我正在使用RrandomForest包)

1个回答

随机森林不会像线性回归模型那样受到相关变量的影响。随机森林在每次拆分时从变量子集中随机选择(因此在“随机森林”中称为“随机”)。这意味着在训练树时,相关变量不太可能一起出现。但即使相关变量出现在同一个随机变量子集中,这仍然不是什么大问题,因为变量没有分配系数。

相关变量主要是线性模型的问题,线性模型在训练期间计算系数时试图保持所有其他变量不变。对于树和基于树的算法(如随机森林和梯度提升),变量选择过程要简单得多。当训练随机森林并评估树的分裂时,算法将简单地选择最能减少树的特定分裂错误的特征。一旦选择了一个变量,就没有系数,只有一个大于/小于分割点,所以“爆炸系数”的问题不适用。