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

贝叶斯公式

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

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

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

拉普拉斯平滑系数

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)
相关推荐
哥布林学者16 小时前
高光谱成像(三)主成分分析 PCA
机器学习·高光谱成像
CoovallyAIHub16 小时前
Moonshine:比 Whisper 快 100 倍的端侧语音识别神器,Star 6.6K!
深度学习·算法·计算机视觉
OpenBayes贝式计算17 小时前
边看、边听、边说,MiniCPM-0-4.5 全双工全模态模型;Pan-Cancer scRNA-Seq 涵盖三种生物学状态单细胞转录数据集
人工智能·深度学习·机器学习
CoovallyAIHub17 小时前
速度暴涨10倍、成本暴降6倍!Mercury 2用扩散取代自回归,重新定义LLM推理速度
深度学习·算法·计算机视觉
CoovallyAIHub17 小时前
实时视觉AI智能体框架来了!Vision Agents 狂揽7K Star,延迟低至30ms,YOLO+Gemini实时联动!
算法·架构·github
OpenBayes贝式计算17 小时前
教程上新丨基于500万小时语音数据,Qwen3-TTS实现3秒语音克隆及精细调控
人工智能·深度学习·机器学习
CoovallyAIHub18 小时前
开源:YOLO最强对手?D-FINE目标检测与实例分割框架深度解析
人工智能·算法·github
CoovallyAIHub18 小时前
OpenClaw:从“19万星标”到“行业封杀”,这只“赛博龙虾”究竟触动了谁的神经?
算法·架构·github
刀法如飞18 小时前
程序员必须知道的核心算法思想
算法·编程开发·算法思想