2016-08-05 62 views
1

我在Scikit-Learn中构建了一个管道,其中包含两个步骤:一个用于构建要素,另一个用于创建RandomForestClassifier。如何从Sklearn管道中提取要素重要性

虽然我可以保存该管道,但可以查看各个步骤以及在这些步骤中设置的各种参数,我希望能够从结果模型中检查特征重要性。

这可能吗?

回答

7

啊,是的。

您列出要检查估计识别步骤:

例如:

pipeline.steps[1] 

将返回:

('predictor', 
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini', 
      max_depth=None, max_features='auto', max_leaf_nodes=None, 
      min_samples_leaf=1, min_samples_split=2, 
      min_weight_fraction_leaf=0.0, n_estimators=50, n_jobs=2, 
      oob_score=False, random_state=None, verbose=0, 
      warm_start=False)) 

然后,您可以直接访问模型的步骤:

pipeline.steps [1] [1] .feature_importances_

+0

为了获得这些特性的名称,你可以看看pipe.steps [0] [1] .get_feature_names() – Devon