朴素贝叶斯算法介绍
- 1 朴素贝叶斯算法介绍
- 1.1 算法介绍
- 1.2 算法逻辑介绍
- 1.3 条件概率与全概率公式
- 1.4 贝叶斯推断
- 1.5 举例
- 1.6 scikit-learn 的朴素贝叶斯类库
- 1.7 优缺点
- 2 相关代码
- 2.1 参考代码
- 2.2 实验结果
1 朴素贝叶斯算法介绍
1.1 算法介绍
贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。下面从基本的概念叙述朴素贝叶斯分类概念:随机试验是在相同条件下对某随机现象进行的大量重复观察。随机事件是在随机试验中,可能出现也可能不出现,而在大量重复试验中具有某种规律性的事件叫做随机事件。贝叶斯定理是关于随机事件
A 和 B 的条件概率(或边缘概率)的一则定理。其中 P(A|B)是在 B 发生的情况下 A 发生的可能性。朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。
最为广泛的两种分类模型是决策树模型(DTM)和朴素贝叶斯模型(NBM)。和决策树模型相比,朴素贝叶斯分类器发源于古典数学理论,有坚实的数学基础,具有稳定的分类效果。同时,朴素贝叶斯模型所需的估计参数很少,对缺失数据不太敏感,算法相对较简单。
1.2 算法逻辑介绍
对于分类问题,其实谁都不会陌生,日常生活中我们每天都进行着分类过程。例如,当你看到一个人,你的脑子下意识判断他是男是女;再比如我们在学习的时候说某个老师讲课讲得好还是不好等,其实这就是一种分类操作。
在前面的概述中说了,朴素贝叶斯分类发源于古典数学理论,有坚实的数学基础,那么它的数学表述是什么呢?
从数学角度来说,分类问题的定义如下:已知集合 C=y1,y2,. . . yn和 I=x1,x2,x3 . . .xn,确定映射规则 y=f(),使任意 xi属于集合 I 有且仅有一个 yi属于集合 C,使得 yi属于 f(xi)成立。其中 C 叫做类别集合,其中每一个元素是一个类别,而 I 叫做项集合(特征集合),其中每一个元素是一个待分类项,f 叫做分类器。分类算法的任务就是构造分类器 f。贝叶斯算法公式是什么呢?
1.3 条件概率与全概率公式
条件概率(conditional probability),指在已知事件 B 发生的情况下,事件 A 发生的概率,用 P(A∣B)来表示
根据上图可知:在已知事件 B 发生的情况下,事件 A 发生的概率就是 P(A∩B)除以 P(B)。
同样的思想,我们可以到的另一个公式:
对应就可以得到:
对于全概率公式,如果事件 { A1, A2,…, An}构成一个完备事件且都有正概率,那么对于任意一个事件 B 则有:
P(B)=P(BA1)+P(BA2)+. . .+P(BAn)=P(B|A1)P(A1)+P(B|A2)P(A2)+. . . +P(B|An)P(An)
也就是:
1.4 贝叶斯推断
根据条件概率和全概率公式,可以得到贝叶斯公式如下:
P(A) 称为先验概率(prior probability),即在 B 事件发生之前,我们对 A 事件概率的一个判断;P(A∣B) 称为后验概率(posterior probability),即在 B 事件发生之后,我们对 A 事件概率