【问题标题】:Most important features Gaussian Naive Bayes classifier python sklearn最重要的特征高斯朴素贝叶斯分类器python sklearn
【发布时间】:2019-04-29 14:05:57
【问题描述】:

我正在尝试为我的 GaussianNB 模型获取最重要的功能。来自How to get most informative features for scikit-learn classifiers? How to get most informative features for scikit-learn classifier for different class? 的代码仅在我使用 MultinomialNB 时有效。否则,我如何计算或检索两个类(Fault = 1 或 Fault = 0)中最重要的特征? 我的代码是:(不适用于文本数据)

df = df.toPandas()

X = X_df.values
Y = df['FAULT'].values.reshape(-1,1)


gnb = GaussianNB() 
y_pred = gnb.fit(X, Y).predict(X)

print(confusion_matrix(Y, y_pred))
print(accuracy_score(Y, y_pred))

其中 X_df 是一个数据框,其中包含我的每个功能的二进制列。

【问题讨论】:

标签: python scikit-learn classification feature-selection naivebayes


【解决方案1】:

这就是我试图理解高斯 NB 的重要特征的方式。 SKlearn Gaussian NB 模型,包含参数 theta 和 sigma,它们是每个类的每个特征的方差和均值(例如:如果是二进制分类问题,则 model.sigma_ 将返回两个数组和每个类每个特征的平均值) .

neg = model.theta_[0].argsort()
print(np.take(count_vect.get_feature_names(), neg[:10]))

print('')

neg = model.sigma_[0].argsort()
print(np.take(count_vect.get_feature_names(), neg[:10]))

这就是我尝试使用 scikit-learn 库中的高斯朴素贝叶斯获取类的重要特征的方式。

【讨论】:

  • 您介意详细说明 theta 和 sigma 与特征重要性的关系吗?
猜你喜欢
  • 2015-08-27
  • 2019-06-04
  • 2017-11-13
  • 2020-11-06
  • 2018-12-15
  • 2017-01-10
  • 2019-09-14
  • 2016-09-28
相关资源
最近更新 更多