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就一定打球,这违背了朴素贝叶斯的基本假设:输出依赖于所有的属性。
时间: 2024-10-09 20:19:39