数据挖掘--贝叶斯分类

贝叶斯分类器是一种基于统计的分类方法,用来预测诸如某个样本属于某个分类的概率有多大 它基于Bayes理论。

贝叶斯分类方法基于一个推断或者说Bayes理论基于的一个前提:贝叶斯推断

贝叶斯推断是一种统计学方法,用来估计统计量的某种性质。它是贝叶斯定理的应用。英国数学家托马斯·贝叶斯(Thomas Bayes)在1763年发表的一篇论文中,首先提出了这个定理。

贝叶斯公式:

P(B|A) = P(A|B) * P(B) / [P(A|B) * P(B) + P(A|~B) * P(~B) ]

收缩起来就是:

P(B|A) = P(AB) / P(A)

P(B|A) = P(A|B) * P(B) / P(A)

每个数据样本用一个n维特征向量表示,描述由属性对样本的n个度量。

假定有m个类。给定一个未知的数据样本X(即,没有类标号),分类法将预测X属于具有最高后验概率(条件X下)的类。即,朴素贝叶斯分类将未知的样本分配给类Ci ,当且仅当:

 

这样,我们最大化 。其最大的类Ci称为最大后验假定。根据贝叶斯定理:

 

由于P(X) 对于所有类为常数,只需要最大即可。如果类的先验概率未知,则通常假定这些类是等概率的;即,。并据此只对最大化。否则,我们最大化。类的先验概率可以用计算;其中,si是类C中的训练样本数,而s是训练样本总数。

an example

下面是一个数据集,用以具体解释贝叶斯朴素分类

Class: C1

buys_computer= ‘yes’ C2:buys_computer= ‘no’

Data sample

X =(age<=30, Income=medium, Student=yes Credit_rating= Fair)

1.Compute P(X|Ci) for each class

P(buys_computer=“yes”) = 9/14=0.643

P(buys_computer=“no”) = 5/14=0.357

P(age=“<30” | buys_computer=“yes”) = 2/9=0.222

P(income=“medium” | buys_computer=“yes”)= 4/9 =0.444

P(student=“yes” | buys_computer=“yes)= 6/9 =0.667

P(credit_rating=“fair” | buys_computer=“yes”)=6/9=0.667

P(age=“<30” | buys_computer=“no”) = 3/5 =0.6

P(income=“medium” | buys_computer=“no”) = 2/5 = 0.4

P(student=“yes” | buys_computer=“no”)= 1/5=0.2

P(credit_rating=“fair” | buys_computer=“no”)=2/5=0.4

X=(age<=30 , income =medium, student=yes, credit_rating=fair)

2. P(X|Ci) 

P(X|buys_computer=“yes”)= 0.222 x 0.444 x 0.667 x 0.667 =0.044

P(X|buys_computer=“no”)= 0.6 x 0.4 x 0.2 x 0.4 =0.019

3. P(X|Ci)*P(Ci ) 

P(X|buys_computer=“yes”) * P(buys_computer=“yes”)=0.044 x 0.643=0.028

P(X|buys_computer=“no”) * P(buys_computer=“no”)= 0.019 x 0.357=0.007

4.Therefore, X belongs to class “buys_computer=yes”

 

 

 

 

拉普拉斯修正

 

Compute P(X|Ci) for each class

P(buys_computer=“yes”) = 9+1/14+2

P(buys_computer=“no”) = 5+1/14+2

 

 

P(age=“31…40” | buys_computer=“yes”) = 4+1/9+3

P(income=“low” | buys_computer=“yes”)= 3+1/9 +3

P(student=“no” | buys_computer=“yes)= 3+1/9+2

P(credit_rating=“fair” | buys_computer=“yes”)=6+1/9+2

 

 

P(age=“31…40” | buys_computer=“no”) = 0+1/5+3

P(income=“low” | buys_computer=“no”) = 1+1/5+3

P(student=“no” | buys_computer=“no”)= 4+1/5+2

P(credit_rating=“fair” | buys_computer=“no”)=2+1/5+2

 

 

X=(age=“30…40” , income =low, student=no, credit_rating=fair)

 

 

 

posted @ 2019-12-02 16:19  hupcMaster  阅读(969)  评论(0编辑  收藏  举报