python机器学习的关联分析(Apriori)都有哪些算法?
计算机二级12月考试时间 几号考试
python机器学习的关联分析(Apriori)都有哪些算法?
1、基本概念
关联分析是就是从大规模的数据集中寻找物品隐含关系(频繁模式,相关性或因果结构),关联分析的目的就是寻找频繁项集和发现关联规则。因此引入两个支持度和置信度来衡量着关联分析是否成功。
支持度是指数据集中包含该项集的记录占比;P(X) = count(X)/总数。
置信度是指在给定X条件下,Y发生的概率;P(Y|X)=count(X,Y)/count(X)。
因为关联分析主要目的是寻找频繁项集,如果通过暴力寻找,结果是几何性增长运算量大。如有A、B、C三个事物,其集合项就会有{A},{B},{C},{A,B},{A,C},{B,C},{A,B,C}等7中类型。包含N个物品的数据项集,其结果为2^n-1。为减少频繁项集的计算引入了Apriori算法。
Apriori原理是,如果某项集是频繁的,那么它的子集也是频繁的。反过来也是成立的。如图所示,如果{2,3}是非频繁的,那么其{0,2,3}{1,2,3}{0,1,2,3}都是非频繁项集。
同时在寻找关联规则中,如果前项可信度较低,那么其作为后项的可信度也会低,因此将后期不用在进行计算。
另外,Apriori在拉丁语中是指“来自以前”,因此它会使用先验知识,这在贝叶斯中的先验概率有异曲同工之处。
2、场景应用
- (1):购物篮分析,通过分析商品销售记录,参考哪些商品经常一起出售,理解用户购物行为,能够应用到市场营销,物品摆放,库存管理,商品定价等环节。其中著名的商业应用实例就是啤酒和尿布的关系。
- (2):共同词分析:对于给定的搜索词,发现推文中频繁出现的单词集合。
- (3):流行趋势分析:从新闻网站点击浏览中分析新闻流行趋势,分析哪些类型新闻将被用户浏览到。
- (4):搜索引擎推荐:在用户输入查询时推荐同时相关的查询词项。如今日头条的推荐搜索,相关词搜索等。
3、优缺点
该算法的优点是代码容易实现,结果容易理解,并能够直接应用于商业决策中。
该算法的缺点是在大数据集上运算速度可能比较慢。
4、实施步骤
Apriori算法的主要步骤包括:
- (1)根据数据集生成候选项,首先生成单物品候选项集;
- (2)设定最小支持度和最小置信度;
- (3)过滤掉数据项集占比低于最小支持度的项,形成频繁项;
- (4)根据(3)形成的频繁项集结果,进行项集之间的组合形成新的项集集合;
- (5)重复(3)-(4),直到没有新的项集满足最小支持度;
- (6)根据(5)形成的最终频繁集合,计算频繁集合所含物品之间的置信度,过滤掉小于最小置信度的项集;
- (7)根据(6)结果,生成关联规则,并计算其置信度。
5、python实现
- 【1.示例数据】
本样本示例共包含4个数据,分别是:1, 3, 4], 2, 3, 5], 1, 2, 3, 5], 2, 5]
- 【2.生成候选项】
生成的候选项共有5个,分别是1,], 2], 3], 4],5]
- 【3.生成频繁项】
本次设定的最小支持度为0.5,其中频繁项L =1,], 2], 3], 5],表示该四项的支持度>=0.5;另外S 集合给出了各项的支持度。
- 【4.频繁项组合】
在第(3)基础上,通过频繁项的组合共有9项符合大于最小支持度,见Lk项,包括4项1个数字,4项2个数字和1项3个数字集合的项集,可见后边的频繁都是前边项组合来的。另外Sk给出了各项的支撑度。
- 【5、生成关联规则】
生成关联规则,本次设定的最小置信度为0.7,总共发现三条关联规则分别是:{1}-{3};{2}-{5};{5}-{2};其中{2}和{5}可以换前后条件,但是{1}和{3}则不行。
6、学习经验总结
关联规则作为无监督算法,其可发现隐藏在数据背后的规律,因此该算法在商业上得到较多运用,尤其是分析用户的购物行为。该算法基本容易理解和实现。关键是在设定合适的最小支持度和最小置信度,因此如果在真正建模时候可以根据业务场景和实际运用来不断调整参数。
计算机二级12月考试时间 几号考试
"12月全国计算机二级考试时间为12月3日至4日(第67次),其中3月和9月开考全部级别全部科目,5月和12月考试开考一、二级全部科目,不过由于部分省份之前有推迟,部分省份12月也可报考其他级别。
计算机二级考试科目考试时间及介绍:
级别 | 科目名称 | 科目代码 | 考试时间 | 考核课程代码 | 获证条件 |
二级 | C语言程序设计 | 24 | 120分钟 | 201、224 | 科目24考试合格 |
Java语言程序设计 | 28 | 120分钟 | 201、228 | 科目28考试合格 | |
Access数据库程序设计 | 29 | 120分钟 | 201、229 | 科目29考试合格 | |
C++语言程序设计 | 61 | 120分钟 | 201、261 | 科目61考试合格 | |
MySQL数据库程序设计 | 63 | 120分钟 | 201、263 | 科目63考试合格 | |
Web程序设计 | 64 | 120分钟 | 201、264 | 科目64考试合格 | |
MS Office高级应用与设计 | 65 | 120分钟 | 201、265 | 科目65考试合格 | |
Python语言程序设计 | 66 | 120分钟 | 201、266 | 科目66考试合格 | |
WPS Office高级应用与设计 | 67 | 120分钟 | 201、267 | 科目67考试合格 | |
openGauss数据库程序设计 | 68 | 120分钟 | 201、268 | 科目68考试合格 |
计算机二级考哪个科目简单
计算机二级比较好考的科目有c语言、access和python,如果考计算机二级的目的就是为了取得一个证书,那么可以考虑这几个专业,因为大多数同学会在大学学习这两门课程,考起来会相对容易一些。
如果将来想要从事编程或者软件开发工作,那么考计算机二级的时候需要选择python、java、c++、c语言等科目,因为这几个计算机二级科目是目前非常火并且使用非常广泛的编程语言,实用性强,对以后就业也很有帮助。
如果是想要简单的学习一下办公室常用的软件,掌握一下相应的技能,可以考虑学习计算机二级wps office、计算机二级ms office等科目,这两个科目的内容都是比较实用的办公常用技能。
计算机二级证书的含金量表现在可以加创新学分,可以免考高等自学考试对应科目,可以帮忙落户北上广地区、可以帮助证书持有人进行职称评审。可以说计算机二级证书的含金量还是比较大的。
很多高校都通过制定考证加分的政策来鼓励学生考取一些技能证书,拿到计算机二级证书,不仅可以加创新学分,还可以评优帮助领毕业证。
"