樸素貝葉斯演算法對新聞進行分類

2021-10-07 00:14:24 字數 1421 閱讀 2370

from sklearn.datasets import fetch_20newsgroups
# 載入資料

news = fetch_20newsgroups(data_home=r'e:\jupyter--workspace'

,subset=

'all'

)

downloading 20news dataset. this may take a few minutes.

downloading dataset from (14 mb)

from sklearn.model_selection import train_test_split
# 資料劃分

x_train,x_test,y_train,y_test = train_test_split(news.data,news.target)

from sklearn.feature_extraction.text import tfidfvectorizer
# 文字特徵抽取

transfer = tfidfvectorizer(

)x_train=transfer.fit_transform(x_train)

x_test = transfer.transform(x_test)

from sklearn.*****_bayes import multinomialnb
# 構建樸素貝葉斯演算法預估器

estimator = multinomialnb(

)estimator.fit(x_train,y_train)

multinomialnb(alpha=1.0, class_prior=none, fit_prior=true)
# 評估模型

y_predict = estimator.predict(x_test)

print

('真實值與**值對吧:\n'

,y_predict==y_test)

真實值與**值對吧:

[ true false true ... false true true]

# 計算準確率

score = estimator.score(x_test,y_test)

print

("準確率:\n"

, score)

準確率:

0.8378607809847198

樸素貝葉斯分類

1 貝葉斯分類是一類分類演算法的總稱,這類演算法均以貝葉斯定理為基礎,故統稱為貝葉斯分類。2 樸素貝葉斯的思想基礎是這樣的 對於給出的待分類項,求解在此項出現的條件下各個類別出現的概率,哪個最大,就認為此待分類項屬於哪個類別。通俗來說,就好比這麼個道理,你在街上看到乙個黑人,我問你你猜這哥們 來的,...

樸素貝葉斯分類

摘自寫在公司內部的wiki 要解決的問題 表中增加欄位classification,有四個取值 0 初始值,未分類 1 positive 2 normal 99 negative review submit前,由樸素貝葉斯分類器決定該條review的flag屬於negative還是positive ...

分類 樸素貝葉斯

原始的貝葉斯公式為 p b a p a b p a p a b p b p a 1 在分類問題中,y為類別,x為樣本特徵,則已知待 的樣本特徵 x 它為類別yi 的概率為 p yi x p x yi p y i p x p yi jp xj y i p x 2 p yi 類別為y i的樣本 數總樣本...