2.1.1.3樸素貝葉斯

模型介紹:與基于假設(shè)的模型(線性分類器和支持向量機(jī)分類器)不同的是,樸素貝葉斯分類器的構(gòu)造基礎(chǔ)是貝葉斯理論。
樸素貝葉斯分類器會單獨考量每一個維度特征被分類的條件概率,進(jìn)而綜合這些概率并對其所在的特征向量做出分類預(yù)測。因此,這個模型的基本數(shù)字假設(shè)是:各個維度上的特征被分類的條件概率是相互獨立的。

讀取20類新聞文本的數(shù)據(jù)細(xì)節(jié)
#從sklearn.datasets里導(dǎo)入新聞數(shù)據(jù)抓取器fetch_20newsgroups
from sklearn.datasets import fetch_20newsgroups
#與之前預(yù)存的數(shù)據(jù)不同,fetch_20newsgroups需要即時從互聯(lián)網(wǎng)下載數(shù)據(jù)
news=fetch_20newsgroups(subset='all')
#查驗數(shù)據(jù)規(guī)模和細(xì)節(jié)
print(len(news.data))

18846

print(news.data[0])

不同于前面的樣例數(shù)據(jù),這些文本數(shù)據(jù)既沒有被設(shè)定特征,也沒有數(shù)字化的量度。因此,在交給樸素貝葉斯分類器學(xué)習(xí)之前,要對數(shù)據(jù)做進(jìn)一步處理。不過在此之前,對數(shù)據(jù)進(jìn)行分割并且隨機(jī)采樣出一部分用于測試。

20類新聞文本數(shù)據(jù)分割
from sklearn.cross_validation import train_test_split
X_train,X_test,y_train,y_test=train_test_split(news.data,news.target,test_size=0.25,random_state=33)
使用樸素貝葉斯分類器對新聞文本數(shù)據(jù)進(jìn)行類別預(yù)測
#從sklearn.feauture_extraction.text里導(dǎo)入用于文本特征向量轉(zhuǎn)化模塊。
from sklearn.feature_extraction.text import CountVectorizer
vec=CountVectorizer()
X_train=vec.fit_transform(X_train)
X_test=vec.transform(X_test)
#從sklearn.naive_bayes里導(dǎo)入樸素貝葉斯模型
from sklearn.naive_bayes import MultinomialNB
#從使用默認(rèn)配置初始化樸素貝葉斯模型
mnb=MultinomialNB()
#利用訓(xùn)練數(shù)據(jù)對模型參數(shù)進(jìn)行估計
mnb.fit(X_train,y_train)
#對測試樣本進(jìn)行類別預(yù)測,結(jié)果存儲在變量y_predict中
y_predict=mnb.predict(X_test)
對樸素貝葉斯分類器在新聞文本數(shù)據(jù)進(jìn)行類別預(yù)測的表現(xiàn)性能進(jìn)行評估
from sklearn.metrics import classification_report
print('The Accuracy of LinearSVC is',mnb.score(X_test,y_test))

The Accuracy of LinearSVC is 0.839770797963

print(classification_report(y_test,y_predict,target_names=news.target_names))
特點分析

樸素貝葉斯分類器被廣泛應(yīng)用于海量互聯(lián)網(wǎng)文本分類任務(wù)。由于其較強(qiáng)的特征條件獨立假設(shè),使得模型預(yù)測所需要估計的參數(shù)規(guī)模從冪指數(shù)量級向線性量級減少,極大地節(jié)約了內(nèi)存消耗的計算時間。但是,也正是受這種強(qiáng)假設(shè)的限制,模型訓(xùn)練時無法將各個特征之間的聯(lián)系考量在內(nèi),使得該模型在其他數(shù)量特征關(guān)聯(lián)性較強(qiáng)的分類任務(wù)上的性能表現(xiàn)不佳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容