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

贝叶斯公式

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

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

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

拉普拉斯平滑系数

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)
相关推荐
闲人编程11 分钟前
自动化文件管理:分类、重命名和备份
python·microsoft·分类·自动化·备份·重命名·自动化文件分类
青云交39 分钟前
Java 大视界 -- Java 大数据在智能农业温室环境调控与作物生长模型构建中的应用
java·机器学习·传感器技术·数据处理·作物生长模型·智能农业·温室环境调控
浣熊-论文指导1 小时前
聚类与Transformer融合的六大创新方向
论文阅读·深度学习·机器学习·transformer·聚类
ゞ 正在缓冲99%…1 小时前
leetcode2826.将三个组排序
算法·leetcode·动态规划
qq_401700412 小时前
matlab学习
学习·算法·matlab
budingxiaomoli3 小时前
算法--滑动窗口(一)
数据结构·算法
王哈哈^_^4 小时前
【数据集】【YOLO】【目标检测】农作物病害数据集 11498 张,病害检测,YOLOv8农作物病虫害识别系统实战训推教程。
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·1024程序员节
xier_ran4 小时前
邻接矩阵的 k 次幂意味着什么?从图论到路径计数的直观解释
算法·图论
数据库安全4 小时前
牛品推荐|分类分级效能飞跃:美创智能数据安全分类分级平台
大数据·人工智能·分类
机器学习之心5 小时前
PSO-Transformer-BiLSTM分类预测/故障诊断,优化参数为注意力机制头数、学习率、正则化系数、隐藏层单元,图很多,包括分类效果图,混淆矩阵图
学习·分类·transformer·pso-transformer