一种基于Hadoop的频繁闭项集挖掘方法

文档序号:6366555阅读:123来源:国知局
专利名称:一种基于Hadoop的频繁闭项集挖掘方法
技术领域
本发明涉及一种基于Hadoop的频繁闭项集挖掘方法。
背景技术
在海量数据库中挖掘频繁闭项集,是数据挖掘领域的一个十分重要的研究内容。它被广泛用于挖掘数据之间的挖掘关联规则,如购物篮分析问题,协同过滤问题等。它在适用性、挖掘效率、准确性和可理解性等方面常常优于其他数据挖掘算法。目前的频繁闭项集挖掘方法多种多样,但基本都是单机模式的。面对海量的数据时,单机模式下挖掘频繁闭项集的算法常常显得力不从心。

发明内容
发明目的针对上述现有技术存在的问题和不足,本发明的目的是提供一种基于Hadoop的频繁闭项集挖掘方法,实现并行计算。技术方案为实现上述发明目的,本发明采用的技术方案为一种基于Hadoop的频繁闭项集挖掘方法,包括如下步骤(I)并行计数并行地扫描一次数据库,统计数据库中每个数据项出现的次数(即频繁次数);(2)构造全局 F-List 和 G-List I)以所述步骤⑴中并行计数的输出结果为输入,构造全局F-List ;2)在该全局F-List的基础上,构造G-List ;(3)并行挖掘局部频繁闭项集再次扫描数据库,在各个节点采用第一算法挖掘局部频繁闭项集,并只保存全局频繁闭项集。所述步骤I)中以步骤(I)中并行计数的输出结果为输入,可以取满足最小支持度min_sup的项,按照频繁次数由大到小进行排序,结果存放在F-List中。所述第一算法优选AFOPT-Closed(AFOPT Ascending Frequency Ordered PrefixTree)算法。有益效果本发明方法基于Group分配计算任务,利用Hadoop实现并行计算,使得计算量的分配更加均衡,提高了效率;同时,该方法更加简洁,只要三个步骤(两次Map-Reduce过程)就可以完成挖掘任务。


图I为本发明方法的流程图。
具体实施例方式下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。如图I所示,本发明方法的步骤包括步骤1,并行计数。统计数据库中每个数据项(简称“项”)出现的次数。此步骤并行地扫描一次数据库,按行读取,统计其中每一项的频繁次数。步骤2,构造全局 F-List (Frequency-List)和 G-List (Groups-List)。此步骤以上一步并行计数的输出结果为输入,取满足最小支持度min_sup的项,按其频繁次数由大到小进行排序,结果存放在全局F-List中。再在该全局F-List的基础上,构造G-List,使得具有相同支持度的项集必须在一个Group的情况下,各个Group的计算量尽量均衡。步骤3,基于Groups并行挖掘局部频繁闭项集。此步骤是并行操作的,再次扫描数据库,在各个节点用AFOPT算法挖掘局部频繁闭项集,并只保存全局频繁闭项集。Mapper按行读取数据,每一行即一条事务。将其中的各数据项以全局F-List的顺序进行再排序。然后,从右向左,依次以新事务中的数据项在G-L ist中所在的Group的id为key,以出现在该数据项左边的数据项集为value发出。从而,同一个Group的项集的相关事务都会汇聚在一起。Reducer用接收到的所有事务,构造一棵AF0PT。然后用挖掘频繁闭项集AFOPT-Closed算法,递归地在该树中挖掘频繁闭项集。此时得到的频繁闭项集都是以同一Group的项集为条件的局部频繁闭项集。将这些频繁闭项集按照全局F-Iist排序,最左侧的项的Group-id为本group的事务,即为全局闭项集。
权利要求
1.一种基于Hadoop的频繁闭项集挖掘方法,包括如下步骤 (1)并行计数并行地扫描一次数据库,统计数据库中每个数据项的频繁次数出现的次数; (2)构造全局F-List 和 G-List 1)以所述步骤(I)中并行计数的输出结果为输入,构造全局F-List; 2)在该全局F-List的基础上,构造G-List; (3)并行挖掘局部频繁闭项集再次扫描数据库,在各个节点采用第一算法挖掘局部频繁闭项集,并只保存全局频繁闭项集。
2.根据权利要求I所述一种基于Hadoop的频繁闭项集挖掘方法,其特征在于所述步骤I)中以步骤(I)中并行计数的输出结果为输入,取满足最小支持度min_sup的项,按照频繁次数由大到小进行排序,结果存放在F-List中。
3.根据权利要求I所述一种基于Hadoop的频繁闭项集挖掘方法,其特征在于所述第一算法为AFOPT-Closed算法。
全文摘要
本发明公开了一种基于Hadoop的频繁闭项集挖掘方法,包括如下步骤并行计数并行地扫描一次数据库,统计数据库中每个数据项的频繁次数;构造全局F-List和G-List并行挖掘局部频繁闭项集再次扫描数据库,在各个节点采用第一算法挖掘局部频繁闭项集,并只保存全局频繁闭项集。本发明方法基于Group分配计算任务,使得计算量的分配更加均衡;同时,该方法更加简洁,只要三个步骤(两次Map-Reduce过程)就可以完成挖掘任务。
文档编号G06F17/30GK102622447SQ20121007252
公开日2012年8月1日 申请日期2012年3月19日 优先权日2012年3月19日
发明者商琳, 杨育彬, 陈光鹏, 高阳 申请人:南京大学, 南京大学江阴信息技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1