朴素贝叶斯分类

outlook temperature humidity windy play
  yes no   yes no   yes no   yes no yes no
sunny 2 3 hot 2 2 high 3 4 FALSE 6 2 9 5
overcast 4 0 mild 4 2 normal 6 1 TRUR 3 3    
rainy 3 2 cool 3 1                
如以上表格,如今我们来计算当条件为sunny,cool,high,TRUE时候是否去play。当然。决策树也能够。本节通过朴素贝叶斯来求解。

 

B1,B2.....BN

首先来看下贝叶斯公式,B条件下A发生的概率,也就是在sunny,cool,high,TRUE等于yes的概率,以及等于no的概率,都计算出来,比較大小,哪个大。结果就是哪个。

P(YES|ALL) = P(ALL|YES)P(YES)/P(ALL) = P(SUNNY|YES)P(COOL|YES)P(HIGH|YES)P(TRUE|YES)P(YES)/P(ALL)

=2/9*3/9*3/9*3/9*9/14/P(ALL)=0.005/P(ALL)

P(NO|ALL) = P(ALL|NO)P(NO)/P(ALL) = P(SUNNY|NO)P(COOL|NO)P(HIGH|NO)P(TRUE|NO)P(NO)/P(ALL)

=3/5*1/5*4/5*3/5*5/14/P(ALL)=0.021/P(ALL)

所以得出是NO的概率大。所以在sunny,cool,high,true的条件下应该不去打球



注意表中有一个数据为0,这意味着在outlook为overcast的情况下,不打球和概率为0。即仅仅要为overcast就一定打球,这违背了朴素贝叶斯的基本如果:输出依赖于全部的属性。












posted @ 2016-03-08 13:21  yxwkaifa  阅读(302)  评论(0编辑  收藏  举报