LN_*_*N_P 5 python classification feature-selection scikit-learn naivebayes
我正在尝试为我的GaussianNB模型获得最重要的功能。这里的代码如何获得scikit-learn分类器的大多数信息功能? 还是在这里如何获得scikit-learn分类器针对不同类别的大多数信息功能?仅在我使用MultinomialNB时有效。否则,如何为我的两个类(故障= 1或故障= 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))
Run Code Online (Sandbox Code Playgroud)
其中X_df是一个数据框,其中包含我的每个功能的二进制列。
这就是我试图理解高斯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]))
Run Code Online (Sandbox Code Playgroud)
这就是我尝试使用 scikit-learn 库中的高斯朴素贝叶斯来获取该类的重要特征的方法。
| 归档时间: |
|
| 查看次数: |
1127 次 |
| 最近记录: |