在“随机森林”之前使用特征选择是否有意义?


Answers:


6

是的,它确实很普遍。如果您期望超过50%的功能,即使没有冗余,也完全没有用。例如,randomForest包具有包装函数rfcv(),它将预训练randomForest并忽略最不重要的变量。rfcv函数参考本章。请记住,将特征选择+建模嵌入外部交叉验证循环中,以避免过分乐观的结果。

[在下面编辑]

我可以温和地“完全没用”。单个随机森林通常不会像使用套索正则化进行的回归那样完全忽略特征,即使这些(在模拟后的情况下)是随机特征。决策树按要素划分是通过本地标准在数千或数百万个节点中的任意一个中选择的,以后无法撤消。我不主张将特征缩减到一个上等的选择,但是对于某些数据集,使用此变量选择可能会大大提高预测性能(通过重复的外部交叉验证进行估算)。一个典型的发现是,保留100%的功能或仅保留少数几个功能的工作效果会较差,然后可能会有一个大致中等的范围,具有相似的估计预测性能。

也许是一条合理的经验法则:当对于某个给定的问题,希望像套索一样的正则化效果比像岭一样的正则化效果更好时,则可以尝试对随机森林进行预训练,并根据内部包外特征对特征进行排序交叉验证变量的重要性,然后尝试删除一些最不重要的功能。变量重要性量化了在训练后,预测之前对给定特征进行置换(值重排)后,交叉验证模型预测减少了多少。人们永远不会确定是否应该包含一项特定功能,但是用5%最高的功能比5%最低的功能更容易预测。

从实际的角度来看,如果每个功能的购置成本固定不变,则可以减少计算运行时间,并可以节省一些资源。


5
数据告诉您某个功能无用的能力受到严重限制,我希望您引用的选项已集成到随机森林算法中。在将候选特征发送到随机森林算法之前,不宜进行特征的前期删除。
Frank Harrell

@FrankHarrell,我试图阐述我的答案
Soren Havelund Welling

2
我不同意您出于不同目的选择不同的评分规则。不正确的精度评分规则会导致选择错误的特征并赋予它们错误的权重。更明显的是某些计分规则中的任意性。最好选择一个最佳的预测模型,然后使用可靠的决策理论使用该模型做出最佳决策。这是通过将效用函数应用于连续预测来完成的。
Frank Harrell

1
@FrankHarrell-您能给这个问题一个详细的答案吗?显然,您有一些反对进行功能选择的强烈理由……
ihadanny

1
了解这一点的最佳方法是对尝试进行特征选择的过程进行严格的引导内部验证,而不进行不进行特征选择的过程。当不尝试选择特征时,预测性歧视(使用正确的准确性评分规则甚至使用指数(ROC区域)进行测量)通常会更好。特征选择几乎总是任意的。C
Frank Harrell
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.