欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
SCI期刊论文
当前位置:首页 > SCI期刊论文
大数据环境下频繁项集挖掘的研究
来源:一起赢论文网     日期:2015-10-19     浏览数:3899     【 字体:

李挥剑(交通运输部管理干部学院信息技术应用研究所,北京101601)摘 要:多种频繁项集挖掘(FIM)方法组合用来对大数据进行挖掘会暴露很多问题。针对暴露的问题,在MapReduce平台上对两种频繁项集挖掘算法进行了研究。采用两种新的大数据集挖掘方法:Dist-Eclat和BigFIM,前者侧重于速度,利用基于k-FIs的简易负荷平衡方案来解决问题。而后者通过先验变体对k-FIs进行挖掘后将找出的频繁项集分配给映射程序,通过优化后在真正大的数据集上运行。最后通过实验证明该方法时间复杂度较低,数据量越大优势将越明显,扩展效果越好。关键词:分布式数据挖掘;频繁项集挖掘;MapReduce;Hadoop;Eclat算法中图分类号:TP 301.6   文献标志码:AResearch on Frequent Itemsets Mining in Large Data EnvironmentLI Hui-jian(Institute of Information Technology Application,Ministry of Transport ManagementCadre Institute,Beijing 101601,China)Abstract:A variety of mining frequent itemsets(FIM)combination method used formining on large data will expose many problems.According to the exposed problems totwo kinds of frequent itemsets mining algorithm were researched in the platform of MapReduce,This paper adopts two kinds of big new data set mining method:Dist-Eclatand BigFIM.The former focuses on speed,using simple load balancing scheme based onk-FIs to solve the problem.The latter by mining the k-FIs through a priori variants willfind frequent item sets assigned to mapping procedures,through optimized operation ina real large data sets.The experiments prove that the time complexity of the method islow.The advantage will be more obvious and the effect of expansion is better,when dataquantity is bigger.Key words:distributed data mining;FIM;MapReduce;Hadoop;Eclat Algorithm收稿日期:2014-04-12基金项目:交通运输部应用基础研究(主干学科)项目(2012-319-226-320).作者简介:李挥剑(1976—),男,高级工程师.  近年来,大数据的智能分析对企业和学术界变得意义重大。从一开始,频繁项集挖掘(FIM)就是数据分析和数据挖掘不可分割的一部分。FIM 试图根据频繁发生的一个或一系列事件来从数据库中提取信息。根据用户设定的最低频率阀值,如果某个事件频繁出现在数据里,则该事件具有研究意义。有人提出了许多技术以试图对频繁事件的数据库进行挖掘[1]。这些技术在一些代 第2期  李挥剑:大数据环境下频繁项集挖掘的研究表性的数据集上进行了很好的实践检验,但并不适合真正的大数据[2-3]。将频繁项集应用到大型数据库中存在一定问题。首先,非常大的数据库并不适应主存储。对此,一个解决办法就是利用基于逐层宽度优先搜索的算法,如众人皆知的先验算法。在该算法下,频率计数是通过反复读取数据集来获取不同大小的候选项集而得到[4]。但处理完整一组候选项集所需的内存增速过快,导致基于先验的算法应用在单一机器上的效率非常低下;其次,已有方案通过提高最低频率阀值来达到控制输出和运行时间的目的,自动降低候选项集和频繁项集的数量。但是,推荐系统方面的研究表明频率较低的项集更具有研究意义。因此,清楚地意识到仍需要有能处理大数据的低频阀值问题的方法[5-6]。文献[7]提出了可适用在MapReduce上的3种先验算法。这些算法均将数据集分布到映射程序上,然后以并行方式按步骤进行计数操作。单通计数算法(SPC)利用一个MapReduce阶段来表示各个候选生成和频率计数步骤。在某个数据库里对它们的频率扫描p 个阶段和计数后,静态通过组合-计数算法(FPC)开始生成n个不同长度的候选项集,这里,n和p 都是参数。动态通过计数算法(DPC)与FPC类似,只是和p 的值取决于各阶段所生成的候选项集的数目。并行频繁模式增长(PFP)是大家熟知的FP增长的并行模式[8]。PFP对数据项进行分组后将它们的条件数据库分配给各映射程序。每个映射程序创建对应的FP树后单独对其进行挖掘。文献[9]利用频繁项的出现频率来使PFP的分组达到平衡。PFP的分组策略不论在内存还是速度上都是效率低下。某些结点将整个数据库读取到内存就有可能了,这在大数据领域是不可行的。文献[9]提议利用单件模式来平衡快速执行所需的数据分布,但随着研究的深入发现利用单个项对搜索空间进行分区的做法还不是最有效的。文献[10]讨论了MapReduce编程模型实现Eclat挖掘算法,但它没有研究数据集降低数据通信开销和数据集分块处理的方法,并且在挖掘中存在频繁集缺失的现象。文献[11-12]利用MapReduce编程模型对APRIORI算法进行改进实现了HADOOP分布式架构下数据挖掘过程。本研究提出两种新方法以并行方式在MapReduce框架上挖掘频繁项集频率阀值可以设置较低。第一种方法是Dist-Eclat,一种将搜索空间在映射程序之间尽可能均衡分布的纯粹Eclat方法。该技术可以挖掘出大的数据集,但面对庞大的数据时又显得无能为力。因此引入第二种方法即组合法。首先利用基于先验的方法来提取k长度的频繁项集,然后当映射后的数据库适应内存时再转换成Eclat算法(BigFIM),本文采用BigFIM 算法利用组合方案集中于解决大数据库的挖掘问题,得到的工作负荷分布效果更佳[13]。尽管MapReduce框架最初的设计理念与频繁项集挖掘问题并非完全吻合,但鉴于其在行业的实用性且应用广泛,为MapReduce发明高效、简便地利用数据挖掘方法的方案具有重要意义。本研究引入以下两种算法来解决FIM 算法在MapReduce框架上处理大数据面临的问题:1)Dist-Eclat:执行MapReduce的著名的Eclat算法,在数据的某项特定编码适应内存后通过优化速度来完成;2)BigFIM:优化后通过组合算法在MapReduce上来对真正的大数据进行处理,组合原理源自Apriori和Eclat算法。1 MapReduce框架上频繁项集的挖掘  本研究提出了2种新的方法在并行挖掘频繁项集的MapReduce框架上,频率阈值设置低。第一个方法称为Dist-Eclat,是一个纯粹的分配的搜索空间之间均匀地映射Eclat方法。这一技术能够挖掘大型数据集,但处理大量数据的能力较弱。因此,引入一个混合的方法,使用一个基于Apriori的方法提取长度为k 的频繁项集称之为Big-FIM 方法。1.1 Dist-Eclat第一种算法是Eclat的分布式版本,将搜索空间更均衡地在不同处理单元之间进行划分。分区算法)往往通过将事务数据库划分成大小均等的子数据库来实现对工作负荷的分配。分开对各子数据库进行挖掘,然后将结果组合。不过,应当对所有局部频繁项集进行组合计数,以便对全局不频繁项集进行修剪,但这么做代价大。首先,该方法的通信成本高,也就是有待挖掘的数据集数量巨大,而且,需要反复进行数据统计,工作量大。因此,在Hadoop上执行这种分区技术有很大局限性。对此,可以通过挖掘阀值较225青岛科技大学学报(自然科学版) 第36卷低的子数据库来减少可能遗漏的项集的数量。但出现另一个问题,事实上,每个数据库分区负责界定一个局部子数据库,其局部结构与其余的又大不同。因此,某些分区的频繁项集的计算工作量会突然增大,尽管许多这样的项集其实是局部结构,对全局来说也没有任何意义。本研究算法不需要解决上述问题,因为划分的是搜索空间而非数据空间。所以,映射程序之间不需要有额外的通信,也不必检查挖掘结果是否存在重叠。再者认为Eclat,尤其是差集型Eclat,基于内存的解决办法最适合挖掘大数据集。首先,Eclat利用深度优先法,这样即便是在寻找长频繁模式时也只有非常小部分的候选项集留在内存里。相反,宽度优先的先验算法在对k+1大小的候选项集进行计算时必须将所有k-大小的频繁集合留在内存里才行。其次,利用差集的做法使得内存负荷限制在只有当前分支的原始tid-list根的大小。显然:一个差集代表必须从父代的tid-list里除去以获取到该结点tid-list的tids。因此,一个完整的扩展分支上可以除去的tids最大也只是原始tid-list的大小。Eclat操作有3步的方法。每个步骤可以分布在多个映射,从集群环境得到的最大受益。1)发现频繁项:在这一步,垂直的数据库划分成相同大小的块(片)和分配给可用的映射。每个映射器从它的碎片中提取独立频繁项。在减少的阶段,所有的频繁项不进一步处理。2)k-FIs:在这一步,PK通过规模为k的频繁项集的集合产生。首先独立频繁项分布在M 映射。然后每个的映射发现的频繁k-大小超项运行Eclat水平为K.最后,减速器将PK推向一个新的M 映射。3)子树挖掘:这最后一步是挖掘的前缀树从指定的eclat前缀开始。每个映射不需要信息可以独立完成子树。1.2 BigFIM第二种方法克服了Dist-Eclat的两个固有问题:其一,对k-FIs的挖掘已经是不可能了。最坏的情况下,一个映射程序需要有完整的数据集来构建所有的2-FIs对。考虑到大数据,即便是一个单一项,它的tid-list也可能无法适应内存;其二,多数映射程序要求整个数据集在内存里才可实现对子树进行挖掘。因此,完整的数据集必须与不同的映射程序进行通信,但现有网络基础架构还没法满足这个要求。1)k-FIs涵盖:Bigfim产生大的tid表问题采用广度优先的方法生成k-FIs。可以通过调整文件计数问题来实现,即每个映射器接收数据库的一部分(文件)并报告项目/项目集。减速器将所有本地繁项集和报告合并成全局频繁项目/项目集。这些频繁项集可以分配到所有映射为广度优先搜索下一步的候选项。这些步骤可以重复k次,得到k-FIs集。2)寻找潜在的扩展:在计算前缀后,然后计算可能的扩展,即获得tid列表(k +1)-FIs。减速器将从所有地方的tid表映射一个全局tid,并且从不同的映射分配完整的前缀组。3)子树挖掘:该映射器完成个人的前缀组。一个前缀组定义了一个完全符合条件的数据库存储。挖掘部分通过深度优先搜索获取数据库的频繁项集。1.3 执行细节在本研究方法里,利用映射程序可以挖掘出频繁项集,然后传达给缩减器。为降低网络流量,利用每一批模式的压缩树字符串表示法来对挖掘到的项集进行编码。基本上,定界符反映的是前缀树是自上而下还是自下而上遍历,以及是否指定了某个支点。本研究算法对事务数据集里发现的闭合项集进行超集计算。通过允许单个的映射程序只报告各自子树上的闭合集我们可以很容易做到这一点。尽管完全有可能挖掘出闭合项集的正确集合,但这里省去了后处理环节。2 实验分析与结果2.1 实验环境与数据使用2台机器组成Hadoop的局部数据群进行实验。每台机器含有32个因特尔处理单元,32GB RAM。不过将每台机器每次运行的映射程序最多只有6个。采用MapReduce编程模型及Java语言编程实现算法,针对实验,采用4组不同的数据集:Abstracts数据集、T10I4D100K、Mushroom和Pumsb数据进行频繁项集性能测试。两台机器同时在Ubuntu 12.04和Hadoop1.1.2上运行。2.2 实验评测2.2.1 负荷平衡从这2个方面来研究负荷平衡:1)工作量与226 第2期  李挥剑:大数据环境下频繁项集挖掘的研究分布式前缀长度之间的关系;2)工作量与分配方案之间的关系。设k前缀集合Pk = {p1,p2,…,pm},可划分给n个工作者,P1 k,P2 k,…,pnk,其中Pjk是分配给工作者j 的前缀的集合,然后利用下列方法将这些前缀再分配工作者结点:循环法:Pi分配给工作者p(imodn)k 。均等权重法:当Pi分配给一个工作者时,support(Pi)添加到该工作者的得分里。Pi+1分配给得分最低的工作者,分配工作受次序先后影响。区块分区法:{P1,…,P[m/n]}分配给P1 k,{P[m/n]+1,…,P(2×[m/n])}分配给P2k,以此类推。随机法:每个Pi分配给一个随机工作者。针对这组实验,采用4组不同的数据集:Abstracts数据集通过De Bie获得[12]、T10I4D100K、Mushroom 和Pumsb 数据集从FIMI数据库提[13]。这些数据集见表1。表1 实验研究的数据集性能Table 1 Properties of datasets for our experiments数据集项目数事务数Abstracts 4 976 859T10I4D100K 870 100 000Mushroom 119 8 124Pumsb 21 134 49 046Tag 45 446 863 6 201 207先对数据集进行挖掘以找出长度分别为1、2、3的前缀,然后利用上述分配方法将它们分配给128个工作者。根据每个工作者产生的FIs数量来估算他所承担的工作量。根据树高度越低修剪率越高,可以准确估算一个工作者的总工作量。另外,第一步发现的FIs的数量随着前缀长度的增大而增加,而分布式负荷量反而降低。表2是工作量最大与最小值(Max-Min)之间的标准偏差,平均偏差和一般偏差对比结果。由于试图通过平衡工作量来缩短总运行时间,衡量平衡的一个最重要指标就是最大最小值。图1给出了通过循环法对长度分别为1、2、3的前缀进行分配后8名工作者所产生的频繁项集的数量。实验表明分配方法是相互独立的:利用较长前缀的算法会使负荷达到更好平衡。生成较长前缀要求进行额外的初始计算工作。但对大数据库图1 分区产生的频繁项集数Fig.1 Number of frequent itemsets generated by partitions而言,这种计算相对于整个挖掘过程可以忽略不计。表3是不同数据库里长度为1、2和3的频繁项集及这些项集的总数。例如,在Abstracts这组小数据集里,找出3-FIs只占到总工作的一半;另一方面,在Pumsb这组较大数据集里,3-FIs的数相对于总的FIs数可以忽略不计,于是,在发现长的前缀后对余下工作进行分配还是可行的。本研究实验采用的分配方案能够将搜索空间很好地在不同计算单元之间进行分配来达到工作量的平衡。但是发现这类方案使得几乎所有结点对完整数据集形成依赖。因此,也有必要向所有结点传达完整数据。表4提供了采用均等权重分配法时结点所要求的数据率的统计数据。由表4可知,对于3-FIs,平均率几乎都是1,说明几乎所有结227青岛科技大学学报(自然科学版) 第36卷表2 前缀分配不同的方法和前缀长度Table 2 Prefix assignments with different methods and prefix lengths数据集参数   循环法p1 p2 p3均等权重法p1 p2 p3Abstracts 标准差1 071 311 107 1 071 371 118平均值3 025 2 744 1 696 3 025 2 744 1 696最大与最小值之差4 488 1 695 482 4 488 2 223 675T10I4D100K 标准差103 57 34 103 64 32平均值213 142 85 213 142 85最大与最小值之差666 384 183 666 499 179Mushroom 标准差13 287 6 449 4 096 13 287 6 052 3 596平均值4 488 4 482 4 446 4 488 4 482 4 446最大与最小值之差98 303 36 348 23 814 98 303 33 453 24 711Pumsb 标准差3 897 683 1 955 503 1 112 237 3 897 683 2 077 845 1 003 724平均值1 296 121 1 296 113 1 296 037 1 296 121 1 296 113 1 296 037最大与最小值之差21 342 943 9 809 612 6 167 970 21 342 943 10 089 432 4 815 391数据集参数   区块分区法p1 p2 p3随机法p1 p2 p3Abstracts 标准差7 235 4 850 1 835 2 260 432 150平均值3 025 2 744 1 696 3 025 2 744 1 696最大与最小值之差35 314 29 606 9 840 11 540 2 756 686T10I4D100K 标准差138 137 68 130 62 32平均值215 142 87 213 140 85最大与最小值之差723 699 471 1 002 333 239Mushroom 标准差13 287 10 026 7 518 13 287 5 736 3 679平均值4 488 4 482 4 446 4 488 4 482 4 446最大与最小值之差98 303 69 626 40 406 98 303 30 991 24 830Pumsb 标准差3 897 683 3 442 159 2 598 825 3 897 683 2 065 441 1 191 945平均值1 296 121 1 296 037 1 296 113 1 296 121 1 296 113 1 296 037最大与最小值之差21 342 943 20 059 553 14 507 567 21 342 943 10 534 931 5 827 088点要求有完整的数据集。这一特性在处理大数据时是不可行的。表3 1号,2号,3号和全部的长频繁项目集的数据集Table 3 Number of total and 1,2and 3length frequentitemsets for datasets数据集最小支持度总数1-FIs 2-FIs 3-FIsAbstracts 5 388 631 1 393 37 363 171 553T10I4D100K 100 27 169 797 9 627 16 742Mushroom 812 11 242 56 664 2 816Pumsb 24 523 22 402 411 52 968 9 416表4 不同计算单元所需的数据比Table 4 Data ratio needed for different computation units数据集FIs 平均值最大值最小值标准差Abstracts 1 0.29 0.66 0.20 0.092 0.91 0.93 0.86 0.013 0.95 0.96 0.93 0.01Pumsb 1 0.78 0.99 0.51 0.172 0.99 1.00 0.99 0.003 1.00 1.00 1.00 0.00Mushroom 1 0.38 1.00 0.10 0.232 0.82 0.99 0.57 0.093 0.99 1.00 0.97 0.01228 第2期  李挥剑:大数据环境下频繁项集挖掘的研究2.2.2 执行时间针对运行时间实验,使用了DAI-Labor提供的一组有趣数据集。原始数据集包含了2004—2007之间的标签内容,有时间戳、用户、URL、以及一个固定的标签名。创建一组事务数据集,事务代表上述标签。该数据集的特性见表1。将Dist-Eclat和BigFIM 方法在Hadoop平台上的执行实验所用的运行时间与Mahout实验室的PFP 执行做了比较。PFP 被设计成一个top-k级的挖掘器。强迫算法将这次执行实验发现的相同数量的模式导出来以求得公平的对比效果,见图2。x 轴是不同运行点的MinSup阀值;y轴是以秒为单位的计算时间。Dist-Eclat运行最快,BigFIM 次之。不过,MinSup值越低,数量次序就越慢。但BigFIM 的目标是对庞大数据库进行挖掘。更重要的是,PFP总是比本文算法要慢很多。而且当最小支持度降低时,发现PFP要么需要很长时间(大约一周后停止了执行实验),要么耗尽内存。继续实验输出结果没有频繁项集。本研究关注的是挖掘速度而非数据的传输。图2 标签的不同方法定时比较Fig.2 Timing comparison for different methods on tag根据长度分别是1、2和3的种子对本研究算法的速度进行了分析。当MinSup为15.5k时对Tag数据集进行挖掘,得到不同时段的结果,见图3。x 轴是每次运行使用到的映射程序数;y轴的单位是秒。由数据可知,利用2-和3-FIs所需的运行次数最少,所以这两者实际上在完整运行时间方面与该数据集是相似的。图4深入展示了单个映射程序对Tag的时间分布情况。x 轴是给出了不同的IDs的8个映射程序;y 轴的单位是秒。看到1-FIs存在明显不平衡:映射程序M8完成任务速度比M1要快10倍。2-FIs由于负荷图3 标签σ=15.5k总的执行时间Fig.3 Total execution time on tag withσ =15.5k图4 标签σ=15.5k映射器的执行时间Fig.4 Execution time of mappers for tag withσ =15.5k平衡能力更佳所以效果更理想,但偏差仍旧较大。利用3-FIs的话,挖掘时间可得到均匀分配。另外,对最小支持度为12k的Pumsb数据集进行了实验研究。只将3-FIs当成种子,而将映射程序的数量在1~120之间变化。有关统计数据见表5。表5 Pumsb数据集在3-FIs和σ=12k时挖掘时间统计Table 5 Mining time stats Pumsb with 3-FIs andσ =12k映射平均值/s 最大值/s 最小值/s 标准差/s 平均FIs1 36 546 36 546 36 546 0 18 8855 7 775 8 147 7 042 400 3 77710 3 811 4 616 2 591 710 1 88915 2 516 3 726 1 733 616 1 25920 1 913 3 533 875 754 94440 944 2 016 278 457 47260 630 1 579 146 344 31580 472 1 422 69 326 236100 376 2 177 60 314 189120 316 1 542 29 265 157由表5可知,不仅每个结点的平均运行时间大大缩短,而且最大挖掘时间也几乎直线减少。后者最终对运行时间影响最大。关于结果当映射程序达到100个时,运行时间急剧增加。认为这229青岛科技大学学报(自然科学版) 第36卷纯属巧合。事实是由于分配方案简单的缘故,有些映射程序或许会获取到许多大的种子,所以运行时间才增加。图5给出了与每个结点平均前缀相比较的运行时间降低情况。靠下方的曲线代表理想的扩展性行为。它表明当只增加了几个结点后还不生成新结点的情况下这种扩展性是有限的,因为待分配的种子数目达到了饱和。还必须指出的是在映射程序初始化过程中,数据必须分配给所有这些程序,使得总计算时间增加,这与利用更少结点的做法正好相反。图5 σ=12k的Pumsb计时结果Fig.5 Timing results Pumsb,σ =12k最后,在真实的数据群上对Tag进行了上述实验,采用到亚马逊弹性MapReduce框架。使用的数据群大小都在20~80 个映射程序之间,m1.x大的内存和高I/O性能事例。每个事例由只执行一个映射任务的多个内核组成。这些事例负责运行红帽企业版Linux和亚马逊的MapReduce分布程序。表6是实验统计数据。显然,比表6 3-fis和σ=15k挖掘时间属性标签Table 6 Mining time stats Tag with 3-FIs andσ=15k映射平均值/s 最大值/s 最小值/s 标准差/s 平均FIs20 25 851 42 900 11 160 8 725 84440 13 596 28 620 7 432 6 439 42260 8 508 24 240 1 440 5 196 28180 6 548 23 760 1 320 4 066 211例扩大情况不及Pumsb的那么显著。一个原因就是一些无法进行再分配的3-FIs的子树骤然变大。对此唯一的解决办法就是增加前缀的长度。3 BigFIM 算法和传统算法的频繁模式比较  首先对传统的主要算法APRIORI,PFP,Eclat和BigFIM 进行频繁模式精度进行对比,采用4 组不同的数据集:Abstracts 数据集、T10I4D100K、Mushroom 和Pumsb数据进行频繁项集,Abstracts数据集由859条记录组成,T10I4D100K 数据集由100 000 条记录组成,Mushroom数据集由8 124条记录组成,Pumsb数据集由49 046条记录组成,APRIORI,PFP算法,Eclat和BigFIM 算法最小支持度设置为10%。所有算法的最小信任度均为50%。验证方式采用十字交叉验证法。即将数据集划分为10份,每次选取其中9份做为训练集,用于测试另外1份中的数据。重复该实验10次,取平均值作为最终的结果。结果如表7所示。其中BigFIM 算法的平均精度比传统算法精度高10.09%左右。表7 各算法精度比较Table 7 Comparison of accuracy of each algorithm数据集算法精度APRIORI PFP Eclat BigFIMAbstracts 90.29 94.21 96.36 98.99T10I4D100K 81.4 85.2 87.3 92.2Mushroom 89.84 90.10 91.48 94.58Pumsb 84.3 86.33 89.55 90.25其次,根据精度评估了BigFIM 算法的速度,对于不同的数据集,采用不同的绝对支持度作为最小支持度,结果如表8所示,其中分别列出了所有算法挖掘出的频繁项集(FIs)数目,以及算法表8 BigFIM 算法与传统算法的挖掘频繁项集的速度比较Table 8 Compared speed with the traditional algorithm of BigFIM algorithm for mining frequent itemset数据集最小支持度APRIORIFIs数目时间/sPFPFIs数目时间/sEclatFIs数目时间/sBigFIMFIs数目时间/sAbstracts 10 1 393 45.2 37 363 38.9 171 553 34.2 27 155 1.45T10I4D100K 60 797 34.5 9 627 25.6 16 742 18.9 18 675 3.43Mushroom 80 56 56.98 664 30.73 2 816 20.87 12 389 4.32Pumsb 20 52 43.5 968 30.8 9 416 24.42 7 689 6.34230 第2期  李挥剑:大数据环境下频繁项集挖掘的研究的总运行时间。从表8可以看出对于稠密数据集,频繁项集和数目相差巨大,挖掘频繁项集具有较大时间优势。另外,由于频繁项集的数目更多,因此由频繁项集产生的初始类关联规则的数目也更多。显然若后续规则剪枝算法相同时,处理由频繁项集产生的初始规则更耗时。因此,对于MapReduce框架上稠密、大型的训练集来说,BigFIM 算法速度更快。4 结 语本研究对两种频繁项集挖掘算法进行研究后在MapReduce框架上执行了实验。Dist-Eclat关注速度,利用基于k-FIs的简易负荷平衡方案来解决问题。BigFIM 算法利用组合方案集中于解决大数据库的挖掘问题。通过先验变体对k-FIs进行挖掘后将找出的频繁项集分配给映射程序,然后再通过Eclat方法来找出频繁项集。本研究设计的新方法在处理大规模数据时所需时间少于传统的频繁项集算法,时间复杂度较低,数据量越大优势将越明显。本研究提到了平衡k-FIs负荷的好几种技术。实验结果表明3-FIs与基础的循环分配方案相结合可产生良好的工作负荷分布效果。沿着前缀树继续,得到的工作负荷分布效果更佳,只是中间频繁项集的数量会骤然增多。如何找到能产生更好工作负荷分布结果的分配方案是下一步将要深入的话题。最后,通过在MapReduce框架进行实验,本文算法对大数据的挖掘表现出了较现代FIM 方法还优越的性能。参 考 文 献[1]Agrawal R,Srikant R.Fast algorithms for mining association rules in large databases [C]∥VLDB,Proceedings of20th International Conference on very Large Data Bases,Santiago Chile,2004:487-499.[2]Bayardo R J.Efficiently mining long patterns from databases [C]∥Special Interest Groupon Management of Data,SeattleWashington,2004:85-93.[3]Zaki M,Parthasarathy S,Ogihara M,et al.Parallel algorithmsfor discovery of association rules[C]∥Data Miningand Knowledge,2007:343-373.[4]Mobasher B,Dai H,Luo T,et al.Effective personalizationbased on association rule discovery from web usage data[C]∥Proceedings of the 3rd International Workshop on WebInformation and Data Management,2001:9-15.[5]Dean J,Ghemawat S.MapReduce:Simplified data processingonlarge cluster[C]∥USENIX Association,6th Symposiumon Operating Systems Design and Implementation,2004:123-129.[6]Agrawal R,Shafer J.Parallel mining of association rules[C]∥IEEE Transations Knowledge Data Engineering,2006:962-969.[7]Lin M Y,Lee P Y,Hsueh S C.Apriori-based frequent itemset mining algorithms on MapReduce[J].International Conference on Ubiquitous Information Management and Comunciation,2012:26-30.[8]Li H,Wang Y,Zhang D,et al.Parallel fp-growth for queryrecommendation[C]∥Proceedings of the 2008ACM Conference on Recommender Systems,New York,2008:107-114.[9]Zhou L,Zhong Z,Chang J,et al.Balancedparallel FPgrowth with MapReduce[C]∥IEEE Youth Conference onInformation,Compating and Telecommunications,2010:243-246.[10]Malek M,Kadima H.Searching frequent itemsets by clustering data:Towards a parallel approach using mapreduce[C]∥Proceeding WISE 2011and 2012Workshops SpringerBerlin Heidelberg,2013:251-258.[11]Riondato M,DeBrabant J A,Fonseca R,et al.PARMA:aparallel randomized algorithm for approximate associationrules mining in MapReduce[C]∥The 23rd ACM International Conference on Information and Knowledge Management,2012:85-94.[12]De Bie T.An information theoretic framework for data mining[C]∥ACM Konwledge Discovering and Data Mining,2011:564-572.[13]Wetzker R,Zimmermann C,Bauckhage C.Analyzing socialbookmarking systems:A delicious cookbook[C]∥ECAI2008Mining Social Data Workshop,Patras,Greece,2008:26-30.(责任编辑 姜丰辉)231

[返回]
上一篇:构建生态环境监测大数据平台
下一篇: 影响我国电子政务横向整合的因素研究