天天看點

樸素貝葉斯法(對于連續和離散屬性的處理)

<a target="_blank" href="http://blog.csdn.net/qll125596718/article/details/8445217">原文位址</a>

樸素貝葉斯法是基于貝葉斯定理與特征條件獨立假設的分類方法。簡單來說,樸素貝葉斯分類器假設樣本每個特征與其他特征都不相關。舉個例子,如果一種水果具有紅,圓,直徑大概4英寸等特征,該水果可以被判定為是蘋果。盡管這些特征互相依賴或者有些特征由其他特征決定,然而樸素貝葉斯分類器認為這些屬性在判定該水果是否為蘋果的機率分布上獨立的。盡管是帶着這些樸素思想和過于簡單化的假設,但樸素貝葉斯分類器在很多複雜的現實情形中仍能夠取得相當好的效果。樸素貝葉斯分類器的一個優勢在于隻需要根據少量的訓練資料估計出必要的參數(離散型變量是先驗機率和類條件機率,連續型變量是變量的均值和方差)。

        貝葉斯分類模型如下:

樸素貝葉斯法(對于連續和離散屬性的處理)

       其中,x表示屬性集,y表示類變量,p(y)為先驗機率,p(x|y)為類條件機率,p(x)為證據,p(y|x)為後驗機率。貝葉斯分類模型就是用先驗機率p(y)、類條件機率p(x|y)和證據p(x)來表示後驗機率。在比較y的後驗機率時,分母中的證據p(x)總是常數,是以可以忽略不計。先驗機率p(y)可以通過計算訓練集中屬于每個類的訓練記錄所占的比例很容易估計。對類條件機率p(x|y)的估計,不同的實作決定不同的貝葉斯分類方法,常見的有樸素貝葉斯分類法和貝葉斯信念網絡。

樸素貝葉斯法(對于連續和離散屬性的處理)
樸素貝葉斯法(對于連續和離散屬性的處理)

        資料集如下:

樸素貝葉斯法(對于連續和離散屬性的處理)

         從該資料集計算得到的先驗機率以及每個離散屬性的類條件機率、連續屬性的類條件機率分布的參數(樣本均值和方差)如下:

先驗機率:p(yes)=0.3;p(no)=0.7

p(有房=是|no) = 3/7

p(有房=否|no) = 4/7

p(有房=是|yes) = 0

p(有房=否|yes) = 1

p(婚姻狀況=單身|no) = 2/7

p(婚姻狀況=離婚|no) = 1/7

p(婚姻狀況=已婚|no) = 4/7

p(婚姻狀況=單身|yes) = 2/3

p(婚姻狀況=離婚|yes) = 1/3

p(婚姻狀況=已婚|yes) = 0

年收入:

如果類=no:樣本均值=110; 樣本方差=2975

如果類=yes:樣本均值=90; 樣本方差=25

——》待預測記錄:x={有房=否,婚姻狀況=已婚,年收入=120k}

p(no)*p(有房=否|no)*p(婚姻狀況=已婚|no)*p(年收入=120k|no)=0.7*4/7*4/7*0.0072=0.0024

p(yes)*p(有房=否|yes)*p(婚姻狀況=已婚|yes)*p(年收入=120k|yes)=0.3*1*0*1.2*10-9=0

由于0.0024大于0,是以該記錄分類為no。

從上面的例子可以看出,如果有一個屬性的類條件機率等于0,則整個類的後驗機率就等于0。僅僅使用記錄比例來估計類條件機率的方法顯得太脆弱了,尤其是當訓練樣例很少而屬性數目又很多時。解決該問題的方法是使用m估計方法來估計條件機率:

樸素貝葉斯法(對于連續和離散屬性的處理)
樸素貝葉斯法(對于連續和離散屬性的處理)

http://blog.csdn.net/yan456jie/article/details/52649788