如何从NLTK中的朴素贝叶斯分类器获取预测值列表

时间:2019-07-08 10:24:25

标签: machine-learning nlp nltk

我正在使用NLTK创建一个二进制分类器。我有客户对某产品的评论,我想预测新评论是正面的还是负面的。我的原始数据只是两列的pandas数据框。第一个是评论,第二个是正面还是负面。例如

Review          Rating
It was great!   1
It was terrible 0
Loved it        1
Would buy again 1

到目前为止,我已经根据本教程https://pythonprogramming.net/naive-bayes-classifier-nltk-tutorial/?completed=/words-as-features-nltk-tutorial/转换了这些数据,因此我的训练和测试数据现在都是如下所示的元组列表:

[({'great!': TRUE, 'it': TRUE, 'loved': FALSE,...},1),({'great!':FALSE, ...] 

我已经训练过使用:

classifier = nltk.NaiveBayesClassifier.train(training_data)

然后我使用以下方法获得了测试数据的准确性:

print("Classifier accuracy percent:" + str((nltk.classify.accuracy(classifier, testing_data))*100))

我现在正在尝试使用nltks混淆矩阵:

from nltk.metrics import confusionmatrix
testing_values = [i[1] for i in testing_data]
cm = confusionmatrix(classfier.predict(testing_data), testing_values)

但是,我似乎无法使用nltk获取混淆矩阵中的预测值列表。类似于classifier.predict(testing_data),但不是。有帮助吗?

0 个答案:

没有答案