在 scikit-learn 中使用随机森林时的 feature_importances_

Posted

技术标签:

【中文标题】在 scikit-learn 中使用随机森林时的 feature_importances_【英文标题】:feature_importances_ when using random forests in scikit-learn 【发布时间】:2015-12-01 04:03:52 【问题描述】:

我在 scikit-learn 中使用随机森林。我使用了 feature_importances_ 来查看每个特征在预测目标中的重要性。但我不明白这个分数是多少。谷歌搜索 feature_importances_ 说这是平均减少杂质。但我仍然很困惑这是否与平均减少 gigi 杂质相同。如果是这样,如何计算树木和随机森林?除了数学,我还想真正理解它的含义。

【问题讨论】:

有人可以帮忙吗? 简短的回答是:feature_importances_ 让您了解哪些功能对于在给定节点正确拆分数据更为关键。换句话说,更高的分数意味着更有用的特征,它更好地分割数据。如果某个功能的分数非常低,您可能会删除它。然而,大量特征(与树的数量成正比)将是可取的,因为这将允许生长非常不同的树(不相关),从而产生更通用的分类器/回归器。 找几张幻灯片here(14 和 15)谈论 不是数学上的 【参考方案1】:

feature_importances_ 函数将告诉您每个特征对预测的贡献程度(信息增益)

随机森林根据基尼系数、信息增益、卡方或熵对自变量或特征进行分类。那些对信息增益贡献最大的特征将获得高分。

【讨论】:

以上是关于在 scikit-learn 中使用随机森林时的 feature_importances_的主要内容,如果未能解决你的问题,请参考以下文章

使用 scikit-learn 并行生成随机森林

使用 Scikit-Learn 在 Python 中绘制随机森林的树

如何在 scikit-learn 中控制随机森林中的特征子集?

如何在 scikit-learn 中保存随机森林?

scikit-learn 随机森林过多的内存使用

在 scikit-learn 中使用多标签随机森林的没有标签分配的样本