我已经关注了这个Scikit-Learn example在Python中从森林估计器获取.feature_importances_
。在该示例中,使用了 ExtraTreesClassifier()
及其默认值
超参数设置 - 这意味着 max_features='auto'
。此示例的输出是 10 个特征的重要性图。
问题 1:
当我使用 max_features=2
重新运行此示例时,该图仍然显示所有 10 个特征的特征重要性。应该只显示 2 个特征的重要性吗?
问题2:
现在,我想将 ExtraTreesClassifier(max_features=2)
与 RFECV()
结合使用。来自 RFECV() docs ,它表示 RFECV()
为最佳特征分配了 1 的等级 - 我们可以在 RFECV()
的 .ranking_
属性中看到这一点。但是,如果我将估计器指定为 ExtraTreesClassifier(max_features=2)
,那么 RFECV()
是否在其估计器中使用 2 个特征,并且仅返回 2 个特征的排名?或者它是否忽略 max_features
并返回所有功能的排名?
最佳答案
max_features
指定学习算法在决定哪个特征提供树节点中的最佳分割时查看的特征数量。为每个节点随机选择特征。所以决策树仍然使用所有特征。这只是加快学习速度的一种方法。
关于python - Scikit-Learn 在 RFECV() 中手动指定 .max_features - 有多少特征得到排名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36970311/