樸素貝葉斯算法

1.基本概念

樸素貝葉斯是簡化的貝葉斯算法亮蛔,是一種基于貝葉斯定理和條件獨(dú)立性假設(shè)的一種分類方法比伏,通過假設(shè)特征獨(dú)立,簡化后驗(yàn)概率計(jì)算户魏。

基本形式:

P(A|B)=\frac{P(A)*P(B|A)}{P(B)} ? ?

推導(dǎo)過程:P(A\cap B)=P(A|B)*P(B)=P(B|A)*P(A)

解釋:已知當(dāng)前給出預(yù)測樣本(B是一組特征值)澡刹,求已知該樣本情況下呻征,結(jié)果為A的概率

P(A|B)稱為后驗(yàn)概率

P(A)是A在所有訓(xùn)練集中出現(xiàn)的概率

P(B|A)稱為先驗(yàn)概率,已知結(jié)果A條件下罢浇,訓(xùn)練集B出現(xiàn)的概率

P(B)是所有特征b同時(shí)發(fā)生的概率

最終形式:

P(A|(b1,b2,...bn)) = \frac{P(A) * P((b1,b2,...bn)|A)} {P(b1,b2,...bn)}

P(A):直接計(jì)算

由于概率獨(dú)立P((b1,b2,...bn) |A) = \prod_{i=1}^n P(bi|A)

{P(b1,b2,...bn)} 固定可以忽略

2.相關(guān)代碼(注意拉普拉斯平滑和對結(jié)果去自然對數(shù))

import numpy

from numpy import *

# 該方法為貝葉斯訓(xùn)練陆赋,輸入樣本集合和標(biāo)簽集合

def train_bayes(train_matrix, train_class):

? ? # 樣本個(gè)數(shù)

? ? num_docs = len(train_matrix)

? ? # 特征個(gè)數(shù)

? ? num_word = len(train_matrix[0])

? ? # 先驗(yàn)概率P(A)? A為1的概率

? ? Prob_positive = sum(train_class)/ float(num_docs)

? ? # 因?yàn)閾?dān)心零概率的出現(xiàn)導(dǎo)致連乘概率為0沐祷,加入拉普拉斯平滑系數(shù)(就是本來為0的加上一個(gè)常數(shù),這樣不會為0)攒岛,所以下面為np.ones而不是np.zeros

? ? # 因?yàn)閷Y(jié)果概率只是比較而不是要精確值赖临,因此這樣做并對概率取自然對數(shù)避免下溢出

? ? Prob_num_0 = ones(num_word)

? ? Prob_num_1 = ones(num_word)

? ? Prob_denom_0 = 2.0

? ? Prob_denom_1 = 2.0


? ? # 計(jì)算概率向量

? ? # 先驗(yàn)概率每個(gè)特征值|label為1的概率向量

? ? for i in range(num_docs):

? ? ? ? if train_class[i] == 1:

? ? ? ? ? ? Prob_num_1 += train_matrix[i]

? ? ? ? ? ? Prob_denom_1 += sum(train_matrix[i])

? ? ? ? else:

? ? ? ? ? ? Prob_num_0 += train_matrix[i]

? ? ? ? ? ? Prob_denom_0 += sum(train_matrix[i])?

? ? # 取自然對數(shù)? ? ? ?

? ? p1_vec = log(Prob_num_1 / Prob_denom_1)

? ? p0_vec = log(Prob_num_0 / Prob_denom_0)


? ? # 返回P(A=1)/P(A=0) = 1 - P(A=1)/P(b[vec]|A=1)/P(b[vec]|A=0) --- 由此可計(jì)算概率

? ? return p1_vec, p0_vec, Prob_positive

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市灾锯,隨后出現(xiàn)的幾起案子兢榨,更是在濱河造成了極大的恐慌,老刑警劉巖顺饮,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吵聪,死亡現(xiàn)場離奇詭異,居然都是意外死亡兼雄,警方通過查閱死者的電腦和手機(jī)吟逝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赦肋,“玉大人澎办,你說我怎么就攤上這事〗鹂常” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵麦锯,是天一觀的道長恕稠。 經(jīng)常有香客問我,道長扶欣,這世上最難降的妖魔是什么鹅巍? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮料祠,結(jié)果婚禮上骆捧,老公的妹妹穿的比我還像新娘。我一直安慰自己髓绽,他們只是感情好敛苇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顺呕,像睡著了一般枫攀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上株茶,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天来涨,我揣著相機(jī)與錄音,去河邊找鬼启盛。 笑死蹦掐,一個(gè)胖子當(dāng)著我的面吹牛技羔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卧抗,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼藤滥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了颗味?” 一聲冷哼從身側(cè)響起超陆,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浦马,沒想到半個(gè)月后时呀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晶默,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年谨娜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磺陡。...
    茶點(diǎn)故事閱讀 40,127評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡趴梢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出币他,到底是詐尸還是另有隱情坞靶,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布蝴悉,位于F島的核電站彰阴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏拍冠。R本人自食惡果不足惜尿这,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望庆杜。 院中可真熱鬧射众,春花似錦、人聲如沸晃财。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽断盛。三九已至雏逾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間郑临,已是汗流浹背栖博。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留厢洞,地道東北人仇让。 一個(gè)月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓典奉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親丧叽。 傳聞我的和親對象是個(gè)殘疾皇子卫玖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 忘光了概率統(tǒng)計(jì)的知識還想學(xué)樸素貝葉斯算法?這一篇就是為你準(zhǔn)備的踊淳。雖然如此假瞬,作為初學(xué)者,別指望 5 分鐘就能完全理解...
    kamidox閱讀 2,697評論 4 7
  • 貝葉斯簡介 貝葉斯定理是一個(gè)特別簡單但是特別有用的定理迂尝,這個(gè)定理解決了生活中經(jīng)常遇到的一個(gè)問題:在已知P(A|B)...
    Jlan閱讀 761評論 0 1
  • 本文利用 scikit-learn 里的樸素貝葉斯算法對文檔進(jìn)行分類脱茉,以便更深入地理解貝葉斯算法。本文的側(cè)重點(diǎn)不是...
    kamidox閱讀 4,640評論 0 11
  • 任何時(shí)候都不能丟掉獨(dú)立思考的能力 在這個(gè)小小世界好好動(dòng)動(dòng)腦子吧咸魚垄开!
    是木俞閱讀 120評論 0 0
  • 我們經(jīng)常被自己打到 困難還未來到 自己先害怕了
    三三不惑閱讀 258評論 2 6