Hadoop:數值型數據的樸素貝葉斯分類

樸素貝葉斯分類器用在符號型數據上比較多,如何處理數值型數據能找到的資料比較少,《數據算法:Hadoop/Saprk大數據處理技巧》這本書簡要介紹瞭如何處理數值型數據。

假設數據服從一定的分佈,通常假設爲高斯分佈(正態分佈),於是只需要從訓練數據中計算出每一類每一維度的均值和方差,就可以估計給定任一數值的後驗概率。

對於一條新的數據 x,x 的第 i 維上的數據在給定類別c_j時出現的概率:
P(x_i|c_j) = \frac{1}{\sqrt{2 \pi}\sigma_{ji}} \exp{(-\frac{(x_i-\mu_{ji})^2}{2\sigma_{ji}^2})} x 在給定類別c_j時出現的概率:
P(x|c_j) = \prod_{i=0}^d P(x_i|c_j) 預測 x 的類別爲
j=\arg \max_j P(x|c_j) 使用Hadoop實現時可以分爲3個Job:

  • Job1:計算均值
  • Job2:計算方差
  • Job3:預測

重點是前兩個Job,預測的Job可以與前兩個分離,保存計算的結果,實現一次訓練,多次預測

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章