之前在樸素貝葉斯算法原理小結(jié)這篇文章中,對樸素貝葉斯分類算法的原理做了一個總結(jié)。這里我們就從實戰(zhàn)的角度來看樸素貝葉斯類庫。重點講述scikit-learn 樸素貝葉斯類庫的使用要點和參數(shù)選擇。
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)分布,即如下式:
網(wǎng)友評論