本文實例講述了樸素貝葉斯分類算法原理與Python實現與使用方法。分享給大家供大家參考,具體如下:
樸素貝葉斯分類算法
貝葉斯分類算法是一大類分類算法的總稱
貝葉斯分類算法以樣本可能屬于某類的概率來作為分類依據
樸素貝葉斯分類算法是貝葉斯分類算法中最簡單的一種
注:樸素的意思是條件概率獨立性
P(A|x1x2x3x4)=p(A|x1)*p(A|x2)p(A|x3)p(A|x4)則為條件概率獨立
P(xy|z)=p(xyz)/p(z)=p(xz)/p(z)*p(yz)/p(z)
樸素貝葉斯的思想是這樣的:
如果一個事物在一些屬性條件發生的情況下,事物屬于A的概率>屬于B的概率,則判定事物屬于A
通俗來說比如,你在街上看到一個黑人,我讓你猜這哥們哪里來的,你十有八九猜非洲。為什么呢?
在你的腦海中,有這么一個判斷流程:
①、這個人的膚色是黑色 <特征>
②、黑色人種是非洲人的概率最高 <條件概率:黑色條件下是非洲人的概率>
③、沒有其他輔助信息的情況下,最好的判斷就是非洲人
這就是樸素貝葉斯的思想基礎。
再擴展一下,假如在街上看到一個黑人講英語,那我們是怎么去判斷他來自于哪里?
提取特征:
膚色: 黑
語言: 英語
黑色人種來自非洲的概率: 80%
黑色人種來自于美國的概率:20%
講英語的人來自于非洲的概率:10%
講英語的人來自于美國的概率:90%
在我們的自然思維方式中,就會這樣判斷:
這個人來自非洲的概率:80% * 10% = 0.08
這個人來自美國的概率:20% * 90% =0.18
我們的判斷結果就是:此人來自美國!
其蘊含的數學原理如下:
p(A|xy)=p(Axy)/p(xy)=p(Axy)/p(x)p(y)=p(A)/p(x)*p(A)/p(y)* p(xy)/p(xy)=p(A|x)p(A|y)
P(類別 | 特征)=P(特征 | 類別)*P(類別) / P(特征)
①、分解各類先驗樣本數據中的特征
②、計算各類數據中,各特征的條件概率
(比如:特征1出現的情況下,屬于A類的概率p(A|特征1),屬于B類的概率p(B|特征1),屬于C類的概率p(C|特征1)......)
③、分解待分類數據中的特征(特征1、特征2、特征3、特征4......)
④、計算各特征的各條件概率的乘積,如下所示:
判斷為A類的概率:p(A|特征1)*p(A|特征2)*p(A|特征3)*p(A|特征4).....
判斷為B類的概率:p(B|特征1)*p(B|特征2)*p(B|特征3)*p(B|特征4).....
判斷為C類的概率:p(C|特征1)*p(C|特征2)*p(C|特征3)*p(C|特征4).....
......
⑤、結果中的最大值就是該樣本所屬的類別
大眾點評、淘寶等電商上都會有大量的用戶評論,比如:
新聞熱點
疑難解答