樸素貝葉斯

2021-08-19 11:05:39 字數 505 閱讀 4303

樸素貝葉斯分類器:

(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 ...