樸素貝葉斯分類法
首先是“樸素”一詞的由來(lái):為了簡(jiǎn)化計(jì)算燎悍,方法假設(shè)一個(gè)屬性值在給定類上的影響?yīng)毩⒂谄渌鼘傩缘闹担Q為類條件獨(dú)立性。
先驗(yàn)概率:根據(jù)以往的分析得到的概率。后驗(yàn)概率:事情已經(jīng)發(fā)生,要求這件事情發(fā)生的原因是由某個(gè)因素引起的可能性的大小丧枪。
貝葉斯定理如下:
p(X),p(H)都是先驗(yàn)概率,可以由訓(xùn)練數(shù)據(jù)求的夏漱。p(X|H)為后驗(yàn)概率『阑澹現(xiàn)在大致的概念已經(jīng)掃清顶捷,接下來(lái)則是如何在樸素貝葉斯分類器中使用貝葉斯定理挂绰。
假設(shè)有M個(gè)分類(K1,K2服赎,......葵蒂,Km),給定數(shù)據(jù)為X,那么X屬于Ki分類的條件為:
P(Ki | X) > P(Kj | X) ? ? ? ? ?1<= i,j <=m, i != j
由于P(X) 是不變的重虑,所以只需要比較 P(X | Ki)P(Ki) 的大小践付。
工作過(guò)程如下(舉例說(shuō)明):
(1)假設(shè)D是訓(xùn)練數(shù)據(jù)。分為兩類C4 = yes , C4 = No
Age(C1)? ?收入(C2) 信用(C3)? ?購(gòu)買(C4
年輕 ? ? ? ? ? ? ? ? ? 高 ? ? ? ? ? ? ? ? ?高 ? ? ? ? ? ? ?No
年輕 ? ? ? ? ? ? ? ? ? ?低 ? ? ? ? ? ? ? ? ?高 ? ? ? ? ? ? ? ?Yes
年老 ? ? ? ? ? ? ? ? ? ?高 ? ? ? ? ? ? ? ? ?高 ? ? ? ? ? ? ? ?No
年老 ? ? ? ? ? ? ? ? ? ?高 ? ? ? ? ? ? ? ? ?高 ? ? ? ? ? ? ? Yes
年老 ? ? ? ? ? ? ? ? ? ?高 ? ? ? ? ? ? ? ? ?低 ? ? ? ? ? ? ?Yes
年輕 ? ? ? ? ? ? ? ? ? ?高 ? ? ? ? ? ? ? ? 低 ? ? ? ? ? ? ?yes
則:P(C4 = no) = P(C4 = yes) = ?1/2 = 0.5 ?缺厉。
P(C1 = 年老 | ?C4 = yes) = ?1/2 = 0.5 永高。P(C1 = 年老 | ?C4 = no) = ?1/2 = 0.5 。
P(C2 = 高 | C4 = yes) =3/4提针。P(C2 = 高 | C4 = no) =1/2命爬。
P(C3 = 高 | C4 = yes) = ?1/2。P(C3 = 高 | C4 = no) = ?1辐脖。
假設(shè)此時(shí)有一個(gè)用戶X(C1 = 年老饲宛,C2 = 高, C3 ?= 高)嗜价,計(jì)算是屬于購(gòu)買艇抠,還是沒購(gòu)買。
則:P(X|C4 = yes) = 0.5 *0.75 * 0.5 = 0.1875 ?久锥。P(X|C4 = no) = 0.5 * 0.5 * 1 = 0.25 ?家淤。
所以:用戶X最有可能不會(huì)購(gòu)買,屬于C4 = no 的分類瑟由。
存在問(wèn)題:
如果遇到零概率怎么辦絮重?
單的規(guī)避技巧:(拉普拉斯校準(zhǔn))如果訓(xùn)練數(shù)據(jù)D很大,以至于對(duì)每個(gè)計(jì)數(shù)+1造成的概率變化可以忽略不計(jì),可以避免概率數(shù)值為零的情況绿鸣。
如 0 / 100 , 10 / 100 , 90 / 100 轉(zhuǎn)變?yōu)?1 /103, 11/103, 91 / 103
scikit-learn
在scikit-learn中疚沐,一共有3個(gè)樸素貝葉斯的分類算法類。分別是GaussianNB潮模,MultinomialNB和BernoulliNB亮蛔。其中GaussianNB就是先驗(yàn)為高斯分布的樸素貝葉斯,MultinomialNB就是先驗(yàn)為多項(xiàng)式分布的樸素貝葉斯擎厢,而BernoulliNB就是先驗(yàn)為伯努利分布的樸素貝葉斯究流。