一、sklearn代码
from sklearn import naive_bayes
'''
(1)alpha:平滑参数
(2)fit_prior:是否要学习类的先验概率;false-使用统一的先验概率
(3)class_prior: 是否指定类的先验概率;若指定则不能根据参数调整
(4)binarize: 二值化的阈值,若为None,则假设输入由二进制向量组成
'''
model = naive_bayes.GaussianNB() # 高斯贝叶斯
model = naive_bayes.MultinomialNB(alpha=1.0, fit_prior=True, class_prior=None)#文本分类问题常用MultinomialNB
model = naive_bayes.BernoulliNB(alpha=1.0, binarize=0.0, fit_prior=True, class_prior=None)
二、优缺点
1.优点
- 数学基础
- 适合小规模数据
- 对缺失值不敏感
2.缺点
- 需要计算先验概率
- 输入表达形式敏感