sklearn中的樸素貝葉斯模型及其應用

1.使用樸素貝葉斯模型對iris數據集進行花分類app

嘗試使用3種不一樣類型的樸素貝葉斯:spa

高斯分佈型3d

from sklearn import datasets
iris = datasets.load_iris()

from sklearn.naive_bayes import GaussianNB
gnb =  GaussianNB()
pred = gnb.fit(iris.data, iris.target)
y_pred = pred.predict(iris.data)

print(iris.data.shape[0],(iris.target !=y_pred).sum())

 

 

多項式型code

from sklearn import datasets
iris = datasets.load_iris()

from sklearn.naive_bayes import MultinomialNB
gnb =  MultinomialNB()
pred = gnb.fit(iris.data, iris.target)
y_pred = pred.predict(iris.data)

print(iris.data.shape[0],(iris.target !=y_pred).sum())

 

 

伯努利型blog

from sklearn import datasets
iris = datasets.load_iris()

from sklearn.naive_bayes import BernoulliNB
gnb =  BernoulliNB()
pred = gnb.fit(iris.data, iris.target)
y_pred = pred.predict(iris.data)

print(iris.data.shape[0],(iris.target !=y_pred).sum())

2.使用sklearn.model_selection.cross_val_score(),對模型進行驗證。utf-8

from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import cross_val_score
gnb =  GaussianNB()
scores=cross_val_score(gnb, iris.data,iris.target, cv=10)
print("Accuracy:%.3f"%scores.mean())

 

from sklearn.naive_bayes import BernoulliNB
from sklearn.model_selection import cross_val_score
gnb = BernoulliNB()
scores=cross_val_score(gnb, iris.data,iris.target, cv=10)
print("Accuracy:%.3f"%scores.mean())

 

from sklearn.naive_bayes import MultinomialNB
from sklearn.model_selection import cross_val_score
gnb = MultinomialNB()
scores=cross_val_score(gnb, iris.data,iris.target, cv=10)
print("Accuracy:%.3f"%scores.mean())

 

3. 垃圾郵件分類get

數據準備:it

  • 用csv讀取郵件數據,分解出郵件類別及郵件內容。
import csv
file_path=r'C:\Users\Administrator\Desktop\SMSSpamCollectionjsn.txt'
sms=open(file_path,'r',encoding='utf-8')
sms_data=[]
sms_label=[]
csv_reader=csv.reader(sms,delimiter='\t')
for line in csv_reader:
    sms_label.append(line[0])
sms.close()
print(len(sms_label))
sms_label

 

相關文章
相關標籤/搜索