機器學習 樸素貝葉斯演算法相關筆記

2021-10-04 08:15:27 字數 1776 閱讀 6685

計算公式

演算法處理過程

原始的樸素貝葉斯只能處理離散資料,連續資料使用高斯樸素貝葉斯(gaussian ***** bayes)完成分類任務。

當處理***連續資料***時,一種經典的假設是:與每個類相關的連續變數的分布是基於高斯分布的,故高斯貝葉斯的公式如下:

優點:

樸素貝葉斯模型發源於古典數學理論,有穩定的分類效率。

對小規模的資料表現很好,能個處理多分類任務,適合增量式訓練,尤其是資料量超出記憶體時,我們可以一批批的去增量訓練。

對缺失資料不太敏感,演算法也比較簡單,常用於文字分類。

缺點:

在屬性個數比較多或者屬性之間相關性較大時,分類效果不好。而在屬性相關性較小時,樸素貝葉斯效能最為良好

在某些時候會由於假設的先驗模型的原因導致**效果不佳。

通過先驗和資料來決定後驗的概率從而決定分類,導致分類決策存在一定的錯誤率。

對輸入資料的表達形式很敏感。

python實現

高斯樸素貝葉斯

• 構造方法:sklearn.*****_bayes.gaussiannb

• gaussiannb 類構造方法無引數,屬性值有:

注:gaussiannb 類無score 方法

多項式樸素貝葉斯——用於文字分類

構造方法:

sklearn.*****_bayes.multinomialnb()

利用樸素貝葉斯演算法實現對鳶尾花分類模型的構建及模型效能的基本評估

from sklearn.*****_bayes import gaussiannb

from sklearn.datasets import load_iris

from sklearn.model_selection import train_test_split

iris = load_iris(

)data_tr, data_te, label_tr, label_te = train_test_split(iris.data, iris.target, test_size=0.2)

clf = gaussiannb(

)clf.fit(data_tr, label_tr)

pre = clf.predict(data_te)

print(pre)

acc = sum(pre == label_te)/len(pre)

#模型在測試集樣本上的**精度

print(acc)

機器學習演算法 樸素貝葉斯

樸素貝葉斯 na ve bayes 屬於監督學習演算法,實現簡單,學習效率高 由於建立在貝葉斯理論之上,涉及到統計學方法,所以在大樣本量下會有較好的表現,當然樣本需要在一定程度上反映真實分布情況。該演算法的一條假設為 輸入的特徵向量的各分量之間兩兩條件獨立。因為這條假設比較嚴格,能夠完全符合該假設的...

機器學習 樸素貝葉斯

樸素貝葉斯原理 1.貝葉斯公式 2.樸素貝葉斯的模型 3.後驗概率最大化的含義 4.樸素貝葉斯的引數估計 4.1.特徵是離散值 假設符合多項式分布 4.2.特徵是稀疏的離散值 假設符合伯努利分布 4.3.特徵是連續值 假設符合正態分佈 5.樸素貝葉斯演算法過程 6.樸素貝葉斯演算法小結 scikit...

機器學習基礎演算法 樸素貝葉斯

1 為什麼可以使用bayes對未知資料進行分類 首先要了解bayes的概率 條件概率,以及將條件概率應用到分類中 bayes的概率是乙個逆向概率,詳細內容檢視bayestheory.md 可以使用bayes主要是因為在知道某個條件的基礎上,可以反推某一事件發生的概率 在機器學習中使用的樣本資料就是我...