2016-08-29 3 views
-2

Моя задача - понять, какие функции (расположенные в столбцах X-набора данных) являются лучшими в прогнозировании целевой переменной - y. Я решил использовать feature_importances_ в RandomForestClassifier. RandomForestClassifier имеет лучший результат (aucroc), когда max_depth = 10 и n_estimators = 50. Правильно ли использовать feature_importances_ с лучшими параметрами или параметрами по умолчанию? Зачем? Как работает feature_importances_?Feature_importances в scikit узнать, как выбрать правильные параметры?

К моделям с лучшими параметрами и параметрами по умолчанию.

1)

model = RandomForestClassifier(max_depth=10,n_estimators = 50) 
model.fit(X, y) 
feature_imp = pd.DataFrame(model.feature_importances_, index=X.columns, columns=["importance"]) 

2)

model = RandomForestClassifier() 
model.fit(X, y) 
feature_imp = pd.DataFrame(model.feature_importances_, index=X.columns, columns=["importance"]) 
+1

Вы не используете функции. Это оценка того, насколько информативна каждая функция для ваших прогнозов. – cel

+0

Как сказал @cel, 'feature_importances_' просто оценит важность каждого из ваших столбцов. Это все. Кроме того, если вы просто изучаете документацию Google, вы найдете здесь [http://scikit-learn.org/stable/auto_examples/ensemble/plot_forest_importances.html] демонстрацию того, как вы можете * читать * 'feature_importances_'. –

ответ

-1

Я думаю, вы должны использовать feature_importances_ с лучшими параметрами, это модель, которую вы собираетесь использовать. Нет ничего особенного в параметре по умолчанию, который заслуживает специального лечения. Что касается функций feature_importances_, вы можете ссылаться на ответ авторов scikit-learn здесь How are feature_importances in RandomForestClassifier determined?

Смежные вопросы