樸素貝葉斯(Naive Bayes)算法筆記(二)-scikit learn

寫在前面的話:哈嘍,大家早安吩谦、午安扇售、晚安嘍前塔,歡迎大家指點,也希望我的內(nèi)容可以溫暖承冰、幫助同在學習路上的人們~

正文開始~~


上一篇樸素貝葉斯(Naive Bayes)算法筆記(一)-Python?用Python基本實現(xiàn)了樸素貝葉斯算法的分類华弓,這一節(jié)將基于scikit learn中的樸素貝葉斯相關模型來實現(xiàn)算法。

Scikit learn中實現(xiàn)樸素貝葉斯的方法來源于sklearn.naive_bayes 模塊困乒。在這個模塊下寂屏,因為P(x_i | y)的計算方法不同,存在三種實現(xiàn)模塊:Gaussian Naive Bayes娜搂、Multinomial Naive Bayes迁霎、Bernoulli Naive Bayes?。接下來百宇,將分別介紹這些模塊的實現(xiàn)考廉。


1、Bernoulli Naive Bayes介紹

此方法主要是針對數(shù)據(jù)符合多元伯努利分布的樸素貝葉斯分類算法携御。該模型最明顯的一個特點是他非常關注每一個特征是否出現(xiàn)而不僅是出現(xiàn)的次數(shù)昌粤,針對那種在某個計算中不出現(xiàn)的特征值會有懲罰既绕。Bernoulli Naive Bayes在計算每個特征的條件概率時,基于下面的公式:

公式1 BernoulliNB模型中特征值的條件概率

Bernoulli Naive Bayes模型的使用

圖2 BernoulliNB模型應用
圖3 左圖為原始數(shù)據(jù)涮坐,有圖為BernoulliNB模型處理后的數(shù)據(jù)

相關的函數(shù)見Bernoulli Naive Bayes

2凄贩、Gaussian Naive Bayes介紹

高斯樸素貝葉斯分類算法與上面的Bernoulli Naive Bayes主要區(qū)別在于求解屬性特征值的計算式:

公式2 高斯模型中特征值的條件概率

接下來看一下高斯樸素貝葉斯模型應用。

新彩蛋:筒子們袱讹,快醒醒怎炊,針對分類問題,突然發(fā)現(xiàn)有一個概率校準(Probability calibration of classifiers)的事情廓译。大多數(shù)的分類模型,得到的預測結果僅有定序意義债查,而不能夠定量(比如很多只是知道最終屬于哪一類非区,但是并不知道屬于這一類的概率有多大,類似于概率中的置信區(qū)間)盹廷。很多情況下征绸,僅僅得到一個好的AUC值是遠遠不夠的,我們需要得到一個準確的概率值俄占。這就要求管怠,模型的輸出結果從定序上升為定距。 有兩種方法可以實現(xiàn)由定序到定距:普拉托變換(Platt Scaling)和保序回歸(Isotonic Regression).Platt Scaling的適用條件較為嚴格缸榄,他僅適用于被扭曲的預測結果是sigmoid的模型渤弛;Isotonic Regression的適用條件較為寬松,它只要預測結果是單調(diào)的甚带。不幸的是她肯,相比Platt Scaling, Isotonic Regression更容易過擬合鹰贵,尤其是當訓練數(shù)據(jù)集稀少的時候晴氨。關于Platt Scaling和Isotonic Regression,可以查看概率值校準

腫么樣碉输,筒子們籽前,你們在利用分類算法預測概率時,是否想到這些問題了敷钾?scikit-learn替你想好啦枝哄,主要是sklearn.calibration這個類里面的方法,見sklearn.calibration.CalibratedClassifierCV

辣么闰非,接下來就看一個包含的概率校準的高斯樸素貝葉斯分類實例

1)先通過make_blobs()產(chǎn)生同極性的高斯分布數(shù)據(jù)膘格,然后分開訓練集和測試集,同時财松,為了接下來的概率校準做準備瘪贱,給樣本賦予隨機權重纱控,得到帶有樣本權重的訓練數(shù)據(jù)sw_train和測試數(shù)據(jù)sw_test,代碼如下:

圖4 準備數(shù)據(jù)

2)接下來菜秦,利用高斯貝葉斯模型甜害,分別考慮了沒有概率校準、基于Isotonic的概率校準球昨、基于Platt Scaling中主要的方法sigmoid方法得出的分類方法的錯誤率尔店,見下圖:

圖5 分別計算有無概率校準的高斯樸素貝葉斯分類的錯誤率

