【问题标题】:Get feature importance for the model trained using RandomizedSearchCV and Multinomial Naiye Bayes获取使用 RandomizedSearchCV 和多项式 Naiye Bayes 训练的模型的特征重要性
【发布时间】:2021-09-21 22:42:01
【问题描述】:

拟合模型后,无法得到特征重要性。我已经完成了以下步骤:

model_bow = RandomizedSearchCV(MultinomialNB(class_prior=[0.5,0.5]),param_distributions={'alpha':alpha},scoring='roc_auc',n_iter=10,return_train_score=True,)

model_bow.fit(X_train_en_bow,y_train)

model_bow.best_params_ 给我best value is {'alpha': 0.5}

现在如果我想使用model_bow.estimator.feature_log_prob_ 来获取特征重要性,它会给出如下错误。

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-40-cc27acc11117> in <module>
----> 1 model_bow.estimator.feature_log_prob_()

AttributeError: 'MultinomialNB' object has no attribute 'feature_log_prob_'

当我打印 model_bow 时它会显示

                   param_distributions={'alpha': [1e-05, 0.0001, 0.001, 0.01,
                                                  0.1, 0.5, 1, 5, 10, 50,
                                                  100]},
                   return_train_score=True, scoring='roc_auc')

请告知我在哪里失踪!

【问题讨论】:

  • feature_log_prob_ 是一个属性,而不是一个方法。使用时尝试删除()
  • 已经没有( )了。
  • 它在回溯中。您可以在访问属性的位置添加实际代码吗?

标签: python-3.x scikit-learn sklearn-pandas naivebayes


【解决方案1】:

要获得特征重要性,请使用训练的最佳模型

model_bow.best_params_

然后您可以调用方法coef_(即将贬值)或feature_log_prob_ 来获取功能重要性。

【讨论】:

    猜你喜欢
    • 2016-05-11
    • 2021-11-11
    • 2020-12-29
    • 1970-01-01
    • 2019-10-05
    • 2018-12-09
    • 2019-07-22
    • 2019-08-03
    • 2021-12-26
    相关资源
    最近更新 更多