朴素贝叶斯(Naive Bayes)

作者: HeartGo | 来源:发表于2017-03-06 17:14 被阅读260次

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

    朴素贝叶斯.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))
    

    结果如下:

    Paste_Image.png

    相关文章

      网友评论

        本文标题:朴素贝叶斯(Naive Bayes)

        本文链接:https://www.haomeiwen.com/subject/seeugttx.html