机器学习——朴素贝叶斯
程序员文章站
2024-01-23 15:50:52
在考虑一个结果的概率时候,要考虑众多的属性,贝叶斯算法利用所有可能的数据来进行修正预测,如果大量的特征产生的影响较小,放在一起,组合的影响较大,适合于朴素贝叶斯分类 导入类库 代码 ......
在考虑一个结果的概率时候,要考虑众多的属性,贝叶斯算法利用所有可能的数据来进行修正预测,如果大量的特征产生的影响较小,放在一起,组合的影响较大,适合于朴素贝叶斯分类
导入类库
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]))
上一篇: JS判断元素为数字的奇异写法分享
下一篇: Tips 带三角可关闭的文字提示