当前位置 > CPDA数据分析师 > “数”业专攻 > 数据分析培训系列(数据挖掘)--分类算法之贝叶斯(二)

数据分析培训系列(数据挖掘)--分类算法之贝叶斯(二)

来源:数据分析师 CPDA | 时间:2015-07-24 | 作者:

三 朴素贝叶斯分类器

给定类标号y,朴素贝叶斯分类器在估计类条件概率时假设属性之间条件独立。条件独立假设可形式化的表达如下:

其中每个属性集X={X1,X2,…,Xd}包含d个属性。

1 条件独立性

在深入研究朴素贝叶斯分类法如何工作的细节之前,让我们先介绍条件独立概念。设X,Y和Z表示三个随机变量的集合。给定Z,X条件独立于Y,如果下面的条件成立:

条件独立的一个例子是一个人的手臂长短和他(她)的阅读能力之间的关系。你可能会发现手臂较长的人阅读能力也较强。这种关系可以用另一个因素解释,那就是年龄。小孩子的手臂往往比较短,也不具备成人的阅读能力。如果年龄一定,则观察到手臂长度和阅读能力之间的关系就消失了。因此,我们可以得出结论,在年龄一定时,手臂长度和阅读能力二者条件独立。

X和Y之间的条件独立也可以写成类似于下面公式的形式:

 

2 朴素贝叶斯分类器如何工作

有了条件独立假设,就不必计算X的每一个组合的类条件概率,只需对给定的Y,计算每一个Xi的条件概率。后一种方法更实用,因为它不需要很大的训练集就能获得较好的概率估计。

分类测试记录时,朴素贝叶斯分类器对每个类Y计算后验概率:

由于对所有的Y,P(X)是固定的,因此只要找出使分子最大的类就足够了。在接下来的两部分,我们描述几种估计分类属性和连续属性的条件概率的方法。

 

3 估计分类属性的条件概率

对分类属性Xi,根据类y中的属性值等于xi的训练实例的比例来估计条件概率P(Xi=xi|Y=y)。例如,在下图给出的训练集中,还清贷款的7个人中3个人有房,因此,条件概率P(有房=是|no)等于3/7。同理,拖欠还款的人中单身的条件概率P(婚姻状况=单身|yes)=2/3。

tid 有房 婚姻状况 年收入 拖欠贷款
1 单身 125k
2 已婚 100k
3 单身 70k
4 已婚 120k
5 离异 95k
6 已婚 60k
7 离异 220k
8 单身 85k
9 已婚 75k
10 单身 90k

 

4 估计连续属性的条件概率

朴素贝叶斯分类法使用两种方法估计连续属性的类条件概率。

  • 可以把每一个连续的属性离散化,然后用相应的离散区域替换连续属性值。这种方法把连续属性转换成序数属性。通过计算类y的训练记录中落入Xi对应区域的比例来估计条件概率P(Xi|Y=y)。估计误差由离散策略和离散区域的数目决定。如果离散区间的数目太大,则就会因为每一个区间中训练记录太少而不能对P(Xi|Y)做出可靠的估计。相反,如果区间数目太少,有些区间就会含有来自不同类的记录,因此失去了正确的决策边界。
  • 可以假设连续变量服从某种概率分布,然后使用训练数据估计分布的参数。高斯分布通常被用来表示连续属性的类条件概率分布。该分布有两个参数,均值μ和方差σ2。对每个类yi,属性xi的类条件概率等于:

参数μij可以用类yj的所有训练记录关于Xi的样本均值()来估计。同理,参数可以用这些训练记录的样本方差()来估计。例如,考虑上表中年收入这一属性。该属性关于类no的样本均值和方差如下:

给定一测试记录,应征税的收入等于120k美元,其类条件概率计算如下:

注意,前面对类条件概率的解释有一定的误导性。下面这个公式的右侧是一个概率密度函数f(xi,μij,σij)。

因为该函数是连续的,所以随机变量xi取某一特定值得概率为0。取而代之,我们应该计算xi落在区间xi到xi+ε的条件概率,其中ε是一个很小的常数:

由于ε是每个类的一个常量乘法因子,在对后验概率P(Y|X)进行规范化的时候就抵消掉了。因此,我们仍然可以使用这个公式来估计类条件概率P(Xi|Y)。

下一节,我们将对朴素贝叶斯分类器进行举例,并进一步描述条件概率的m估计和朴素贝叶斯分类器的特征。

本文由 项目数据分析师(CPDA)整理完成,严禁转载