机器学习__Apriori算法

机器学习__Apriori算法

ID:47664896

大小:43.00 KB

页数:12页

时间:2020-01-28

机器学习__Apriori算法_第1页
机器学习__Apriori算法_第2页
机器学习__Apriori算法_第3页
机器学习__Apriori算法_第4页
机器学习__Apriori算法_第5页
资源描述:

《机器学习__Apriori算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.word格式,机器学习--Apriori算法一、基本原理   手机微信关注公众号:datadw学习数据挖掘,研究大数据,关注你想了解的,分享你需要的。关联分析(associationanalysis)就是从大规模数据集中寻找物品间的隐含关系。这里的主要问题是,寻找物品的不同组合是一项十分耗时的任务,所需计算代价很高,蛮力搜索方法并不能解决这个问题,所以需要用更智能的方法在合理的时间内找到频繁项集。Apriori算法正是基于该原理得到的。      关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系分为两种形式:频繁项集和关

2、联规则。频繁项集(frequentitemsets)是经常出现在一起的物品的集合。其中频繁的概念可以用支持度来定义。支持度(support)被定义为数据集中包含该项集的记录所占的比例,保留满足最小支持度的项集。关联规则(associationrules)暗示两种物品之间可能存在很强的关系。关联的概念可用置信度或可信度来定义。      ,专业.专注..word格式,我们的目标是找到经常在一起购买的物品集合,通过使用集合的支持度来度量其出现的频率。一个集合的支持度是指有多少比例的交易记录包含该集合。假如有N种物品,那么这些物品就有2^

3、N-1种项集组合。即使只出售100种物品,它们之间的组合数对于现有的计算机也是吃不消的。为了降低这种复杂度,有人提出了Apriori算法。Apriori原理是说如果某个项集是频繁的,那么它的所有子集也是频繁的。反过来,如果某一项集是非频繁集,那么它的所有超集(包含该集的集合)也是非频繁的。 二、算法流程    对数据集的每条交易记录transaction   对每个候选项集can:       检查一下can是否是transaction的子集:        如果是,则增加can的计数值    对每个候选项集:    如果其支持度不

4、低于最小值,则保留该项集   返回所有频繁项集列表    三、算法的特点   优点:易编码实现    缺点:在大规模数据集上可能较慢。    适用数据范围:数值型或标称型。 四、python代码实现 1、创建简单数据集##############################功能:创建一个简单的测试数据集,专业.专注..word格式,#说明:数字1、2、3、4、5代表物品1、、、物品5,#每个子集代表顾客的交易记录#输入变量:空#输出变量:数据集#############################defload_data_s

5、et():   return[[1,3,4],[2,3,5],[1,2,3,5],[2,5]] 2、创建大小为1的不重复项集###################################功能:构建一个大小为1的不重复候选项集#输入变量:测试数据集#输出变量:候选项集合#############################defcreate_c1(data_set):   c1=[]   fortransactionindata_set: #遍历数据集中所有的交易记录       foritemintransaction:

6、 #遍历每条记录的每一项           if[item]notinc1: #如果该物品没有在c1中               c1.append([item])   c1.sort(),专业.专注..word格式,   #set和frozenset皆为无序唯一值序列。   #set和frozenset最本质的区别是前者是可变的、后者是不可变的。   #frozenset的不变性,可以作为字典的键值使用。   returnmap(frozenset,c1) 3、保留满足最小支持度的项集#####################

7、################功能:扫描候选集集合,把支持度大于最小支持度的元素留下来,#通过去掉小于支持度的元素,可以减少后面查找的工作量。#输入变量:数据集,候选项集列表,最小支持度#data_set,ck,min_support#输出变量:大于最小支持度的元素列表,包含支持度的字典#ret_list,support_data####################################defscan_d(data_set,ck,min_support):   D=map(set,data_set)   ss_cnt

8、={}   fortidinD: #遍历数据集中所有交易       forcaninck: #遍历候选项集,专业.专注..word格式,           #判断候选集中该集合是数据集中交易记录的子集           #set

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。