作业11
#1.使用朴素贝叶斯模型对iris数据集进行花分类 #尝试使用3种不同类型的朴素贝叶斯: #高斯分布型,多项式型,伯努利型 #GaussianNB 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()) #BernoulliNB from sklearn import datasets iris = datasets.load_iris() from sklearn.naive_bayes import BernoulliNB gnb = BernoulliNB() #建立模型 gnb.fit(iris.data,iris.target) #模型训练 y_pred=gnb.predict(iris.data) #分类预测 print(iris.data.shape[0],(iris.target !=y_pred).sum()) #MultinomialNB 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()) #2.使用sklearn.model_selection.cross_val_score(),对模型进行验证。 #检测模型的好坏BernoulliNB 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("Accuray:%.3f"%scores.mean()) #检测模型的好坏MultinomialNB 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("Accuray:%.3f"%scores.mean()) #检测模型的好坏GaussianNB 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("Accuray:%.3f"%scores.mean())
import csv file_path=r'C:\Users\pc\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