RandomForestClassifier - 尝试识别 sklearn 中的特征重要性时出现奇怪的错误?

RandomForestClassifier - Odd error with trying to identify feature importance in sklearn?

我正在尝试检索 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_)

您必须调用属性 estimator_ 才能访问 fitted 估算器(参见 docs)。请注意,您忘记了结尾的 _。所以应该是:

print(random_forest.estimator_.feature_importances_)

有趣的是,您使用 LogisticRegression 模型正确地完成了示例。