Scikit Learn - 高斯樸素貝葉斯



顧名思義,高斯樸素貝葉斯分類器假設每個標籤的資料都來自簡單的正態分佈。Scikit-learn 提供了sklearn.naive_bayes.GaussianNB 來實現用於分類的高斯樸素貝葉斯演算法。

引數

下表列出了sklearn.naive_bayes.GaussianNB 方法使用的引數:

序號 引數及描述
1

priors − 陣列,形狀 (n_classes)

它表示類的先驗機率。如果我們在擬合數據時指定此引數,則不會根據資料調整先驗機率。

2

var_smoothing − 浮點數,可選,預設為 1e-9

此引數指定新增到方差中的特徵最大方差的比例,以穩定計算。

屬性

下表列出了sklearn.naive_bayes.GaussianNB 方法使用的屬性:

序號 屬性及描述
1

class_prior_ − 陣列,形狀 (n_classes,)

它提供每個類的機率。

2

class_count_ − 陣列,形狀 (n_classes,)

它提供在每個類中觀察到的實際訓練樣本數。

3

theta_ − 陣列,形狀 (n_classes, n_features)

它給出每個類的每個特徵的均值。

4

sigma_ − 陣列,形狀 (n_classes, n_features)

它給出每個類的每個特徵的方差。

5

epsilon_ − 浮點數

這些是新增到方差的絕對加性值。

方法

下表列出了sklearn.naive_bayes.GaussianNB 方法使用的方法:

序號 方法及描述
1

fit(self, X, y[, sample_weight])

此方法將根據 X 和 y 擬合高斯樸素貝葉斯分類器。

2

get_params(self[, deep])

藉助此方法,我們可以獲取此估計器的引數。

3

partial_fit(self, X, y[,classes, sample_weight])

此方法允許對一批樣本進行增量擬合。

4

predict(self, X)

此方法將對測試向量 X 陣列執行分類。

5

predict_log_proba(self, X)

此方法將返回測試向量 X 的對數機率估計。

6

predict_proba(self, X)

此方法將返回測試向量 X 的機率估計。

7

score(self, X, y[, sample_weight])

使用此方法,我們可以獲得給定測試資料和標籤的平均準確率。

9

set_params(self, \*\*params)

此方法允許我們設定此估計器的引數。

實現示例

下面的 Python 指令碼將使用sklearn.naive_bayes.GaussianNB 方法從我們的資料集中構建高斯樸素貝葉斯分類器:

示例

import numpy as np
X = np.array([[-1, -1], [-2, -4], [-4, -6], [1, 2]])
Y = np.array([1, 1, 2, 2])
from sklearn.naive_bayes import GaussianNB
GNBclf = GaussianNB()
GNBclf.fit(X, Y)

輸出

GaussianNB(priors = None, var_smoothing = 1e-09)

現在,擬合完成後,我們可以使用 predict() 方法預測新值,如下所示:

示例

print((GNBclf.predict([[-0.5, 2]]))

輸出

[2]
廣告
© . All rights reserved.