3)接下來將通過以上不同方法測出的y取值繪制出來:

圖6 繪圖代碼
圖7 原始數(shù)據(jù)和不同方法得到的樣本概率

看了上面的錯誤率以及計算出的樣本概率,俺覺得概率校準很有必要主慰,元芳嚣州,你咋看?

內(nèi)心突然有點小激動共螺,辣么该肴,這兩種不同的概率校準方法(sigmoid和Isotonic方法),哪個更好呢藐不,該如何與這么多的分類器算法結合匀哄?貼心的sklearn同樣給出了對比Probability Calibration curvesComparison of Calibration of Classifiers雏蛮,感興趣可以直接點進去看哈涎嚼,我僅給出一些結論性的東西哈:1)如果原始數(shù)據(jù)中,存在冗余特征挑秉,那么這些特征之間就不滿足樸素貝葉斯‘特征獨立’的特點法梯,因此,直接使用高斯樸素貝葉斯方法時犀概,算法的錯誤率很高鹊汛,此時,進行概率校準就非常重要阱冶;2)那么不同的分類器算法刁憋,該用sigmoid和Isotonic方法哪個方法呢?此時應該看分類器算法的概率校準函數(shù)類型是更接近于哪個函數(shù)的特征木蹬。比如至耻,線性支持向量機的概率校準曲線(calibration curve)接近于sigmoid函數(shù),所以用基于sigmoid的概率校準就非常合適镊叁;而高斯樸素貝葉斯分類器的概率校準曲線更接近于sigmoid函數(shù)曲線的轉(zhuǎn)置尘颓,因此,高斯樸素貝葉斯分類器在概率校準時不適合使用sigmoid晦譬,而適合用Isotonic函數(shù)疤苹。

好噠,基于高斯樸素貝葉斯分類算法的介紹先到這里敛腌,寫了好多卧土,也思考了很多惫皱,寶寶心里苦,但寶寶繼續(xù)寫

3尤莺、sklearn.naive_bayes.MultinomialNB?模型介紹

這個定義中包含了很多公式旅敷,我就不一個個打出來了,具體見下圖:

圖8 MultinomialNB模型介紹

從定義來看颤霎,這個模型主要是用來做文本分析的媳谁,具體栗子見Out-of-core classification of text documents等等。

其實這個模型是對最初的樸素貝葉斯模型做了類似于拉普拉斯平滑友酱。因為在比如文本分析中晴音,很容易一些詞完全不出現(xiàn),為了避免出現(xiàn)0導致無窮等不能計算缔杉,加了一些參數(shù)因子段多。

好噠,今天這篇先到這里壮吩,樸素貝葉斯的內(nèi)容和應用都很多,我以后深入學習的時候會與大家分享更加詳細的內(nèi)容和心得加缘,希望今天的內(nèi)容對大家有點幫助鸭叙,也請大牛不吝賜教,能有一群一起學習拣宏、交流的人沈贝,是我的愿望,我們共同進步~~

下一篇一起學習Logistic回歸啦~~

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末勋乾,一起剝皮案震驚了整個濱河市宋下,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辑莫,老刑警劉巖学歧,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異各吨,居然都是意外死亡枝笨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門揭蜒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來横浑,“玉大人,你說我怎么就攤上這事屉更♂闳冢” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵瑰谜,是天一觀的道長欺冀。 經(jīng)常有香客問我树绩,道長,這世上最難降的妖魔是什么脚猾? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任葱峡,我火速辦了婚禮,結果婚禮上龙助,老公的妹妹穿的比我還像新娘砰奕。我一直安慰自己,他們只是感情好提鸟,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布军援。 她就那樣靜靜地躺著,像睡著了一般称勋。 火紅的嫁衣襯著肌膚如雪胸哥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天赡鲜,我揣著相機與錄音空厌,去河邊找鬼。 笑死银酬,一個胖子當著我的面吹牛嘲更,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播揩瞪,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼赋朦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了李破?” 一聲冷哼從身側(cè)響起宠哄,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嗤攻,沒想到半個月后毛嫉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡妇菱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年狱庇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恶耽。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡密任,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出偷俭,到底是詐尸還是另有隱情浪讳,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布涌萤,位于F島的核電站淹遵,受9級特大地震影響口猜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜透揣,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一济炎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辐真,春花似錦须尚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至楔脯,卻和暖如春撩轰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昧廷。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工堪嫂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人木柬。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓皆串,卻偏偏與公主長得像,于是被迫代替她去往敵國和親弄诲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

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