1)获取数据集`
import sklearn
from sklearn.datasets import fetch_20newsgroups
news = fetch_20newsgroups(subset="all")
2)划分数据集
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(news.data, news.target, test_size=0.25, random_state=33)
3)特征工程:文本特征抽取-tfidf
import jieba
from sklearn.feature_extraction.text import TfidfVectorizer
transfer=TfidfVectorizer()
x_train=transfer.fit_transform(x_train)
x_test=transfer.transform(x_test)
4)朴素贝叶斯算法预估器流程
from sklearn.naive_bayes import MultinomialNB
estimator=MultinomialNB()
estimator.fit(x_train,y_train)
MultinomialNB(alpha=1.0, class_prior=None,fit_prior=True)
5)模型评估
方法1:直接比对真实值和预测值
y_predict=estimator.predict(x_test)
print('y_predict',y_predict)
print('直接对比',y_test==y_predict)
方法2:计算准确率
score=estimator.score(x_test,y_test)
print('准确率为',score)