网站项目设计具体方案,电商运营培训课程,西宁公司做网站,永济网站建设朴素贝叶斯分类算法被广泛应用于文本分类场景中、包含垃圾邮件、互联网新闻等分类任务#xff0c;属于有监督学习算法。它独立考量每一维度特征被分类的条件概率#xff0c;然后综合这些概率对其所在的特征向量做出分类预测#xff0c;即“假设各个维度上的特征被分类的条件…朴素贝叶斯分类算法被广泛应用于文本分类场景中、包含垃圾邮件、互联网新闻等分类任务属于有监督学习算法。它独立考量每一维度特征被分类的条件概率然后综合这些概率对其所在的特征向量做出分类预测即“假设各个维度上的特征被分类的条件概率之间是相互独立的”该假设使得模型预测需要计算的参数规模从指数级降至线性级极大地提升计算效率。该算法在模型训练过程中没考虑各个维度特征的相互联系对于关联性较强的数据特征分类效果较差。朴素贝叶斯的优缺点优点数据集较小时模型表现很好适合增量式训练、多分类任务。缺点对输入数据的表达形式很敏感由于其“朴素”的特点也会带来一些准确率上的损失。MultinomialNB算法的一般流程数据采集使用NumPy与pandas以及sklearn.datasets等方式获取或处理数据集数据预处理测试集、训练集构建进行数据标准化处理提取文本特征向量矩阵。模型训练MultinomialNB算法模型测试使用测试集验证模型性能。模型优化使用交叉验证法优化K值取值。MultinomialNB(多项式模型)的Python实现1. 数据采集该数据集包含分布在20个不同新闻组中的18846篇文档数据来源from sklearn.datasets import fetch_20newsgroups 数据标签alt.atheism, comp.graphics, comp.os.ms-windows.misc, comp.sys.ibm.pc.hardware, comp.sys.mac.hardware, comp.windows.x, misc.forsale, rec.autos, rec.motorcycles, rec.sport.baseball, rec.sport.hockey, sci.crypt, sci.electronics, sci.med, sci.space, soc.religion.christian, talk.politics.guns, talk.politics.mideast, talk.politics.misc, talk.religion.misc数据样例From: Alexander Samuel McDiarmid Subject: driver ??Organization: Sophomore, Mechanical Engineering, Carnegie Mellon, Pittsburgh, PALines: 15NNTP-Posting-Host: po4.andrew.cmu.edu 1) I have an old Jasmine drive which I cannot use with my new system ……使用sklearn.datasets.fetch_20newsgroups(新闻数据抓取器)加载数据集Python实现如下2. 数据预处理使用 sklearn.model_selection.train_test_split方式将整个数据集随机抽取80%作为训练集、剩余的20%作为测试集并且进行数据标准化处理且重复运行时训练集与测试集不发生变化Python实现如下尝试使用四种方式实现文本特征向量的提取并查看不同文本特征提取方式对算法分类识别率的影响CountVectorizer提取特征向量。CountVectorizer提取特征向量且去掉停词。TfidfVectorizer提取文本特征向量。TfidfVectorizer提取文本特征向量且去掉停词。CountVectorizer只考虑每种词汇在训练文本中出现的频率而TfidfVectorizer除了考量某词汇在训练文本中出现的频率之外能够降低出现频率高没有意义的词汇出现带来的影响训练文本的数量越多TfidfVectorizer方式更有优势Python实现如下3. 模型训练及测试测试集验证结果如下扩展生成模型和判别模型的区别有监督机器学习方法可以分为生成模型和判别模型。生成模型无穷样本 - 概率密度模型 产生式模型 - 预测生成式模型求得联合概率P(Y,X)对于未见示例X需要求出X与不同标签之间的联合概率分布然后概率大的获胜。常见生成模型朴素贝叶斯、KNN、高斯混合模型、隐马尔可夫模型、限制玻尔兹曼机、文档主题生成模型(LDA)生成模型举例利用生成模型是根据哈士奇的特征首先学习出一个哈士奇的模型然后根据边境牧羊犬的特征学习出一个边境牧羊犬的模型然后从这只羊中提取特征放到哈士奇羊模型中看概率是多少在放到边境牧羊犬模型中看概率是多少哪个概率大就是哪种品种的狗求的是P(X,Y)即联合概率。判别模型有限样本 - 判别函数 判别式模型 - 预测对于判别式模型来说求得P(Y|X)对未见示例X根据P(Y|X)可以求得标记Y即可以直接判别出标签。常见判别模型K-近邻、决策树、SVM、线性判别分析(LDA)、支持向量机、线性回归、传统的神经网络、逻辑斯蒂回归。判别模型举例要确定一个狗是哈士奇还是边境牧羊犬用判别模型的方法是从训练集中学习到模型然后通过提取这只狗的特征来直接预测出这只狗的品种(正例)概率其根据X“判别”Y求的是P(Y|X)即后验概率。判别式模型是根据一只狗的特征可以直接给出这只狗品种(正例)的概率(比如 概率为0.8)而生成式模型是要都试一试((X,Y¹), (X,Y²), (X,Y³),…)概率最大的那个就是这只狗的品种结果。后续会继续分享线性、决策树、SVM、随机森林、K均值聚类等算法介绍及Python实现若对你有所帮助欢迎大家评论、留言、关注感谢支持