python实现排列组合公式算法_朴素贝叶斯算法的Python实现

8ff3743a3413ce343dbe3e60eaee6ab0.png

朴素贝叶斯分类算法被广泛应用于文本分类场景中、包含垃圾邮件、互联网新闻等分类任务,属于有监督学习算法。它独立考量每一维度特征被分类的条件概率,然后综合这些概率对其所在的特征向量做出分类预测,即“假设各个维度上的特征被分类的条件概率之间是相互独立的”,该假设使得模型预测需要计算的参数规模从指数级降至线性级,极大地提升计算效率。该算法在模型训练过程中没考虑各个维度特征的相互联系,对于关联性较强的数据特征分类效果较差。

朴素贝叶斯的优缺点

优点:数据集较小时模型表现很好,适合增量式训练、多分类任务。

缺点:对输入数据的表达形式很敏感,由于其“朴素”的特点,也会带来一些准确率上的损失。


MultinomialNB算法的一般流程

  1. 数据采集:使用NumPy与pandas以及sklearn.datasets等方式获取或处理数据集
  2. 数据预处理:测试集、训练集构建,进行数据标准化处理,提取文本特征向量矩阵。
  3. 模型训练:MultinomialNB算法
  4. 模型测试:使用测试集,验证模型性能。
  5. 模型优化:使用交叉验证法优化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, PA

Lines: 15

NNTP-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实现如下:

a7c05b9ffe201869cf6b7abf7bbf6e0a.png

2. 数据预处理

使用 sklearn.model_selection.train_test_split方式,将整个数据集随机抽取80%作为训练集、剩余的20%作为测试集,并且进行数据标准化处理,且重复运行时,训练集与测试集不发生变化,Python实现如下:

8167b889db280b9416fcd2ce6f8a6d72.png

尝试使用四种方式实现文本特征向量的提取,并查看不同文本特征提取方式对算法分类识别率的影响:

  • CountVectorizer提取特征向量。
  • CountVectorizer提取特征向量且去掉停词。
  • TfidfVectorizer提取文本特征向量。
  • TfidfVectorizer提取文本特征向量且去掉停词。

CountVectorizer只考虑每种词汇在训练文本中出现的频率,而TfidfVectorizer除了考量某词汇在训练文本中出现的频率之外,能够降低出现频率高没有意义的词汇出现带来的影响,训练文本的数量越多,TfidfVectorizer方式更有优势,Python实现如下:

a74c960bd0dc6dbfbb6009dbac45e516.png

3. 模型训练及测试

7791bc9415b939f8b513990c71c47e0f.png

测试集验证结果如下:

d9ab6489a5c1af4ae9e3110046b071ea.png

扩展:生成模型和判别模型的区别

有监督机器学习方法可以分为生成模型和判别模型。

生成模型

无穷样本 -> 概率密度模型 = 产生式模型 -> 预测

生成式模型求得联合概率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³),…),概率最大的那个就是这只狗的品种结果。

8f5dd4b498768836aa2b8c55a5c0f91b.png

后续会继续分享线性、决策树、SVM、随机森林、K均值聚类等算法介绍及Python实现,若对你有所帮助,欢迎大家评论、留言、关注,感谢支持!

381544c6152ecd9b019f44c723717adb.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cdr怎么做文字路径_整理128张图片,告诉你文字少的PPT应该怎么做?

点击上方蓝字关注↑,下次看文更方便!微信扫码观看全套Excel、Word、PPT视频作者:自律的音律 来源:自律的音律(ID:yinlvPPT)哈喽,又到周一干货时间。我经常被问到一个问题,PPT 字多的时候&#…

网件rax40可以刷梅林_美国网件发布全系列Wi-Fi6家用无线路由器,部署未来家用产品市场...

5月25日,美国网件在深圳海上世界文化艺术中心发布全线WiFi 6产品,即RAX40、RAX80、RAX120、RAX200四款产品,重新布局WiFi市场,理论速度远远超出大多数家庭互联网连接所能提供的速度。新产品支持下一代Wi-Fi标准——802.11ax&#…

ios 部分string颜色_iOS-代码混淆加固方案

对于iOS来说,由于系统是封闭的,APP上架需要通过App Store,安全性来说相当高。但是对于大厂和知名APP而言,别人给的安全保障永远没有自己做的来得踏实。所以对于大厂、少部分企业级和金融支付类应用来说加固是相当重要的。下面是目…

Python入门基础之迭代和列表生成式

什么是迭代 在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。 在Python中,迭代是通过 for ... in 来完成的,而很多语言比如C或…

安川最小巧机器人_2020工博会,安川展品前瞻(机器人篇)

~基于YASKAWA(安川)核心产品和i-Mechatronics(i立方-机电一体化)概念,实现客户的生产改革~这次的中国国际工业博览会安川将展出至今为止最多的演示机数量。•提供现在重点关注的智能制造、半导体、汽车制造个性化解决方案•提供适用于所有生产…

如何调度spark程序_如何定时,周期性的运行程序?Python APScheduler实现任务灵活调度...

