我已经使用 NLTK 朴素贝叶斯方法训练了一个垃圾邮件分类器。垃圾邮件集和非垃圾邮件集都有 20,000 个单词在训练中的实例。
我注意到,当遇到未知功能时,classifier
它会0.5
产生垃圾邮件的可能性:
>>> print classifier.prob_classify({'unkown_words':True}).prob('spam')
0.5
我知道这Laplace Smoothing
在贝叶斯分类中被称为。但是,我想将未知特征的垃圾邮件概率设置为,0.4
因为未知特征更可能来自普通用户。如何使用 NLTK 实现它?