如果运行一个模型(在本例中称为clf),将得到如下所示的输出。我如何将其与用于训练分类器的特征输入联系起来?
>>> clf.feature_importances_
array([ 0.01621506, 0.18275428, 0.09963659,... ])
正如评论中提到的,看起来功能重要性的顺序是输入变量"x"的顺序(我已经将其从Pandas转换为Python本地数据结构)。我使用这段代码生成如下所示的类型列表:(feature_name, feature_importance)。
zip(x.columns, clf.feature_importances_)
您可以将结果保存在pandas数据框架中,如下所示:
pandas.DataFrame({'col_name': clf.feature_importances_}, index=x.columns).sort_values(by='col_name', ascending=False)
通过降序排序,我们得到了重要特征的提示。
顺序是你的训练/数据集的特征/属性的顺序。
你可以在它们对应的属性/特性名称旁边显示这些重要性分数,如下所示:
attributes = list(your_data_set)
sorted(zip(clf.feature_importances_, attributes), reverse=True)
输出可以是类似的:
[(0.01621506, 'feature1'),
(0.09963659, 'feature2'),
(0.18275428, 'feature3'),
...
...