朴素贝叶斯计算

 

下面我们用上图数据集训练一个朴素贝叶斯分类器,对测试例X进行分类:

X={age=youth,income=medium,student=yes,credit=fair}

 

首先估计类先验概率P(Ci):

 

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

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

 

然后,为每个属性估计条件概率P(X | Ci):

 

P(age=youth│buys_computer=yes)=2/9=0.222           

P(age=youth│buys_computer=no)=3/5=0.6

P(income=medium│buys_computer=yes)=4/9=0.444        

P(income=medium│buys_computer=no)=2/5=0.4

P(sutdent=yes│buys_computer=yes)=6/9=0.667          

P(sutdent=yes│buys_computer=no)=1/5=0.2

P(credit_rating=fair│buys_computer=yes)=6/9=0.667     

P(credit_rating=fair│buys_computer=no)=2/5=0.4

 

然后使用上面的条件概率,得到:

P(X│buys_computer=yes)=0.222 * 0.444 * 0.667 * 0.667 = 0.044

P(X│buys_computer=no)=0.6 * 0.4 * 0.2 * 0.4 = 0.019

 

为了找到最大化P(X│Ci)P(Ci)的类,计算:

P(X│buys_computer=yes)P(buys_computer=yes)=0.643*0.044=0.028

P(X│buys_computer=no)P(buys_computer=no)=0.357*0.019=0.007

 

由于0.028 > 0.007,因此,朴素贝叶斯将样本集X判定为“yes”。

 

显然,朴素贝叶斯分类的训练过程就是基于训练集D来估计类先验概率P(C),并未每个属性估计条件概率P(Xi | C)。

 

附,贝叶斯定理计算过程:

 

 

 

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