02-28 scikit-learn庫之線樸素貝葉斯

更新、更全的《機器學習》的更新網站,更有python、go、數據結構與算法、爬蟲、人工智能教學等着你:http://www.javashuo.com/article/p-vozphyqp-cm.htmlpython

scikit-learn庫之樸素貝葉斯

在scikit-learn庫中樸素貝葉斯因爲數據分佈的不一樣,主要分爲如下三種BernoulliNBGaussianNBMultinomialNB,先驗分佈分別對應伯努利分佈、高斯分佈和多項式分佈。算法

接下來將會討論這三者的區別,因爲MUltinomiallNB用的比較多,所以會細講該模型。因爲是從官方文檔翻譯而來,翻譯會略有偏頗,有興趣的也能夠去scikit-learn官方文檔查看https://scikit-learn.org/stable/modules/classes.html#module-sklearn.naive_bayes數據結構

1、MultinomialNB

1.1 使用場景

Bernoulli分佈通常應用於樣本特徵是二元離散值,或者是很稀疏的多元離散值的場景。dom

1.2 代碼

import numpy as np
X = np.random.randint(5, size=(6, 100))
y = np.array([1, 2, 3, 4, 5, 6])
from sklearn.naive_bayes import MultinomialNB
clf = MultinomialNB()
clf.fit(X, y)
MultinomialNB(alpha=1.0, class_prior=None, fit_prior=True)
print(clf.predict(X[2:3]))
[3]

1.3 參數詳解

  • alpha:超參數,float類型。建議使用默認值,若是真的須要調優時也儘可能選擇稍大於或稍小於1的數。默認爲1。
  • fit_prior:先驗機率選擇,bool類型。fit_prior=True,全部樣本類別輸出的先驗機率是不一樣的;fit_prior=False,全部樣本類別輸出的先驗機率是相同的。默認爲True。
  • class_prior:先驗機率,array-like類型。只有fit_prior=True時才選擇該參數,該參數能夠本身填寫各個類別的先驗機率,也能夠不填寫讓模型自動計算各個類別的先驗機率。默認爲None。

1.4 屬性

  • class_log_prior_:每一個類別對應的對數機率。
  • intercept_:將多項式樸素貝葉斯模型做爲線性模型時的class_log_prior_鏡像的截距。
  • feature_log_prob_:給定樣本某個特徵的的機率,如\(p(x_i|y)\)
  • coef_:將多項式樸素貝葉斯模型做爲線性模型時的feature_log_prob_鏡像的係數。
  • class_count_:每一個類在擬合過程當中遇到的樣本數量,這個值由fit()中的sample_weigth加權獲得。
  • feature_count_:每一個特徵在擬合過程當中遇到的樣本數量,這個值由fit()中的sample_weigth加權獲得。

1.5 方法

  • fit(X,y):把數據放入模型中訓練模型。
  • get_params([deep]):返回模型的參數,能夠用於Pipeline中。
  • partial_fit(X, y[, classes, sample_weight]):把數據集切割成多份進行增量訓練,尤爲適合大數據集,其中sample_weight能夠控制訓練集中樣本的權重。
  • predict(X):預測樣本X的分類類別。
  • predict_lot_proba(X):返回樣本X在各個類別上對應的對數機率。
  • predict_proba(X):返回樣本X在各個類別上對應的機率。
  • score(X,y[,sample_weight]):基於報告決定係數\(R^2\)評估模型。
  • set_prams(**params):建立模型參數。

2、GaussianNB

GaussianNB模型相似於MultinomiaNB模型,二者區別之處在於,前者更適合解決特徵值爲連續值,然後者更適合解決特徵值爲多元離散值的狀況。機器學習

3、Bernoulli

Bernoulli模型相似於MultinomiaNB模型,二者區別之處在於,前者更適合解決特徵值爲二元離散值或稀疏的多元離散值,然後者更適合解決特徵值爲多元離散值的狀況,而且Bernoulli模型多了一個參數binarize,該參數不設置則默認特徵已經被二值化處理,反之模型將自動二值化處理特徵。學習

相關文章
相關標籤/搜索