- 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 - Boosting 方法
- Scikit Learn - 聚類方法
- 聚類效能評估
- 使用 PCA 進行降維
- Scikit Learn 有用資源
- Scikit Learn - 快速指南
- Scikit Learn - 有用資源
- Scikit Learn - 討論
Scikit Learn - 多項式樸素貝葉斯
這是另一個有用的樸素貝葉斯分類器。它假設特徵是從簡單的多項式分佈中提取的。Scikit-learn 提供了sklearn.naive_bayes.MultinomialNB 來實現用於分類的多項式樸素貝葉斯演算法。
引數
下表包含sklearn.naive_bayes.MultinomialNB 方法使用的引數 -
| 序號 | 引數及描述 |
|---|---|
| 1 | alpha - 浮點數,可選,預設 = 1.0 它表示加性平滑引數。如果您選擇 0 作為其值,則不會進行平滑。 |
| 2 | fit_prior - 布林值,可選,預設 = True 它告訴模型是否學習類先驗機率。預設值為 True,但如果設定為 False,則演算法將使用均勻先驗。 |
| 3 | class_prior - 類陣列,大小 (n_classes,),可選,預設 = None 此引數表示每個類的先驗機率。 |
屬性
下表包含sklearn.naive_bayes.MultinomialNB 方法使用的屬性 -
| 序號 | 屬性及描述 |
|---|---|
| 1 | class_log_prior_ - 陣列,形狀 (n_classes,) 它提供了每個類的平滑對數機率。 |
| 2 | class_count_ - 陣列,形狀 (n_classes,) 它提供了每個類遇到的實際訓練樣本數量。 |
| 3 | intercept_ - 陣列,形狀 (n_classes,) 這些是class_log_prior_的映象,用於將 MultinomilaNB 模型解釋為線性模型。 |
| 4 | feature_log_prob_ - 陣列,形狀 (n_classes, n_features) 它給出了給定類別的特徵的經驗對數機率 $P\left(\begin{array}{c} features\arrowvert Y\end{array}\right)$。 |
| 5 | coef_ - 陣列,形狀 (n_classes, n_features) 這些是 feature_log_prior_ 的映象,用於將 MultinomilaNB 模型解釋為線性模型。 |
| 6 | feature_count_ - 陣列,形狀 (n_classes, n_features) 它提供了每個 (類,特徵) 遇到的實際訓練樣本數量。 |
sklearn.naive_bayes. MultinomialNB 的方法與我們在 sklearn.naive_bayes.GaussianNB 中使用的方法相同。
實現示例
下面的 Python 指令碼將使用sklearn.naive_bayes.GaussianNB 方法從我們的資料集中構建高斯樸素貝葉斯分類器 -
示例
import numpy as np X = np.random.randint(8, size = (8, 100)) y = np.array([1, 2, 3, 4, 5, 6, 7, 8]) from sklearn.naive_bayes import MultinomialNB MNBclf = MultinomialNB() MNBclf.fit(X, y)
輸出
MultinomialNB(alpha = 1.0, class_prior = None, fit_prior = True)
現在,一旦擬合,我們可以使用 predict() 方法預測新值,如下所示 -
示例
print((MNBclf.predict(X[4:5]))
輸出
[5]