• 机器学习——朴素贝叶斯


     在考虑一个结果的概率时候,要考虑众多的属性,贝叶斯算法利用所有可能的数据来进行修正预测,如果大量的特征产生的影响较小,放在一起,组合的影响较大,适合于朴素贝叶斯分类

    导入类库

    1 from sklearn.datasets import fetch_20newsgroups
    2 from sklearn.feature_extraction.text import TfidfVectorizer
    3 from sklearn.naive_bayes import MultinomialNB

    代码

     1 def article_category():
     2     categories = ['alt.atheism', 'soc.religion.christian', 'comp.graphics', 'sci.med']
     3     twenty_train = fetch_20newsgroups(subset='train', categories=categories)
     4     # print(twenty_train)
     5     print(twenty_train.data)
     6     print(twenty_train.target)
     7     # 将x训练集词频向量化
     8     tfidf_transformer = TfidfVectorizer()
     9     X_train_tfidf = tfidf_transformer.fit_transform(twenty_train.data)
    10 
    11     # 贝叶斯训练
    12     clf = MultinomialNB(alpha=1.0).fit(X_train_tfidf, twenty_train.target)
    13     docs_new = ['Chemical reaction', 'Intel CPU is good']
    14 
    15     # 将要预测的数据词频向量化
    16     X_new_tfidf = tfidf_transformer.transform(docs_new)
    17     # 预测
    18     predicted = clf.predict(X_new_tfidf)
    19     print(predicted)
    20     for doc, category in zip(docs_new, predicted):
    21         print('%r => %s' % (doc, twenty_train.target_names[category]))
  • 相关阅读:
    Python下用Tkinter进行GUI编程
    6月3日——回首一个半月
    Consistent Hashing算法
    学生终究要面对社会
    MySQL的锁(1)
    Memcached笔记之分布式算法(idv2.com)
    4月21日总结
    2012.3.29小结
    C#调用c++创建的dll
    以post方式发送文档到端口
  • 原文地址:https://www.cnblogs.com/siplips/p/9757642.html
Copyright © 2020-2023  润新知