樸素貝葉斯

2021-10-14 15:23:15 字數 974 閱讀 4209

eg:以fetch_20newsgroups新聞資料集為例,進行分類:

import numpy as np

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.datasets import fetch_20newsgroups

from sklearn.*****_bayes import multinomialnb

news =

fetch_20newsgroups

(subset=

'all'

)# 進行資料分割

x_train, x_test, y_train, y_test =

train_test_split

(news.data, news.target, test_size=

0.25

)# 對資料集進行特徵抽取

tf =

tfidfvectorizer()

#以訓練集當中的詞的列表進行每篇文章重要性統計

#test集直接呼叫transform

x_train = tf.

fit_transform

(x_train)

x_test = tf.

transform

(x_test)

# 進行樸素貝葉斯演算法的**

mlt =

multinomialnb

(alpha=

1.0)

mlt.

fit(x_train, y_train)

y_predict = mlt.

predict

(x_test)

# 得出準確率

score=mlt.

score

(x_test, y_test)

樸素貝葉斯

樸素貝葉斯演算法是一種基於概率統計的分類方法,它主要利用貝葉斯公式對樣本事件求概率,通過概率進行分類。以下先對貝葉斯公式做個了解。對於事件a b,若p b 0,則事件a在事件b發生的條件下發生的概率為 p a b p a b p b 將條件概率稍作轉化即可得到貝葉斯公式如下 p a b p b a ...

樸素貝葉斯

1.準備資料 從文字中構建詞向量 2.訓練演算法 從詞向量計算概率 3.測試演算法 儲存為 bayes.py 檔案 參考 coding utf 8 from numpy import 文字轉化為詞向量 def loaddataset postinglist my dog has flea probl...

樸素貝葉斯

機器學習是將資料轉化為決策面的過程 scikit learn縮寫為sklearn 訓練乙個分類器,學習之後 其處理的準確性 def nbaccuracy features train,labels train,features test,labels test from sklearn.bayes ...