sklearn中的朴素贝叶斯模型及其应用
1.使用朴素贝叶斯模型对iris数据集进行花分类
尝试使用3种不同类型的朴素贝叶斯:
(1)多项式型
from sklearn import datasets iris=datasets.load_iris() from sklearn.model_selection import cross_val_score
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()
(2)高斯分布型
from sklearn.naive_bayes import GaussianNB gnb1=GaussianNB()#构造建立模型 pred=gnb1.fit(iris.data,iris.target)#模型训练,拟合 y_pred=gnb1.predict(iris.data)#分类预测 print(iris.data.shape[0],(iris.target!=y_pred).sum()) scores=cross_val_score(gnb1,iris.data,iris.target,cv=10) print("Accuracy:%.3f"%scores.mean()) print(y_pred)
(3)伯努利型
from sklearn.naive_bayes import BernoulliNB gnb2=BernoulliNB()#构造 pred=gnb2.fit(iris.data,iris.target)#模型训练,拟合 y_pred=gnb2.predict(iris.data)#分类预测 print(iris.data.shape[0],(iris.target!=y_pred).sum()) scores=cross_val_score(gnb2,iris.data,iris.target,cv=10) print("Accuracy:%.3f"%scores.mean()) print(y_pred)
2.使用sklearn.model_selection.cross_val_score(),对模型进行验证。