@decision P(yes) {0.6428571428571429}
@decision P(no) {0.35714285714285715}
@data
P(outlook=sunny|yes),0.2222222222222222
P(outlook=sunny|no),0.6
P(outlook=overcast|yes),0.4444444444444444
P(outlook=overcast|no),0.0
P(outlook=rainy|yes),0.3333333333333333
P(outlook=rainy|no),0.4
P(temperature=hot|yes),0.2222222222222222
P(temperature=hot|no),0.4
P(temperature=mild|yes),0.4444444444444444
P(temperature=mild|no),0.4
P(temperature=cool|yes),0.3333333333333333
P(temperature=cool|no),0.2
P(humidity=high|yes),0.3333333333333333
P(humidity=high|no),0.8
P(humidity=normal|yes),0.6666666666666666
P(humidity=normal|no),0.2
P(windy=TRUE|yes),0.3333333333333333
P(windy=TRUE|no),0.6
P(windy=FALSE|yes),0.6666666666666666
P(windy=FALSE|no),0.4
2.3
上面的各个概率计算过程如下:P(yes)=9/14 (在训练集中,yes出现9次,总数是14 )
P(no)=5/14
P(outlook=sunny|yes)=2/9(同时为sunny和yes的记录出现了2次,而yes总数出现了9次)
P(outlook=sunny|no)=3/5 (同时为sunny和no的记录出现了3次,no出现了5次)其它的计算一样,这里不例举了。
2.4 测试:
求 (sunny,hot,high,FALSE) 属于yes还是no呢?
为了显示好看,把(sunny,hot,high,FALSE) 用1来表示
计算方法如下:
属于yes的概率(其它这里严格意义的概率,因为没有除以分母)
P(1|yes)= P(yes)*P(sunny|yes)*P(hot|yes)*P(high|yes)*P(FALSE|yes)=0.6428571428571429*0.2222222222222222*0.2222222222222222*0.3333333333333333*0.6666666666666666=0.007(约等)
P(1|no)=0.027显然它属于no的概率大一点,判定它为no.
2.5 零频问题
以上计算没有考虑零频问题,实际的计算中应该避免零频问题,即在每个项计数时加1。
3.数学语言描述
关于数学公式的描述,这位大牛写得非常详细,建议大家看一看。
3.1贝叶斯定理:
3.2 推导
朴素贝叶斯分类的正式定义如下:
1、设