在我们的开发工作中,时常会有这样的开发需求,如需要定时或者周期性的运行某些程序,因此经常用到一些定时服务,如在 Linux系统中使用 Crond 服务实现程序的定时运行。在 Python中也有这样的一个模块,那就是 APScheduler…

redis实现轮询算法_【07期】Redis中是如何实现分布式锁的?

点击上方“Java面试题精选”,关注公众号面试刷图,查缺补漏分布式锁常见的三种实现方式:数据库乐观锁;基于Redis的分布式锁;基于ZooKeeper的分布式锁。本地面试考点是,你对Redis使用熟悉吗?Redis…

前端radio单选框默认选中_开发记录篇前端内容1

有段时间没有更新文章了,因为是用的公司电脑,没有虚拟机,所以就没法演示hadoop相关的东西了,而且大数据篇的东西需要花费一些时间和精力去收集整理内容,那大数据篇就先暂停一下。最近这段时间的话我可能会更新一些开发…

专属海报小程序_剑3泡泡 | 小程序给你一份专属的账号海报!

01按照惯例,这里是简介paopaods.com本期推送的是:如何正确的使用小程序每个账号均可小程序【剑3泡泡】搜到,生成专属账号海报!点击底部【点我卖号】即可拥有!02教程开始之前,安利paopaods.com泡泡家定金调整…

td不允许自己扩展_V神原文详解:通过及时性检测器(TD)解决区块链的51%攻击问题...

注:原文作者是以太坊联合创始人Vitalik Buterin,在这篇文章中,他提出了一种称为及时性检测器(TD)的构造,以试图解决区块链51%攻击的问题。(图:Vitalik Buterin)以下为译文:摘要我提出了一种基于Lamport 99%…

Hadoop安装之JDK在Centos虚拟机中安装

安装jdk.bin和jdk.tar.gz打的办法 安装jdk.bin 安装好的VM Centos7的虚拟机, 1、查看是否是64位操作系统: cat /proc/cpuinfo | grep flags | grep lm | wc -l 如果结果>0 则是64位操作系统 2、JDK 中 jdk-6u41-linux-x64.bin 和 jdk-6u41-linux-x64…

Exp3 免杀原理与实践

---恢复内容开始--- 一,实验内容 利用多种工具实现实现恶意代码免杀在另一台电脑上,杀软开启的情况下,实现运行后门程序并回连成功二,实验步骤 (1)使用msf编码器生成的后门程序 这里可以直接用上次实验生成…

如何进入指定文件目录_Python如何遍历操作指定文件目录下的全部Excel文件?

Python Tablib是麻省理工学院授权的与格式无关的表格数据集库。支持导入、导出和操作表格数据集,轻松的将数据导出为各种不同的格式,包括excel,json,html,yaml,csv,tsv等格式。接下来&#xff0…

《雪吁》

凛冽隆冬风骨寒,层云避日雾无边; 渐絮残花萧萧夜,窗前瘦花犹遮帘。 转载于:https://www.cnblogs.com/morron/p/8749430.html

条形图坐标轴_解密咨询报告中常见的双层条形图的制作方法

为了增加PPT的设计灵感,我除了经常逛一些设计社区之外,也会收集的各个公司咨询报告来学习。昨天我看了4份数据报告,发现这4份数据报告中都出现了一个共同的图表类型。第1个图表自于IXDC发布的《2018年中国用户体验行业调查报告》,…

赋值给集合_ArrayList集合源码

ArrayList简介ArrayList 是 Java 集合框架中比较常用的数据结构了。ArrayList是可以动态增长和缩减的索引序列,内部封装了一个动态再分配的Object[]数组这里我们可以看到ArrayList继承抽象类AbstractList,实现了 List 接口,同时还实现了 Rand…

剪切文件_lammps模拟带缺陷镍板剪切变形(in文件及注释)

本期给大家带来lammps模拟带缺陷镍板剪切变形的in文件及其详细注释。初始模型如图一所示:图1 生成的初始模型 in文件及注释如下:#利用eam势函数模拟带缺陷镍板的剪切#模型构成——上下镍板夹可动镍块,镍块中有圆柱形缺陷,移动上镍…

为什么将表格的method改为post后就无法工作_用Python将Keras深度学习模型部署为Web应用程序...

构建一个很棒的机器学习项目是一回事,但归根结底,你希望其他人能够看到你的辛勤工作。当然,你可以将整个项目放在GitHub上,但是怎么让你的祖父母也看到呢?我们想要的是将深度学习模型部署为世界上任何人都可以访问的We…

centos 源码安装mysql5.6_CentOS 7下源码安装MySQL 5.6

目录准备工作运行环境确认你的安装版本下载MySQL安装MySQL准备安装环境编译和安装配置MySQL单实例配置单实例配置方法添加防火墙启动MySQL重启MySQL多实例配置什么是多实例多实例配置方法创建启动文件初始化数据库配置防火墙启动MySQL登陆MySQL重启MySQL准备工作运行环境本文的…

跳一跳

转载于:https://www.cnblogs.com/shanhua-fu/p/8807348.html