机器学习算法(二): 朴素贝叶斯(Naive Bayes)
1. 实验室介绍
1.1 实验环境
1. python3.7
2. numpy >= '1.16.4'
3. sklearn >= '0.23.1'
1.2 朴素贝叶斯的介绍
朴素贝叶斯算法(Naive Bayes, NB) 是应用最为广泛的分类算法之一。它是基于贝叶斯定义和特征条件独立假设的分类器方法。由于朴素贝叶斯法基于贝叶斯公式计算得到,有着坚实的数学基础,以及稳定的分类效率。NB模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。当年的垃圾邮件分类都是基于朴素贝叶斯分类器识别的。
什么是条件概率,我们从一个摸球的例子来理解。我们有两个桶:灰色桶和绿色桶,一共有7个小球,4个蓝色3个紫色,分布如下图:
从这7个球中,随机选择1个球是紫色的概率p是多少?选择过程如下:
- 先选择桶
- 再从选择的桶中选择一个球
p ( 球 = 紫 色 ) = p ( 选 择 灰 桶 ) ⋅ p ( 从 灰 桶 中 选 择 紫 色 ) + p ( 选 择 绿 桶 ) ⋅ p ( 从 灰 桶 中 选 择 紫 色 ) = 1 2 ⋅ 2 4 + 1 2 ⋅ 1 2 p(球=紫色) \\ =p(选择灰桶) \cdot p(从灰桶中选择紫色) + p(选择绿桶) \cdot p(从灰桶中选择紫色) \\ =\frac{1}{2} \cdot \frac{2}{4} + \frac{1}{2} \cdot \frac{1}{2} p(球=紫色)=p(选择灰桶)⋅p(从灰桶中选择紫色)+p(选择绿桶)⋅p(从灰桶中选择紫色)=21