RandomForestRegressor和feature_importances_错误

时间:2017-11-04 13:47:17

标签: python scikit-learn random-forest feature-extraction grid-search

我正在努力从RandomForestRegressor中取出功能重要性,我得到了:

  

AttributeError:'GridSearchCV'对象没有属性   'feature_importances _'。

任何人都知道为什么没有属性?根据文档,应该存在这个属性吗?

完整代码:

from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import GridSearchCV

#Running a RandomForestRegressor GridSearchCV to tune the model.
parameter_candidates = {
    'n_estimators' : [650, 700, 750, 800],
    'min_samples_leaf' : [1, 2, 3],
    'max_depth' : [10, 11, 12],
    'min_samples_split' : [2, 3, 4, 5, 6]
}

RFR_regr = RandomForestRegressor()
CV_RFR_regr = GridSearchCV(estimator=RFR_regr, param_grid=parameter_candidates, n_jobs=5, verbose=2)
CV_RFR_regr.fit(X_train, y_train)

#Predict with testing set
y_pred = CV_RFR_regr.predict(X_test)

#Extract feature importances
importances = CV_RFR_regr.feature_importances_

1 个答案:

答案 0 :(得分:6)

您正在尝试在GridSearchCV对象上使用该属性。它不在那里。您实际需要做的是访问进行网格搜索的估算器。

通过以下方式访问该属性:

importances = CV_RFR_regr.best_estimator_.feature_importances_