樸素貝葉斯分類器:
(x1,x2,…,xn)=(氣壓,濕度,溫度,…)
(y1,y2)=(晴,雨)
假設通過氣壓,濕度,溫度,的情況去推測天氣是否下雨,
上述問題可以表示為:
已知x(氣壓,濕度,溫度,…)時天氣為y(晴,雨)的概率。
這個問題實際上就是乙個條件概率
由條件概率公式可得,p(y|x)=p(x,y)/p(x)
根據貝葉斯定律:p(y|x)=p(x|y)p(y)/p(x)
取p(y|x)最大時的y值為**的情況,同時由於p(x)對所有類別相同,上面的公式可以改寫為:
yi=argmax p(y|x)=argmax p(y)p(x|y)
分別計算p(y)、p(x|y)可以推斷出y
p(y)即先驗概率,統計資料集中y的分布情況,p(y=晴)=(晴的天數)/(總的天數)
p(x|y)為條件概率,
如x為離散變數:p(x=出太陽|y=晴)=(晴的時候出太陽的天數)/(晴的總天數)
樸素貝葉斯
樸素貝葉斯演算法是一種基於概率統計的分類方法,它主要利用貝葉斯公式對樣本事件求概率,通過概率進行分類。以下先對貝葉斯公式做個了解。對於事件a b,若p b 0,則事件a在事件b發生的條件下發生的概率為 p a b p a b p b 將條件概率稍作轉化即可得到貝葉斯公式如下 p a b p b a ...
樸素貝葉斯
1.準備資料 從文字中構建詞向量 2.訓練演算法 從詞向量計算概率 3.測試演算法 儲存為 bayes.py 檔案 參考 coding utf 8 from numpy import 文字轉化為詞向量 def loaddataset postinglist my dog has flea probl...
樸素貝葉斯
機器學習是將資料轉化為決策面的過程 scikit learn縮寫為sklearn 訓練乙個分類器,學習之後 其處理的準確性 def nbaccuracy features train,labels train,features test,labels test from sklearn.bayes ...