朴素贝叶斯算法总结
核心思想
基于贝叶斯定理:P(A|B) = P(B|A)·P(A)/P(B)
特征条件独立性假设:特征间相互独立
属于生成式模型
三大变体
1. 多项式朴素贝叶斯(MultinomialNB)
适用:离散特征(如文本词频统计)
特点:统计特征出现次数
场景:文本分类、文档分类
2. 高斯朴素贝叶斯(GaussianNB)
适用:连续特征(符合正态分布)
特点:假设特征服从高斯分布
场景:数值数据分类
3. 伯努利朴素贝叶斯(BernoulliNB)
适用:二值离散特征(0/1)
特点:关注特征是否存在
场景:文本分类(单词出现与否)
算法流程
1. 计算先验概率:P(类别)
2. 计算条件概率:P(特征|类别)
3. 应用贝叶斯公式:P(类别|特征) ∝ P(类别)·ΠP(特征|类别)
4. 选择最大后验概率的类别
实际应用
文本分类:垃圾邮件识别、情感分析
手写数字识别:load_digits数据集
推荐系统:用户行为预测
优势特点
计算效率高
适合高维数据
对小规模数据表现好
训练速度快
局限性
特征独立性假设在实际中很难满足
对输入数据形式敏感
零概率问题需要平滑处理
实践要点
文本处理需先向量化(CountVectorizer/TfidfVectorizer)
连续特征需验证正态分布假设
使用拉普拉斯平滑避免零概率问题