我面临一个奇怪的问题。我使用 nltk.classify 中的 NaiveBayesClassifier 对文本进行分类,我的问题是它显示了令人难以置信的 0.9966 精度。我确信这不可能是真的,但我的代码中仍然没有错误。我的输入量很大,40.000 个句子用于训练,80.000 个用于测试。
我正在构建一组由所有负/正/中性标记的训练文本组成的训练特征
trainFeats = negFeats + posFeats + neutralFeats
以及由所有负/正/中性标记的训练文本组成的一组测试特征
testFeats = negFeats + posFeats + neutralFeats
之后我在 trainFeats 上训练分类器
classifier = NaiveBayesClassifier.train(trainFeats)
并在所有 testFeats 上进行测试
print 'accuracy:', nltk.classify.util.accuracy(classifier, testFeats)
这是正常的结果,我应该想当然吗?因为它表现得非常好。谢谢!