浅谈朴素贝叶斯算法
一. 对朴素贝叶斯的理解
- 朴素贝叶斯算法是通过考虑特征概率来预测分类。之所以有朴素二字,是因为需要对于所研究的特征维度进行一个假设各个特征维度之间是相互独立的,则朴素贝叶斯成立。
- 对于假设独立性来说,很多情况下属性之间相关性较大时,分类效果不坏。
- 这一假设使得朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。
二. 朴素贝叶斯的三个阶段
朴素贝叶斯分类分为三个阶段:
第一阶段——准备工作阶段,这个阶段的任务是为朴素贝叶斯分类做必要的准备,主要工作是根据具体情况确定特征属性,并对每个特征属性进行适当划分,然后由人工对一部分待分类项进行分类,形成训练样本集合。这一阶段的输入是所有待分类数据,输出是特征属性和训练样本。这一阶段是整个朴素贝叶斯分类中唯一需要人工完成的阶段,其质量对整个过程将有重要影响,分类器的质量很大程度上由特征属性、特征属性划分及训练样本质量决定。
第二阶段——分类器训练阶段,这个阶段的任务就是生成分类器,主要工作是计算每个类别在训练样本中的出现频率及每个特征属性划分对每个类别的条件概率估计,并将结果记录。其输入是特征属性和训练样本,输出是分类器。这一阶段是机械性阶段,根据前面讨论的公式可以由程序自动计算完成。
第三阶段——应用阶段。这个阶段的任务是使用分类器对待分类项进行分类,其输入是分类器和待分类项,输出是待分类项与类别的映射关系。这一阶段也是机械性阶段,由程序完成。
三. 实例展示
ID | 血型 | 性格 | EQ | 结果 |
---|---|---|---|---|
1 | A | B | 11 | 坏 |
2 | B | A | 11 | 坏 |
3 | A | C | 12 | 好 |
4 | B | A | 12 | 坏 |
5 | B | B | 13 | 好 |
6 | B | C | 13 | 坏 |
现在来了一条数据为 A B 12 预测它的结果
测该条件下坏结果的朴素贝叶斯公式
P ( 好 ∣ A 、 B 、 12 ) = P ( A 、 B 、 12 ∣ 好 ) P ( 好 ) P ( A 、 B 、 12 ) P(好|A、B、12)=\frac{P(A、B、12|好)P(好)}{P(A、B、12)} P(好∣A、B、12)=P(A、B、12)P(A、B、12∣好)P(好)
要先算出坏结果的概率:
P ( 好 ) = 2 / 6 = 1 / 3 P(好) = 2/6 = 1/3 P(好)=2/6=1/3
血型 A的坏结果概率:
P ( A ∣ 好 ) = 1 / 6 P(A|好) = 1/6 P(A∣好)=1/6
性格 B的坏结果概率:
P