机器学习模型5——贝叶斯分类器
前置知識
條件概率
貝葉斯公式
(貝葉斯模型還是很好理解的,主要基于高中就學到過的條件概率。)
貝葉斯定理
P(A),P(B)分別是事件A,B發生的概率,而P(A|B)是在事件A在事件B發生的前提下發生的概率,P(AB)是事件A,B同時發生的概率。那么我們的有公式: 。
那么貝葉斯定理是:
注:P(AB)=P(A)P(B)的充分必要條件是事件A和事件B相互獨立。用通俗的語言講就是,事件A是否發生不會影響到事件B發生的概率。
樸素貝葉斯
設樣本屬性集合為x{x1,x2,x3…xn},n為數目,xi為取值;設c為類別集合,把樣本劃分為某一類,c={y1,y2,y3…ym}.
假設屬性特征相互獨立,貝葉斯公式可寫為:
拉普拉斯平滑系數
樸素貝葉斯API
這些是基于應用貝葉斯定理和強(樸素)特征獨立性假設的監督學習方法。
naive_bayes.BernoulliNB(*[, alpha, ...])Naive Bayes classifier for multivariate Bernoulli models.naive_bayes.CategoricalNB(*[, alpha, ...])Naive Bayes classifier for categorical features.naive_bayes.ComplementNB(*[, alpha, ...])The Complement Naive Bayes classifier described in Rennie et al. (2003).naive_bayes.GaussianNB(*[, priors, ...])Gaussian Naive Bayes (GaussianNB).naive_bayes.MultinomialNB(*[, alpha, ...])Naive Bayes classifier for multinomial models.MultinomialNB多項式模型的樸素貝葉斯分類器。
多項式Naive Bayes分類器適用于具有離散特征的分類(例如,文本分類的字數)。多項式分布通常需要整數特征計數。然而,在實踐中,分數計數(如tf-idf)也可能有效。
class sklearn.naive_bayes.MultinomialNB(*, alpha=1.0, fit_prior=True, class_prior=None)參數:
- alpha: float, default=1.0
添加劑(拉普拉斯/利德斯通)平滑參數(0表示無平滑)。 - fit_prior: bool, default=True
是否學習課堂先驗概率。如果錯誤,將使用統一的優先權。 - class_prior: array-like of shape (n_classes,), default=None
類別的先驗概率。如果指定,則不根據數據調整優先級。
BernoulliNB多元貝努利模型的樸素貝葉斯分類器
與MultinomialNB一樣,該分類器適用于離散數據。不同之處在于,雖然MultinomalNB可以處理出現次數,但BernoulliNB是為二進制/布爾特征設計的。
class sklearn.naive_bayes.BernoulliNB(*, alpha=1.0, binarize=0.0, fit_prior=True, class_prior=None參數:
- binarize: float or None, default=0.0
樣本特征的二值化(映射到布爾值)閾值。如果無,則假定輸入已經包含二進制矢量。
CategoricalNB分類特征的樸素貝葉斯分類器。
分類樸素貝葉斯分類器適用于具有分類分布的離散特征的分類。每個特征的類別都是從分類分布中得出的。
class sklearn.naive_bayes.CategoricalNB(*, alpha=1.0, fit_prior=True, class_prior=None, min_categories=None)參數:
- min_categories:int or array-like of shape (n_features,), default=None
每個功能的最小類別數。
integer:將每個要素的最小類別數設置為每個要素的n_categories。
array-like:shape(n_features,)其中n_categories[i]包含輸入的第i列的最小類別數。
None(default):根據訓練數據自動確定類別數。
ComplementNB互補樸素貝葉斯分類器。
互補樸素貝葉斯分類器旨在糾正標準多項式樸素貝葉斯分類器所做的“嚴重假設”。它特別適合不平衡的數據集。
class sklearn.naive_bayes.ComplementNB(*, alpha=1.0, fit_prior=True, class_prior=None, norm=False)參數:
- norm: bool, default=False
是否執行權重的第二次規格化。默認行為反映了在Mahout和Weka中發現的實現,它們不遵循本文表9中描述的完整算法。
GaussianNB高斯樸素貝葉斯
可以通過partial_fit在線更新模型參數。
class sklearn.naive_bayes.GaussianNB(*, priors=None, var_smoothing=1e-09)[source]參數:
- priors:array-like of shape (n_classes,)
類別的先驗概率。如果指定,則不根據數據調整優先級。 - var_smoothing:float, default=1e-9
所有特征中最大方差的一部分,添加到方差中以保持計算穩定性。
樸素?葉斯優缺點
優點:
- 樸素?葉斯模型發源于古典數學理論,有穩定的分類效率
- 對缺失數據不太敏感,算法也?較簡單,常?于?本分類
- 分類準確度?,速度快
缺點:
- 由于使?了樣本屬性獨?性的假設,所以如果特征屬性有關聯時其效果不好
- 需要計算先驗概率,?先驗概率很多時候取決于假設,假設的模型可以有很多種,因此在某些時候會由于假設 的先驗模型的原因導致預測效果不佳
參考
1.黑馬學習
總結
以上是生活随笔為你收集整理的机器学习模型5——贝叶斯分类器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android笔记:触摸事件的分析与总结
- 下一篇: 使用 EA 交易可视向导创建 EA 交易