zoukankan      html  css  js  c++  java
  • 朴素贝叶斯

    朴素贝叶斯

    from sklearn.datasets import fetch_20newsgroups
    from sklearn.model_selection import train_test_split
    from sklearn.feature_extraction.text import TfidfVectorizer
    from sklearn.naive_bayes import MultinomialNB
    from sklearn.metrics import classification_report
    
    
    def naviebayes():
        """
        朴素贝叶斯进行文本分类
        :return: None
        """
        news = fetch_20newsgroups(subset='all')
    
        # 进行数据分割
        x_train, x_test, y_train, y_test = train_test_split(news.data, news.target, test_size=0.25)
    
        # 对数据集进行特征抽取
        tf = TfidfVectorizer()
    
        # 以训练集当中的词的列表进行每篇文章重要性统计['a','b','c','d']
        x_train = tf.fit_transform(x_train)
    
        print(tf.get_feature_names())
    
        x_test = tf.transform(x_test)
    
        # 进行朴素贝叶斯算法的预测
        mlt = MultinomialNB(alpha=1.0)
    
        print(x_train.toarray())
    
        mlt.fit(x_train, y_train)
    
        y_predict = mlt.predict(x_test)
    
        print("预测的文章类别为:", y_predict)
    
        # 得出准确率
        print("准确率为:", mlt.score(x_test, y_test))
    
        print("每个类别的精确率和召回率:", classification_report(y_test, y_predict, target_names=news.target_names))
    
        return None
    
    
    if __name__ == "__main__":
        naviebayes()
    

      

  • 相关阅读:
    把文本数据转化为json
    componentsSeparatedByString 的注意事项
    内存管理
    审核问题2.3.1
    H5缩放效果的问题和缓存问题
    iOS库
    DDOS 攻击防范
    连接数过多的问题
    nginx 长连接keeplive
    javascript 判断身份证的正确性
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/10334505.html
Copyright © 2011-2022 走看看