如何在Python中使用带有朴素贝叶斯的混淆矩阵?

时间:2018-01-23 23:09:29

标签: python nlp nltk

我想用朴素贝叶斯分类器对5个类别进行分类,我可以做,但我不能创建混淆矩阵。我研究了很多,但我找不到。这些是我的代码,请教我如何在这些代码上创建一个混淆矩阵:

nb_classifier = NaiveBayesClassifier.train(trainData)
print(accuracy(nb_classifier, testData))
#Output is 0.8152876648699048

print(nb_classifier.labels())
#Output is ['cat1', 'cat2', 'cat3', 'cat4', 'cat5']

1 个答案:

答案 0 :(得分:0)

使用以下方法构建分类器可能是值得的。混淆矩阵也包括在内。

from sklearn.naive_bayes import MultinomialNB # or any other NB model
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix

nb_classifier = MultinomialNB()

nb_classifier.fit(X_train, y_train)

y_pred = nb_classifier.predict(X_test)

acc_score = accuracy_score(y_test, y_pred)
conf_mat = confusion_matrix(
        y_test, y_pred, labels = ['cat1', 'cat2', 'cat3', 'cat4', 'cat5'])

print(acc_score)
print(conf_mat)