RandomForestClassifier - Странная ошибка при попытке определить важность функции в sklearn? - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь определить важность функций в модели RandomForestClassifier, получая коэффициент для каждой функции в модели,

Я запускаю здесь следующий код,

random_forest =  SelectFromModel(RandomForestClassifier(n_estimators = 200, random_state = 123))
random_forest.fit(X_train, y_train)
print(random_forest.estimator.feature_importances_)

, но получаю следующую ошибку:

NotFittedError: This RandomForestClassifier instance is not fitted yet. Call 'fit' with appropriate arguments before using this method.

Что именно я делаю не так? Вы можете видеть, что я подхожу к модели прямо перед тем, как определить важность функций, но, похоже, она не работает должным образом,

Точно так же у меня есть код ниже с моделью LogisticRegression, и он отлично работает ,

log_reg = SelectFromModel(LogisticRegression(class_weight = "balanced", random_state = 123))
log_reg.fit(X_train, y_train)
print(log_reg.estimator_.coef_)

1 Ответ

1 голос
/ 14 июля 2020

Вы должны вызвать атрибут estimator_, чтобы получить доступ к подобранной оценке (см. docs ). Обратите внимание, что вы забыли завершающий _. Так должно быть:

print(random_forest.estimator_.feature_importances_)

Интересно, что вы сделали это правильно для своего примера с моделью LogisticRegression.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...