朴素贝叶斯(Naive Bayes)

朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。

《朴素贝叶斯(Naive Bayes)》 朴素贝叶斯.png

利用朴素贝叶斯进行文本挖掘
代码如下:

#从sklearn.datasets导入新闻数据抓取器
from sklearn.datasets import fetch_20newsgroups
#fetch_20newsgroups抓取器需要即时地从互联网下载数据
news=fetch_20newsgroups(subset='all')
print(news)
#查看数据规模的细节
print(len(news.data))
print(news.data[0])
#对新闻数据进行分割
from sklearn.cross_validation import train_test_split
#随机选取25%用于样本测试
X_train,X_test,Y_train,Y_test=train_test_split(news.data,news.target,test_size=0.25,random_state=33)
#导入特征向量转化模块
from sklearn.feature_extraction.text import CountVectorizer
vec=CountVectorizer()
X_train=vec.fit_transform(X_train)
X_test=vec.transform(X_test)
#导入朴素贝叶斯模型
from sklearn.naive_bayes import MultinomialNB
#初始化朴素贝叶斯模型
mnb=MultinomialNB()
#利用训练数据对模型参数进行估计
mnb.fit(X_train,Y_train)
#对测试样本进行类别预测,结果存储在y_predict中
y_predict=mnb.predict(X_test)
#分析分类性能
from sklearn.metrics import classification_report
print('The accuracy of Naive Class is:',mnb.score(X_test,Y_test))
print(classification_report(Y_test,y_predict,target_names=news.target_names))

结果如下:

《朴素贝叶斯(Naive Bayes)》 Paste_Image.png

    原文作者:HeartGo
    原文地址: https://www.jianshu.com/p/9d0fa9d935d2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