Scikit-learn在RFECV()中手动指定.max_features - 有多少要素被排名?

时间:2016-05-01 18:24:57

标签: python python-2.7 machine-learning scikit-learn

我已在Python中使用此Scikit-Learn example从森林估算工具中获取.feature_importances_。在该示例中,ExtraTreesClassifier()使用其默认值 超参数设置 - 这意味着max_features='auto'。此示例的输出是10个要素的重要性图。

问题1:

当我使用max_features=2重新运行此示例时,该图仍显示所有10个要素的要素重要性。应该只显示2个功能的重要性吗?

问题2:

现在,我想将ExtraTreesClassifier(max_features=2)RFECV()一起使用。从RFECV() docs开始,它表示RFECV()指定排名为1的最佳要素 - 我们可以在.ranking_ RFECV()属性中看到这一点。但是,如果我将估算值指定为ExtraTreesClassifier(max_features=2),那么RFECV()是否在其估算工具中使用了2个要素,而只返回2个要素的等级?或者忽略max_features并返回所有功能的排名?

1 个答案:

答案 0 :(得分:1)

max_features指定学习算法在决定哪个特征在树的节点中提供最佳分割时所看到的特征数。为每个节点随机选择功能。因此决策树仍然使用所有功能。这只是加快学习的一种方式。