论文研究-基于Spark的并行Eclat算法.pdf


-
通过对Spark大数据平台以及Eclat算法的深入分析,提出了基于Spark的Eclat算法(即SPEclat)。针对串行算法在处理大规模数据时出现的不足,该方法在多方面进行改进:为减少候选项集支持度计数带来的损耗,改变了数据的存储方式;将数据按前缀进行分组,并划分到不同的计算节点,压缩数据的搜索空间,实现并行化计算。最终将算法结合Spark云计算平台的优势加以实现。实验表明该算法可在处理海量数据集时高效运行,并且在面对数据量大规模增长的情况下具备良好的可扩展性。
20 计算机应用研究 第36卷 Bitset求与操作常数时间即可完成,所以频繁项集产生的消耗验表明两种算法得到的结果一致。 是非常少的。数据划分的伪代码如算法2所示。 3.1加速比测试 算法2按前缀划分数据 Rcad L(2)from RDD 为了验证 SPEclat算法是否具有可扩展性以及处理大数据 map( Items, BitSet 的能力,拟人工生成大小为10GB、20GB、30(,项目数为80 get the profix p from items 的三个不同大小的数据集,用于以下实验。 t(p,( Items, BitSet)) 加速比指同一仁务在单处坦器和多处埋器系统中运行消 ReduceBykey(p, ( Items, BitSet)) 耗时问的比率,是一种用来衡量并行化性能的一个有效指标。 gel all C frun ileitis 因此,为了考察算法的并行化性能,应用以上数据进行算法的 Eclat(Cn) 加速比性能实验。实验对三个数据集分别在468个节点上 out( frequent Itemset with profix p) 运行算法,实验结果如图2所示。为了对比明显,加入了线性 加速比结果。从图2可以看出,对于同一数据集,该算法运行 在各节点上使用 SPEclat算法并行挖摒频繁集,需瑟迭代的加速比会随着节点数的增加而增加。由于节点数的增加,使 地以 Imap/reduce任务来实现,其中mφ()方法实现数据的划得节点间的通信、数据传递所消耗的时间逐渐增加,所以增加 分, reduce阶段实现改进后的 Eclat算法。在mpcr与 reducer趋势接近线性,但是与线性加速比有一定差距,而且随着节点 之间需要重写 parlon过程,以确保属于同一分组的前缀所对数的增加差距也越大。对比不同数据集的加速比,当数据量越 应的列被划分到同一个计算节点中。 大时,加速比会越接近线性加速比,原因在于面对数据量更大 2.3第三阶段 的数据集,数据计算所消耗的吋间占总耗时的比例相比于小的 本阶段将在各个计算节点中针对具有相同前缀的项集并数据集要更多。实验表明, SPEclat算法具有一定的可扩展性 行地以自底向上的形式进行迭代,用频繁k项集产生频繁(k+3.2数据的可扩展性测试 1)项集。即在母个节点中,对分配到该节点的项集进行自连 通过比较 SPeclat与 MEPlat算法在不同数据集上的运算 接,产生候选k项集,之后进行支持度计数。 效率,验证 SPEclat算法的数据可扩展性。5Plat是 Eclat算 因为在22节数据已经被转换为( ItemSet,,tset)形式,所法在Sma上的实现,而 MREclat是Ect算法基于 MapReduce 以求候选项集支持度时,可使用在同一节点的两个自连接的频的经典实现,其运行效率较其他同类算法更为优越,所以运用 繁项集的 Bitset求与來对侯选项集的进行计数。在求与之后 这两种算法进行对比,以验证 SPEclat的数据可扩展性。 得到包含该候选项集的事务序列。该过程中利用 Bitset求与 使用3.1节实验中人工生成的数据集,对 SPeclat与MRE 的快速运算代替集合之间的求交运算,能节省大量时间。之后cla算法进行了对比实验,以评估算法的运行效率。实验结果 对生成的 Bissel进行计数,判断计数值是否大于最小支持度。如图3所示。其中x轴代表人工数据的数据量,y轴则表示程 若大于,则将候选项集和对应BSct组成的键值对存入F序执行所用的时间。支持度为5%,节点数设置为8个。 当中。算法3是第三阶段所采用算法的伪代码。 算法3生成频繁k+1项集 Rcad L(/)from RDD for each l, in L(k) 一线性加速比 ch (: in L(h) —10GB效据量 20GB数据量 lierse=(2[1],12L2],1[3],…,12[k-1],[k,l[k]) 30CB数据量 数据集大小GB Bitset =l. BitSet, BitSet 节点数 人工数砉集: min sup=5 图2加速比测试 图3人工数据测试实验 L(K+1)+=(ItemSet, BitSet) 实验的统计结果表明, SPeclat较 MREclat算法而言,在性 之后,对生成的频繁(k+Ⅰ)项集进行再划分,迭代式地调能上取得了显著地提高,并且随着数据量的增长,性能的提升 用 SPeclat算法挖掘频繁项集,直到没有更多的频繁项产生。不断增加,且 SPEclat算法的性能具有明品优势。 2.4时间复杂度分析 为了进一步验证算法的数据可扩展性,对 SPEca与 需要对些值进行假设,以数学公式的形式表示算法的时 Trelat算法分别进行了多组对比实验。使用公共测试数据 集TI0H4D100K、 Pumsb star和 chess以保证实验的客观性。为 间复杂度。假设原数据集中事务个数为T,计算节点数为N,4了确保实验结果的正确性图中的值为算法运行10次的平均值。 代表频繁一项集的个数。原算法的时间复杂度为0(2、Tx 在测量算法可扩展性的过程中,将节点数调为8个,并 a2)。而对原算法进行改进后的SPE算法的时间复杂度为分别将测试数据复制为原数据集人小的234.56倍,通过多 次实验测量两种并行算法的数据可扩展性。实验结果如图4 °(n× 所示。其中x轴代表副木数据的复制次数,y轴则表小程序执 行所花费的时间。从图中可以看到,对于不断增长的数据量 3相关实验与分析 Marechal算法执行所消耗的时间近似于直线式增长,而 SPEclal 实验室的分布式计算平台由九台计算机搭建而成,其中主算法的运算时间增长较为缓慢,堪本上保持水平;同时 节点配置为门73770处理器,4CB内存,TB硬盘。计算节点算法所消耗的时间远少于 MrEclal,完成计算任务的速率是 配置为奔腾2140处里器;1C内存,250c硬盘。5mk集 MREclat算法速率的20倍左右。 群的环境参数如下所示: Ubuntu14.04; Hadoop version2.4.0; 其原因是 SPEclat算法采用基于内存的计算方式,可将数 park version I.6.l。 据集在内存中快速地进行多次迭代,省去人量LO操作。同 为了验证 SPEclat算法的正确性,在T1OH4D100K、Pmsb 时,在对候选项集进行支持度计数时,通过对数据存储结构的 dr和ches数据集上与 MREclat的处理结果进行了对比,实改变,实现了利用Bise求与的快速运算代替集合之间求交运 第1期 冯兴杰,等:基于 Spark的并行 Eclat算法 21 算,优化了攴持度计数的计算方式,提升了运算效率,且相较于 large databases[ C]//Proc of International Conference on Very Large MREclat算法, SPEclat算法性能的提升会随着数据量的增加而 Data Bases. San Francisco: Morgan Kaufmann Publishers Inc 变得愈发明显。 1994:487-499 [3 Zaki MJ, Parthasarathy S, Ogihara M, el al. Parallel alyuril hIs fe discovery of association rules J]. Data Mining and Knowledge 长600 Discovery,1997,1(4):343-373 [4] Zaki M Scalable algorithms for association mining]. IEEE Trans 200 on Knowledge Data Engineering, 2000, 12(3): 372-390 0 [5 Dean J, Ghemawat S. MapReduce: simplified data processing on 12 复制数据集次数 复制数据集次数 large clusters[ C]//Proc of the 6th Conference on Symposium on Op (aT1ol4D100K: min sup-025% (b)Pumsb star: min sup-0.65%0 erating Systems Design Implementation. Berkeley: USENIX Asso- Pecial claton,2004:107-113 MREcat [6]李伟卫,赵航,张阳,等。基于 MapReduce的海量数据挖掘技术 600 研究[J计算机工程与应用,2013,49(20):112-117.( Li Wei wei, Zhao Ilang, Zhang Yang, et al. Research on massive data 200 mining based on Map Reduce[ J]. Computer Engineering and Ap plications,2013,49(20):112-117.) 复制数据集次数 (c)Chess: min sup35% [冂]章志刚,吉报林,唐梦梦.并行挖掘频繁项日集新算法- 图4数据可扩展性测试 MREclat[ J 1.计算机应用,2014,34(8):2175-2178.( Zhang Zhigang, Ji Cenlin, Tang Mengmeng. MREclat: new algorithm for par- 3.3节点的可扩展性测试 allel mining frequent itemsets[J]. Journal of Computer Applica 在验证 SPEclat算法的节点可扩展性时,分别使用公共测 Lions,2014,34(8):2175-2178 [8 Qiu Hongjian, Gu Rong, Yuan Chunfeng, et aL. YAFIM: a parallel 试数据集T10l4D100K、 Pumsh star和 chess进行实验,并凋整 frequent ile msel miring algorithm with Spark[C]//Pre of IEEE. In- 集群节点数为46、8个,保持数据集的大小不变,分别记录 lermalional Parallel Disl ribuled Processing SymmposilIn Workshops SPEclat算法执行所消耗的时间。实验结果如图5所示。其中 Washington DC: IEEE Computer Society, 2014: 1664-1671 X轴代表集群中节点的个数,Y轴代表所花费的时间。分析图[9] Deng lingling, Lou yuansheng. Improvement and research of Fl 5可知,随着集群中节点数的增加, SPEclat算法的耗时呈近似 growth algorithm based on distributed Spark[ C]//Proc of Internati 线性依次递减,结果表明该算法具有良好的节点可扩展性。 nal Conference on Cloud Computing and Big Data. Washington D 26 IEEE Computer Society, 2015: 105-108 → SPEclat SPEclat [10 Yang Shaosong, Xu Guoyan, Wang Zhijian, et al. The parallel im- 80 20 proved Apriori algorithm research based on Spark[cl//Proc of the 9th Internatior onference on Frontier of Computer Science and 70 Technology. Piscataway, NJ IEEE Press, 2015: 354-359 节点数 节点数 [11 Wang Shuang, Wu Peng, Till Tao, et al. P-WLPA algorithm research (aT1014D100K: min sup (b)Pumsb star: min sup=0.65% n parallel framework Spark[ C//Proc of Information Technology and · SPeclat Artificial Intelligence Conference. Piscataway N: IEEE Press 2014 [12]曹博,倪寔成,李淋淋,等.基于 Spark的并行频繁模式挖据箅 210 法J].计算机工栏与应用, 0 Jiancheng, Li Linlin, et al. Parallel frequence pattern mining algo 节点数 rithm based on Spark[ J]. Computer Engineering and Applica- (e)Chess: min sup=35% tons,2016,52(20):86-91.) 图5节点可扩展性测试 [13]陈明洁.分布式频繁项集挖掘算法[J].计算机应用与软件 2015, 32(10): 63-66.( Chen Mingjie. a distributed frequent itemset 4结束语 mining algorithm[J]. Computer Applications and Software, 2015 32(10):63-66.) 本文提出了基于 Spark的 Eclat频繁项集挖掘算法SE-[14]赵焱德.基于 SPARK的浄量数捃颎繁模式挖掘算法硏究[D」 clat针对信息化时代产生的海量数据,木文将原冇串行 eclat 哈尔滨:哈尔滨工业大学,2016.( Zhao yanda. Research on frc 算法进行了改进,并依托 Spark平台将其实现并行化,充分利 quant pattcrn mining algorithm for massive data based on SPARK 用 Spark平台基于内存、利于迭代式计算的特性,完成了算法 I]. Harbin: Harbin Institute of Technology 2016. 在挖掘海量数据时性能上的突破,解决了其并行化所遇到的[15]郭进伟,皮建勇,基于 Mapreduce的sON算法实现[J.宀算机 J F, 2014(sl): 100-102.( Guo Jinwei, Pi Jianyong. Implementa- 如数据的划分、生成频繁项集时产生人量的交叉计算等问题。 tion of SoN algorithm based on MapReduce J] Journal of Compu 最终利用人造数据以及公共数据集加以实验,证明针对该算法 ter Applications, 2014(sl ): 100-102.) 的改进是行之冇效的,且随着数据量的不断増长,算法的性能[I6马可,李玲娟,孙杜靖。分布式并行仁数据流频繁模式挖掘算決 会有更加显著的提高。 J].计算机技术与发展,2016,26(7):75-79.(MaKe,li Lingjuan, Sun Dujing. Distributed parallel algorithm of mining fre- 参考文献 quent pattern on data stream[ 1]. Computer Technology and de [Ⅰ』韩家炜,堪博,装健,等.数据挖掘:概念与抆术[Ⅵ].范明,等 velopment,2016,26(7):75-79.) 译2版北京:机械工些出版社,2007:147-154.(H灬 n1 Jiawei,[Iη]唐颖峰,陈世平,一种基于后缀项表的并行闭频繁项集挖据算法 Kamber M, Pei Jian, et al. Data mining: comcepts and techniques [J].计算机应用研究,2014,31(2):373-377.( Tang yingfeng, LM. Fan Ming, el (l, Iranslaled. 2nd ed. Beijing: China Machine Chen Shiping. Parallel closed frequent itemset mining algorithm with ss,2007:147-154.) postfix-table[ J]. Application Research of Computers, 2014, 31 [2 Agrawal R, Srikant R. Fast algorithms for mining association rules in (2):373-377.)

-
2019-07-22
406KB
论文研究-基于Spark的并行Eclat算法实现 .pdf
2019-08-16基于Spark的并行Eclat算法实现,何海,王柏,频繁项集挖掘是数据挖掘的一项重要任务。而随着大数据时代的到来,数据规模增速惊人,已非传统的挖掘算法所能胜任。而应对上述问
882KB
基于Spark的并行Eclat算法
2018-11-06关于大数据的论文,一篇近期发表的前沿论文,基于Spark平台的
614KB
论文研究-基于散列布尔矩阵的关联规则Eclat改进算法.pdf
2019-07-22将散列表与布尔矩阵相结合,提出了一种基于散列布尔矩阵的Eclat改进算法,通过提高求交集的速度来加快整个算法生成频集的过程。实验结果表明,改进的Eclat算法在计算性能和时间效率上均优于传统算法。
3.59MB
基于Apriori、FP-Growth及Eclat算法的频繁模式挖掘源程序
2012-04-24基于Apriori、FP-Growth及Eclat算法的频繁模式挖掘源程序 一、DataMiningApriori程序 用eclipse打开,把三个测试数据mushroom、accidents和T10
703KB
论文研究-基于MapReduce的海量数据挖掘技术研究.pdf
2019-09-12MapReduce是一种编程模型,可以运行在异构环境下,编程简单,不必关心底层实现细节,用于大规模数据集的并行运算。将MapReduce应用在数据挖掘的三个算法中:朴素贝叶斯分类算法、K-modes聚
1.24MB
论文研究-基于先验位运算的频繁项集挖掘.pdf
2019-07-22为提高频繁项集的产生效率, 提出一种在垂直数据表示下, 基于先验位运算的频繁项集挖掘算法(A-FIMBII)。该算法建立从项集合到事务的索引, 利用先验性质减少候选集的产生, 通过位运算计算支持度。与
2.39MB
基于Apriori、FP-Growth及Eclat算法的频繁模式挖掘源程序共享版
2012-04-24基于Apriori、FP-Growth及Eclat算法的频繁模式挖掘源程序共享版 一、DataMiningApriori程序 用eclipse打开,把三个测试数据mushroom、accidents和
67.43MB
Eclat算法Python实现
2016-06-01该资源是Eclat算法Python实现代码,简洁实用。
3.57MB
基于Apriori、FP-Growth及Eclat算法的频繁模式挖掘源程序-Java代码类资源
2020-08-31基于Apriori、FP-Growth及Eclat算法的频繁模式挖掘源程序 一、DataMiningApriori程序 用eclipse打开,把三个测试数据mushroom、accidents和T10
787KB
瓦斯灾害预警模型的Eclat算法
2020-04-28为了有效挖掘历史监测数据中各监测指标之间的隐含关系,提高关联规则挖掘的效率,以井下瓦斯浓度、温度、风速等多个监测数据作为研究对象,提出一种基于Eclat算法的瓦斯灾害预警及数据分析模型,将检测到的瓦斯
17.1MB
Machine+Learning+with+R+Cookbook,+2nd+Edition-Packt+Publishing(2017).pdf
2018-02-22Chapter 1, Practical Machine Learning with R, shows how to install and setup R environment, it cover
1.66MB
数据挖掘关联规则算法.rar
2020-05-04本资源包含5个文件夹,分别包含了Apripri、FPgrowth、ORAR、Eclat关联规则算法的python实现代码和实验结果,其中Eclat有俩个文件夹,分别用了俩个数据集来实现。
19KB
HADOOP物联网数据挖掘的算法分析论文.doc
2020-03-05Hadoop物联网数据挖掘的算法分析论文 摘要介绍了物联网数据处理的若干关键技术如大数据采集大数据存储大数据的分析与挖掘等以Hadoop为平台对物联网数据进行挖掘与分析为了提高处理庞大数据的实效性基于
1.22MB
基于关联规则挖掘算法的用电负荷能效研究
2021-01-27针对区域内大型用电负荷转移的问题,本研究采用关联规则数据挖掘算法中的Ecalt算法和Apriori算法相结合的方式,找到属性项集出现频率较高并按照同字典序相反的规则构建等价关系,提出了Eclat-N算
282KB
布尔型关联规则挖掘算法研究
2011-05-06布尔型关联规则挖掘算法研究 数据挖掘 关联规则
147KB
Winhlp32 的 Windows 10 / Windows 8 解决方案
2015-09-11解决powerbuilder的help在 win8 / win10上无法运行的问题
5.91MB
机器学习课程-源码
2021-02-18机器学习课程(Python / R) 第1部分-数据预处理 第2部分-回归:简单线性回归,多重线性回归,多项式回归,SVR,决策树回归,随机森林回归 第3部分-分类:逻辑回归,K-NN,SVM,内核S
164.91MB
jdk-8u281-windows-x64.exe
2021-02-07jdk-8u281-windows-x64.exe
C++入门基础视频精讲
2018-09-28本课程讲述了c++的基本语言,进阶语言,以实战为基准,高效率传递干货, 教会学员命令行编译直击底层过程,现场编码 并且掌握各种排错思路
Java学习指南(Java入门与进阶)
2017-08-09这是Java学习指南系列课程的第1篇,介绍Java语言的入门语法,引领希望学习Java语言编程的初学者进入Java大门。 本课程不需要其他语言作为基础,可以直接学习。 课程从Java开发平台的下载和安装开始,从浅到深、从易到难,循序渐进地进行语法讲解。 为了让学员更好的掌握Java语言,本课程配套在线的Java题库及答案解析。 相比于其他语言,Java语言更科学、更容易掌握,快来和大家一起学习Java吧。
征服C++ 11视频精讲
2016-09-02【为什么还需要学习C++?】 你是否接触很多语言,但从来没有了解过编程语言的本质? 你是否想成为一名资深开发人员,想开发别人做不了的高性能程序? 你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础只能望洋兴叹? 那么C++就是你个人能力提升,职业之路进阶的不二之选。 【课程特色】 1.课程共19大章节,239课时内容,涵盖数据结构、函数、类、指针、标准库全部知识体系。 2.带你从知识与思想的层面从0构建C++知识框架,分析大型项目实践思路,为你打下坚实的基础。 3.李宁老师结合4大国外顶级C++著作的精华为大家推出的《征服C++11》课程。 【学完后我将达到什么水平?】 1.对C++的各个知识能够熟练配置、开发、部署; 2.吊打一切关于C++的笔试面试题; 3.面向物联网的“嵌入式”和面向大型化的“分布式”开发,掌握职业钥匙,把握行业先机。 【面向人群】 1.希望一站式快速入门的C++初学者; 2.希望快速学习 C++、掌握编程要义、修炼内功的开发者; 3.有志于挑战更高级的开发项目,成为资深开发的工程师。 【课程设计】 本课程包含3大模块 基础篇 本篇主要讲解c++的基础概念,包含数据类型、运算符等基本语法,数组、指针、字符串等基本词法,循环、函数、类等基本句法等。 进阶篇 本篇主要讲解编程中常用的一些技能,包含类的高级技术、类的继承、编译链接和命名空间等。 提升篇: 本篇可以帮助学员更加高效的进行c++开发,其中包含类型转换、文件操作、异常处理、代码重用等内容。
12.91MB
微信小程序源码-合集3.rar
2020-09-04微信小程序源码,包含:汤总便利、茶铺门店、滴滴拼车、同城拼车(带后台)、企业OA系统、房地产公司展示、华云智慧园区、汽车维修、评测、停车等源码。
15KB
Python脚本100例
2018-11-17Python脚本实战编写100例,有简单到复杂,简单易懂好学,实用。一看就会,易学就懂。
41.55MB
25个经典网站源代码
2013-06-0925个经典网站源代码 有简约的有时尚的方便大家参考、模仿。
-
下载
Node-Jenkins:Jenkins与Node Js集成-源码
Node-Jenkins:Jenkins与Node Js集成-源码
-
下载
websocket-intro-源码
websocket-intro-源码
-
学院
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
-
下载
区块链人才发展:亚太地区创新与招聘趋势.pdf
区块链人才发展:亚太地区创新与招聘趋势.pdf
-
下载
DA14585开发工具包入门指南.pdf
DA14585开发工具包入门指南.pdf
-
学院
2021年 系统架构设计师 系列课
2021年 系统架构设计师 系列课
-
博客
微信公众号上传
微信公众号上传
-
下载
入党申请书2资料.pdf
入党申请书2资料.pdf
-
学院
MMM 集群部署实现 MySQL 高可用和读写分离
MMM 集群部署实现 MySQL 高可用和读写分离
-
学院
MySQL 视图
MySQL 视图
-
下载
种枣大王采访稿.doc
种枣大王采访稿.doc
-
博客
正常人主动脉内皮细胞 Aortic endothelial cells
正常人主动脉内皮细胞 Aortic endothelial cells
-
学院
MySQL 高可用工具 heartbeat 实战部署详解
MySQL 高可用工具 heartbeat 实战部署详解
-
博客
正常人肾近端小管上皮细胞 Renal proximal tube epithelial cells
正常人肾近端小管上皮细胞 Renal proximal tube epithelial cells
-
博客
Java特性和优势
Java特性和优势
-
下载
abc-源码
abc-源码
-
博客
keras如何在Conv2D,Dense层中添加正则项
keras如何在Conv2D,Dense层中添加正则项
-
下载
Postman-win64-8.0.6-Setup.zip
Postman-win64-8.0.6-Setup.zip
-
学院
app软件测试全栈系列精品课程
app软件测试全栈系列精品课程
-
博客
linux jdk下载并安装
linux jdk下载并安装
-
下载
外国人写的系统资源释放小工具及调用源代码
外国人写的系统资源释放小工具及调用源代码
-
学院
MySQL DML 语言(插入、更新与删除数据)
MySQL DML 语言(插入、更新与删除数据)
-
学院
使用vue搭建微信H5公众号项目
使用vue搭建微信H5公众号项目
-
学院
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
-
博客
pytorch中squeeze()和unsqueeze()函数介绍
pytorch中squeeze()和unsqueeze()函数介绍
-
学院
vue3从0到1-超详细
vue3从0到1-超详细
-
学院
MySQL 性能优化(思路拓展及实操)
MySQL 性能优化(思路拓展及实操)
-
下载
vegan:朋友的登陆页面。 一些引导-源码
vegan:朋友的登陆页面。 一些引导-源码
-
学院
xxljob源码分析
xxljob源码分析
-
学院
MySQL NDB Cluster 负载均衡和高可用集群
MySQL NDB Cluster 负载均衡和高可用集群