TextBlob實戰之樸素貝葉斯文字分類

2021-09-07 10:21:39 字數 1916 閱讀 9755

1.準備資料集:訓練集和測試集

train =[.

..('i love this sandwich.'

,'pos'),

...(

'this is an amazing place!'

,'pos'),

...(

'i feel very good about these beers.'

,'pos'),

...(

'this is my best work.'

,'pos'),

...(

"what an awesome view"

,'pos'),

...(

'i do not like this restaurant'

,'neg'),

...(

'i am tired of this stuff.'

,'neg'),

...(

"i can't deal with this"

,'neg'),

...(

'he is my sworn enemy!'

,'neg'),

...(

'my boss is horrible.'

,'neg')...]

test =[.

..('the beer was good.'

,'pos'),

...(

'i do not enjoy my job'

,'neg'),

...(

"i ain't feeling dandy today."

,'neg'),

...(

"i feel amazing!"

,'pos'),

...(

'gary is a friend of mine.'

,'pos'),

...(

"i can't believe i'm doing this."

,'neg')...]

2.建立樸素貝葉斯分類器

from textblob.classifiers import *****bayesclassifier
3.把訓練丟進去訓練

nb_model = *****bayesclassifier(train)
4.**新來的樣本

dev_sen =

"this is an amazing library!"

print

(nb_model.classify(dev_sen)

)

pos
也可以計算屬於某一類的概率

dev_sen_prob = nb_model.prob_classify(dev_sen)

print

(dev_sen_prob.prob(

"pos"

))

0.980117820324005
5.計算模型在測試集上的精確度

print

(nb_model.accuracy(test)

)

0.8333333333333334
歡迎關注【ai小白入門】,這裡分享python、機器學習、深度學習、自然語言處理、人工智慧等技術,關注前沿技術,求職經驗等,陪有夢想的你一起成長。

sklearn之樸素貝葉斯實戰

multinomialnb 實現了資料服從多項式分布時的貝葉斯演算法。import numpy as np 隨機產生0 4之間的整數,產六組,一組100個 x np.random randint 5,size 6,10 y np.array 1,2,3,4,5,6 from sklearn.baye...

機器學習實戰之樸素貝葉斯

4.樸素貝葉斯的優缺點 優點 在資料較少的情況下仍然有效,可以處理多類別問題。缺點 對於輸入資料的準備方式較為敏感。適用資料型別 標稱型資料。5.使用python進行文字分類 5.1 準備資料 從文字中構建詞向量 我們將把文字看成單詞向量或者詞條向量。考慮出現在所有文件中的所有單詞,再決定將哪些詞納...

樸素貝葉斯 機器學習實戰

主要引用的是機器學習實戰中第四章的例子。該例子中將所有的詞當作乙個特徵。我們已知類別下相應特徵的概率,計算出乙個特徵下屬於不同類別的概率大小,然後選取較大的為此特徵的類別。import numpy as np def loaddataset postinglist my dog has flea p...