大家好,又见面了,我是全栈君。
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就一定打球,这违背了朴素贝叶斯的基本如果:输出依赖于全部的属性。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115751.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...