- Scikit Learn 教程
- Scikit Learn - 首頁
- Scikit Learn - 簡介
- Scikit Learn - 建模過程
- Scikit Learn - 資料表示
- Scikit Learn - 估計器 API
- Scikit Learn - 約定
- Scikit Learn - 線性模型
- Scikit Learn - 擴充套件線性模型
- 隨機梯度下降
- Scikit Learn - 支援向量機
- Scikit Learn - 異常檢測
- Scikit Learn - K 近鄰演算法
- Scikit Learn - KNN 學習
- 使用樸素貝葉斯進行分類
- Scikit Learn - 決策樹
- 隨機決策樹
- Scikit Learn - 整合方法
- Scikit Learn - 聚類方法
- 聚類效能評估
- 使用 PCA 進行降維
- Scikit Learn 有用資源
- Scikit Learn - 快速指南
- Scikit Learn - 有用資源
- Scikit Learn - 討論
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]