朴素贝叶斯算法基础——案例:对新闻进行分类

贝叶斯公式

朴素:假设特征与特征之间相互独立

朴素贝叶斯算法:朴素+贝叶斯

应用场景:文本分类(单词作为特征)

拉普拉斯平滑系数

Ni:F1词在C类别所有文档中出现的次数

N:所属类别C下的文档所有词出现的次数和

a:指定的系数一般为1

m:训练文档中统计出的特征词个数

不懂没关系,会用API就行!!!!!

API:

sklearn.naive_bayes.MultinomialNB(alpha = 1.0)

  • 朴素贝叶斯分类
  • alpha:拉普拉斯平滑系数

案例:

1、获取数据

2、划分数据集

3、特征工程------文本特征抽取

4、朴素贝叶斯算法的

5、模型评估

python 复制代码
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB

#用朴素贝叶斯算法对新闻进行分类
#获取数据
news = fetch_20newsgroups(subset = 'all')
#数据集划分
x_train,x_test,y_train,y_test = train_test_split(news.data,news.target)
print(x_train)
#特征工程------文本特征抽取
transfer = TfidfVectorizer()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)

#朴素贝叶斯算法预估器流程
estimator = MultinomialNB()
estimator.fit(x_train,y_train)
#模型评估
#方法一:直接比对真实值和预测值
y_predict = estimator.predict(x_test)
print("y_predict:\n",y_predict)
print("对真实值和预测值:\n",y_test == y_predict)
#方法二:计算准确率
score = estimator.score(x_test,y_test)
print("准确值为:\n",score)
相关推荐
Damon小智9 分钟前
合合信息DocFlow产品解析与体验:人人可搭建的AI自动化单据处理工作流
图像处理·人工智能·深度学习·机器学习·ai·自动化·docflow
半盏茶香19 分钟前
扬帆数据结构算法之雅舟航程,漫步C++幽谷——LeetCode刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构
数据结构·c++·算法
孤独且没人爱的纸鹤27 分钟前
【机器学习】深入无监督学习分裂型层次聚类的原理、算法结构与数学基础全方位解读,深度揭示其如何在数据空间中构建层次化聚类结构
人工智能·python·深度学习·机器学习·支持向量机·ai·聚类
CodeJourney.39 分钟前
小型分布式发电项目优化设计方案
算法
带多刺的玫瑰1 小时前
Leecode刷题C语言之从栈中取出K个硬币的最大面积和
数据结构·算法·图论
Cando学算法1 小时前
Codeforces Round 1000 (Div. 2)(前三题)
数据结构·c++·算法
薯条不要番茄酱1 小时前
【动态规划】落花人独立,微雨燕双飞 - 8. 01背包问题
算法·动态规划
小林熬夜学编程1 小时前
【Python】第三弹---编程基础进阶:掌握输入输出与运算符的全面指南
开发语言·python·算法
字节高级特工1 小时前
【优选算法】5----有效三角形个数
c++·算法
yuanbenshidiaos4 小时前
【大数据】机器学习----------强化学习机器学习阶段尾声
人工智能·机器学习