我通过绘制它们在我的三类问题上的学习曲线,比较了NLTK和Scikits中两种朴素贝叶斯实现的性能(伯努利版本,类先验不重要,因为我对每个类使用了完全相同数量的训练样本)。X轴是训练数据集大小(忽略实际值),Y轴是准确率。这是我得到的结果。
这种性能差异有何原因?
回答:
NLTK并未实现伯努利朴素贝叶斯。相反,其NaiveBayesClassifier
使用多项式NB决策规则和布尔特征相结合。
虽然这种多项式和伯努利NB部分的组合有时被推荐(例如,Jurafsky和Manning在情感分析中推荐),但它通常代表了两种方法中最差的部分,很可能是由于错误造成的结果。