特征重要性的分布图

时间:2019-03-13 22:25:14

标签: python matplotlib plot random-forest

我已基于此在数据框中进行了特征选择: https://towardsdatascience.com/feature-selection-using-random-forest-26d7b747597f

在第7部分中,用于绘制重要性分布图,提供了以下代码:

pd.series(sel.estimator_,feature_importances_,.ravel()).hist()

我认为应该没有语法错误:

pd.series(sel.estimator_,feature_importances_.ravel()).hist()

我收到此错误:

AttributeError:模块“ pandas”没有属性“ series”

,我认为estimator_和feature_importances_也没有定义。 有什么方法可以调试此行代码? enter image description here

1 个答案:

答案 0 :(得分:1)

pd.Series(sel.estimator_.feature_importances_.ravel()).hist()

这是“系列”而不是“系列”

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.hist.html

绘制特征重要性

importances = sel.estimator_.feature_importances_
indices = np.argsort(importances)[::-1]
# X is the train data used to fit the model 
plt.figure()
plt.title("Feature importances")
plt.bar(range(X.shape[1]), importances[indices],
       color="r", align="center")
plt.xticks(range(X.shape[1]), indices)
plt.xlim([-1, X.shape[1]])
plt.show()

这应该绘制如下的条形图,其中x轴是特征索引,y轴是特征重要性。功能按重要性顺序排序。 enter image description here