Feature_importances в scikit узнайте, как выбрать правильные параметры?

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

Например, есть модели с лучшими и дефолтными параметрами.

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"])

person IvanGeraskin    schedule 29.08.2016    source источник
comment
вы не используете важность функций. Это оценка того, насколько информативна каждая функция для ваших прогнозов.   -  person cel    schedule 29.08.2016
comment
Как сказал @cel, feature_importances_ просто оценит важность каждого из ваших столбцов. Это все. Кроме того, если вы просто погуглите документацию scikits-learn, вы найдете здесь демонстрация того, как вы можете читать feature_importances_.   -  person Imanol Luengo    schedule 31.08.2016


Ответы (1)


Я думаю, вы должны использовать feature_importances_ с лучшими параметрами, это модель, которую вы собираетесь использовать. В параметре по умолчанию нет ничего особенного, что заслуживает особого отношения. Что касается того, как работает feature_importances_, вы можете сослаться на ответ авторов scikit-learn здесь Как определяются feature_importances в RandomForestClassifier?

person user108372    schedule 29.08.2016