基于sklearn的朴素贝叶斯_Sklearn参数详解—贝叶斯
在開始學(xué)習(xí)具體的貝葉斯參數(shù)前,你可以先看看:樸素貝葉斯詳解?mp.weixin.qq.com
樸素貝葉斯一共有三種方法,分別是高斯樸素貝葉斯、多項式分布貝葉斯、伯努利樸素貝葉斯,在介紹不同方法的具體參數(shù)前,我們先看看這三種方法有什么區(qū)別。
這三種分類方法其實就是對應(yīng)三種不同的數(shù)據(jù)分布類型。
高斯分布又叫正太分布,我們把一個隨機變量X服從數(shù)學(xué)期望為μ、方差為σ^2的數(shù)據(jù)分布稱為正太分布,當數(shù)學(xué)期望μ=0,方差σ=1時稱為標準正態(tài)分布。
正太分布概率圖
伯努利分布又稱“零一分布”、“兩點分布”(即結(jié)果要么是0要么是1),是二項分布的特殊情況,之所以是特殊的二項分布,是因為二項分布是多重伯努利實驗的概率分布。舉個例子就是,伯努利分布是只扔一次硬幣正面反面的概率,而二項分布是扔多次硬幣以后得到正面反面的概率。
多項式分布(Multinomial Distribution)是二項式分布的推廣,二項分布是隨機結(jié)果值只有兩個(投硬幣的結(jié)果),多項式分布是指隨機結(jié)果值有多個(搖骰子的結(jié)果)。
多項式模型樸素貝葉斯和伯努利模型樸素貝葉斯常用在文本分類問題中,高斯分布的樸素貝葉斯主要用于連續(xù)變量中,且假設(shè)連續(xù)變量是服從正太分布的。
高斯樸素貝葉斯
高斯樸素貝葉斯算法是假設(shè)特征的可能性(即概率)為高斯分布。
class sklearn.naive_bayes.GaussianNB(priors=None)
priors:先驗概率大小,如果沒有給定,模型則根據(jù)樣本數(shù)據(jù)自己計算(利用極大似然法)。
對象
class_prior_:每個樣本的概率
class_count:每個類別的樣本數(shù)量
theta_:每個類別中每個特征的均值
sigma_:每個類別中每個特征的方差
多項式分布貝葉斯
適用于服從多項分布的特征數(shù)據(jù)。
class sklearn.naive_bayes.MultinomialNB(alpha=1.0, fit_prior=True, class_prior=None)
alpha:先驗平滑因子,默認等于1,當?shù)扔?時表示拉普拉斯平滑。
fit_prior:是否去學(xué)習(xí)類的先驗概率,默認是True
class_prior:各個類別的先驗概率,如果沒有指定,則模型會根據(jù)數(shù)據(jù)自動學(xué)習(xí), 每個類別的先驗概率相同,等于類標記總個數(shù)N分之一。
對象
class_log_prior_:每個類別平滑后的先驗概率
intercept_:是樸素貝葉斯對應(yīng)的線性模型,其值和class_log_prior_相同feature_log_prob_:給定特征類別的對數(shù)概率(條件概率)。 特征的條件概率=(指定類下指定特征出現(xiàn)的次數(shù)+alpha)/(指定類下所有特征出現(xiàn)次數(shù)之和+類的可能取值個數(shù)*alpha)coef_: 是樸素貝葉斯對應(yīng)的線性模型,其值和feature_log_prob相同
class_count_: 訓(xùn)練樣本中各類別對應(yīng)的樣本數(shù)
feature_count_: 每個類別中各個特征出現(xiàn)的次數(shù)
伯努利樸素貝葉斯
用于多重伯努利分布的數(shù)據(jù),即有多個特征,但每個特征都假設(shè)是一個二元 (Bernoulli, boolean) 變量。
class sklearn.naive_bayes.BernoulliNB(alpha=1.0, binarize=0.0, fit_prior=True, class_prior=None)
alpha:平滑因子,與多項式中的alpha一致。
binarize:樣本特征二值化的閾值,默認是0。如果不輸入,則模型會認為所有特征都已經(jīng)是二值化形式了;如果輸入具體的值,則模型會把大于該值的部分歸為一類,小于的歸為另一類。
fit_prior:是否去學(xué)習(xí)類的先驗概率,默認是True
class_prior:各個類別的先驗概率,如果沒有指定,則模型會根據(jù)數(shù)據(jù)自動學(xué)習(xí), 每個類別的先驗概率相同,等于類標記總個數(shù)N分之一。
對象
class_log_prior_:每個類別平滑后的先驗對數(shù)概率。
feature_log_prob_:給定特征類別的經(jīng)驗對數(shù)概率。
class_count_:擬合過程中每個樣本的數(shù)量。
feature_count_:擬合過程中每個特征的數(shù)量。
方法
貝葉斯的方法和其他模型的方法一致。
fit(X,Y):在數(shù)據(jù)集(X,Y)上擬合模型。
get_params():獲取模型參數(shù)。
predict(X):對數(shù)據(jù)集X進行預(yù)測。
predict_log_proba(X):對數(shù)據(jù)集X預(yù)測,得到每個類別的概率對數(shù)值。predict_proba(X):對數(shù)據(jù)集X預(yù)測,得到每個類別的概率。
score(X,Y):得到模型在數(shù)據(jù)集(X,Y)的得分情況。
總結(jié)
以上是生活随笔為你收集整理的基于sklearn的朴素贝叶斯_Sklearn参数详解—贝叶斯的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《泰坦尼克号》3D 4K HDR 高帧率
- 下一篇: LOLS10总决赛战队图标表情