我正在使用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),但不是。有帮助吗?