1. scikit-learn 樸素貝葉斯類庫概述
樸素貝葉斯是一類比較簡單的算法,scikit-learn中樸素貝葉斯類庫的使用也比較簡單。相對于決策樹,KNN之類的算法,樸素貝葉斯需要關(guān)注的參數(shù)是比較少的,這樣也比較容易掌握。在scikit-learn中,一共有3個樸素貝葉斯的分類算法類。分別是GaussianNB,MultinomialNB和BernoulliNB。其中GaussianNB就是先驗為高斯分布的樸素貝葉斯,MultinomialNB就是先驗為多項式分布的樸素貝葉斯,而BernoulliNB就是先驗為伯努利分布的樸素貝葉斯。
這三個類適用的分類場景各不相同,一般來說,如果樣本特征的分布大部分是連續(xù)值,使用GaussianNB會比較好。如果如果樣本特征的分大部分是多元離散值,使用MultinomialNB比較合適。而如果樣本特征是二元離散值或者很稀疏的多元離散值,應(yīng)該使用BernoulliNB。
2. GaussianNB類使用總結(jié)
GaussianNB假設(shè)特征的先驗概率為正態(tài)分布,即如下式:
P(Xj=xj|Y=Ck)=12πσ2k????√exp(?(xj?μk)22σ2k)P(Xj=xj|Y=Ck)=12πσk2exp(?(xj?μk)22σk2)
其中CkCk為Y的第k類類別。μk和σ2kμk和σk2為需要從訓(xùn)練集估計的值。
GaussianNB會根據(jù)訓(xùn)練集求出μk和σ2kμk和σk2。 μkμk為在樣本類別CkCk中,所有XjXj的平均值。σ2k
網(wǎng)友評論