[发明专利]一种基于Spark框架的增量式频繁项集挖掘方法在审
申请号: | 201811551301.8 | 申请日: | 2018-12-18 |
公开(公告)号: | CN109739897A | 公开(公告)日: | 2019-05-10 |
发明(设计)人: | 何梦思;唐卓;李肯立;李克勤;付仲明;肖伟 | 申请(专利权)人: | 湖南大学 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458 |
代理公司: | 长沙市融智专利事务所(普通合伙) 43114 | 代理人: | 龚燕妮 |
地址: | 410082 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 频繁项集 增量式 有效解决 挖掘 并行 大规模数据 自适应算法 动态数据 能力不足 频繁模式 增量处理 时效性 数据量 自适应 | ||
1.一种基于Spark框架的增量式频繁项集挖掘方法,其特征在于,包括以下几个步骤:
步骤1:获取原始数据集AprioriDB的初始一元频繁项集;
依据设定的频繁项集最小支持度,计算原始数据集AprioriDB中每个项的支持度,将大于或等于设定的频繁项集最小支持度的项作为初始一元频繁项集;
步骤2:利用k-1元频繁项集Lk-1迭代生成k元频繁项集Lk;
步骤3:按照步骤1-2所述方法,提取新增数据集Aprioridb的频繁项集和对应的支持度,Aprioridb的频繁项集及其支持度结果记为f;
步骤4:运行任务taskFRead读取原始数据集AprioriDB的频繁项集及对应的支持度,AprioriDB的频繁项集及其支持度结果记为F;
步骤5:运行任务taskClassify读取并合并f和F,依据支持度的合并结果,将所有的频繁项集进行分类,得到三种不同类型的项集,分别是:项集F∩f、项集f-F、F-f;同时运行任务taskdbRead和taskDBRead读取原始数据集AprioriDB和新增数据集Aprioridb;
其中,项集F∩f中的每个项集在AprioriDB和Aprioridb中都是频繁项集;
项集f-F是指从f中去除F中存在的项集,需要扫描AprioriDB,并计算f-F中每一个项集在AprioriDB中的支持度;
项集F-f是指从F中去除f中存在的项集,需要扫描Aprioridb,计算F-f中每一个项集在Aprioridb中的支持度;
步骤6:同时运行三个不同的任务,分别读取并更新项集F∩f、项集f-F、项集F-f中的每个项集的支持度;
其中,项集F∩f中的所有频繁项集记为DirectF;
项集f-F中的每个项集通过扫描AprioriDB计算各项集在整个数据集中的最终支持度;再筛选出支持度小于MIN_SUP×(D×d)的项集,获得所有频繁项集scan_DBF;
项集F-f中的每个项集扫描Aprioridb计算各项集在整个数据集中的最终支持度;再过滤出支持度少于MIN_SUP×(D×d)的项集,获得所有频繁项集果scan_dbF;
步骤7:运行任务taskUnion合并频繁项集结果DirectF,scan_DBF和scan_dbF以得到最终的频繁项集结果F′。
2.根据权利要求1所述的方法,其特征在于,在步骤2中依据数据处理的时间复杂度,为每次迭代选择不同的计算方法;
其中,m为频繁项集的数量;b为每个事务中的平均项目数;P为map任务的数量;Y为事务的数量;I:迭代的次数;表示第I次迭代中得到m个频繁项集;表示第I次迭代中得到每个事务的b个平均项目数;
若上式成立,则选择方法1,否则,选择方法2;
方法1:输入文件为存储在HDFS上的数据集AprioriDB和存储在Bloom过滤器中的上一次迭代后得到的k元频繁项集Lk;
首先,map任务接收事务并修剪事务,使它只包含存在Bloom过滤器的项;然后,map任务为被修剪的事务生成相应的<key,value>对;随后,reduce任务利用reduceByKey()组合所有<key,value>对;
方法2:输入文件为存储在HDFS上的数据集AprioriDB和存储在HashTree中的通过Lk-1生成的候选项集Ck;
首先,map任务接收事务,并且找到每个事务的k项集并生成相应的<key,value>对;随后,reduce任务利用reduceByKey()组合所有<key,value>对。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811551301.8/1.html,转载请声明来源钻瓜专利网。