機器學習學習筆記之 監督學習之樸素貝葉斯分類器

2021-10-11 01:33:48 字數 1338 閱讀 6154

樸素貝葉斯分類器的訓練速度比線性模型更快。這種高效率所付出的代價是,樸素貝葉斯模型的泛化能力要比線性分類器(如 logisticregression 和 linearsvc)稍差。

樸素貝葉斯模型如此高效的原因在於,它通過單獨檢視每個特徵來學習引數,並從每個特徵中收集簡單的類別統計資料。scikit-learn 中實現了三種樸素貝葉斯分類器:gaussiannb、bernoullinb 和 multinomialnb。gaussiannb 可應用於任意連續資料,而bernoullinb 假定輸入資料為二分類資料multinomialnb 假定輸入資料為計數資料(即每個特徵代表某個物件的整數計數,比如乙個單詞在句子**現的次數)。bernoullinb 和 multinomialnb 主要用於文字資料分類

bernoullinb 分類器計算每個類別中每個特徵不為 0 的元素個數。用乙個簡單的例子來說明會很容易理解:

x = np.array([[

0,1,

0,1]

,[1,

0,1,

1],[

0,0,

0,1]

,[1,

0,1,

0]])

y = np.array([0

,1,0

,1])

這裡我們有 4 個資料點,每個點有 4 個二分類特徵。一共有兩個類別:0 和 1。對於類別 0(第 1、3 個資料點),第乙個特徵有 2 個為零、0 個不為零,第二個特徵有 1 個為零、1 個不為零,以此類推。然後對類別 1 中的資料點計算相同的計數。計算每個類別中的非零元素個數:

counts =

for label in np.unique(y)

:# 對每個類別進行遍歷

# 計算(求和)每個特徵中 1 的個數

counts[label]

= x[y == label]

.sum

(axis=0)

print

("feature counts:\n{}"

.format

(counts)

)'''

feature counts:

'''

另外兩種樸素貝葉斯模型(multinomialnb 和 gaussiannb)計算的統計資料型別略有不同。multinomialnb 計算每個類別中每個特徵的平均值而 gaussiannb 會儲存每個類別中每個特徵的平均值和標準差

機器學習之監督學習

一 監督學習的三要素 模型 總結資料的內在規律,用數學函式描述的系統 策略 選取最優模型的評價準則 演算法 選取最優模型的具體方法 二 監督學習的實現步驟 1.得到乙個有限的訓練資料集 2.確定包含所有學習模型的集合 3.確定模型選擇的準則,也就是學習策略 4.實現求解最優模型的演算法,也就是學習演...

機器學習之 監督學習應用

最近想搞點新東西,然後就選擇了機器學習,剛開始學 史丹福大學的公開課 有很多不懂地方,如果有什麼錯誤,歡迎指正。首先來介紹一下什麼叫回歸 回歸在數學上來說是給定乙個點集,能夠用一條曲線去擬合,如果這個曲線是一條直線,那就被稱為線性回歸,如果曲線是一條二次曲線,就被稱為二次回歸.引入乙個房屋銷售的例子...

機器學習之監督學習 回歸

回歸問題和 分類問題的區別在於 其待 的目標是 連續變數 線性回歸器 如果面對訓練資料十分龐大的任務,隨機梯度法不論是在分類還是在回歸問題上都表現得十分高效,可以在不損失過多效能的前提下,節省大量計算時間 根據scikit learn官網的建議,如果資料規模超過10萬,推薦使用隨機梯度估計引數模型 ...