18.3 为具有二元特征的数据训练朴素贝叶斯分类器
问题描述
你有一些具有二元特征的数据,需要训练一个朴素贝叶斯分类器。
解决方案
使用伯努利朴素贝叶斯分类器:

讨论
伯努利朴素贝叶斯分类器假设所有的特征都是二元分类的,这样它们就只有两种值(比如,经过one-hot编码的名义上的分类特征)。像它的多项式“表亲”一样,伯努利朴素贝叶斯经常被用于文本分类,这时特征矩阵表示的是某个词是否在一个文档中出现了。和MultinomialNB一样,BernoulliNB还有一个平滑超参数alpha,我们会使用模型选择技术来调校它。最后,如果想用先验概率的话,可以使用class_prior参数,它带有一个列表,里面包含每个分类的先验概率值。如果想指定统一的先验概率,可以设置fit_prior=False:
model_uniform_prior = BernoulliNB(class_prior=None, fit_prior=False)



本书评论