多重共线性如何影响随机森林分类器中的特征重要性?

机器算法验证 特征选择 Python 随机森林 多重共线性 scikit-学习
2022-03-12 09:40:23

我有一个随机森林二元分类器,但结果feature importances有些不稳定。这是我想知道的:RandomForestClassifierfeature_importances_中的多重共线性是否混乱

我正在使用sci-kit learnsklearn在 python 中)作为随机森林分类器,并获得特征重要性。

为了验证feature_importances_sklearn 中 RandomForestClassifier 的输出,我每次都尝试删除最重要的特征(即特征重要性最高的特征,以查看第二重要的特征是否会在下一次迭代中作为最重要的特征出现。 ...但是,这从未发生过。

这样做的结果非常不稳定,并且没有保留特征重要性的顺序。在每次迭代中,都有一个具有极高重要性的特征(例如 0.7 或 0.8),其他所有特征都在 0.1 和 0.0001 之间。有 9 个功能可以启动。第二高的特征重要性在下一次迭代中从未出现过最重要的

是否multicollinearity弄乱了功能的重要性,或者我还缺少其他什么东西弄乱了它?

1个回答

是的,多重共线性肯定会影响随机森林模型中的变量重要性。直观地说,如果不同变量具有相同或相似的潜在影响,则很难对它们的相对重要性进行排名,这由多重共线性所暗示。也就是说,如果我们可以通过测量多个变量来了解潜在的影响,那么很难说是哪个导致了这种影响,或者它们是否是第三种影响的共同症状。

关于随机森林的这一特性(以及更普遍的回归问题)的讨论可以在以下讲义中找到,以及其他来源:

http://www-bcf.usc.edu/~shihs/shih_randomforests.pdf

对此进行调整的一种常见方法是在变量选择阶段 - 通过选择要保留的多重共线性变量之一,同时删除其他变量。当然,这也有其自身的潜在问题——通过消除潜在的部分独特影响。