标题 | 基于云平台的并行关联规则挖掘算法分析 |
范文 | 穆俊 摘 要: 自云计算技术出现之后,数据挖掘技术取得了突破性发展。数据挖掘系统不仅实现了低成本、高效率运行,并且系统储存空间和系统可扩展性也在不断扩大,大大提高了数据挖掘效率。这里简要阐述了基于云平台的并行关联规则挖掘算法分析的研究意义,并对基于Hadoop的数据挖掘系统和数据算法设计进行了详细介绍。 关键词: 数据挖掘; 关联规则; 云平台; Hadoop 中图分类号: TN702?34; TP391 文献标识码: A 文章编号: 1004?373X(2015)11?0123?03 Analysis of parallel association rule mining algorithm based on cloud platform MU Jun (Department of Information Science and Technology, Lincang Teachers College, Lincang 677000, China) Abstract: A breakthrough development of data mining technologies was acquired after cloud computing technology appeared. The data mining system realizes the operation of low cost and high efficiency, and expands systems storage space and scalability gradually, so data mining efficiency is improved greatly. In this paper, research significance of parallel association rule mining algorithm based on cloud platform is expounded briefly, data mining system and data algorithm design based on Hadoop are introduced in detail. Keywords: data mining; association rule; cloud platform; Hadoop 随着计算机网络技术、信息技术以及无线通信技术在各个领域和各个行业中的应用,数据库也得到了广泛应用,并且其所积累的数据量也越来越大,几乎都达到了TB级,甚至,有一些数据量已经达到了PB级。由于这些数据都相对比较复杂,属于异构结构,并且这些数据大多有噪声,数据量巨大,所以很难被直接利用。因此,通过高效率、低成本的挖掘方式将有用的数据信息从这些数据中挖掘出来进行有效利用,成为当前数据挖掘技术领域最为重要的研究课题。一直以来,虽然相关研究人员都致力于对这些数据挖掘技术的研究,但是由于受到科学技术以及自身技术水平等方面因素的限制,一直没有研究出有效的解决方案,而云计算的出现,则为数据挖掘技术的研究带来了突破。本文对基于云平台的并行关联规则挖掘算法进行详细分析,为进一步提升数据挖掘技术水平提供科学有效的参考依据。 1 数据挖掘 数据挖掘也被称为是数据库中的知识发现(Knowledge Discovery in Databases,KDD),主要指的是从大量的、有噪声的、异构的和复杂的海量数据中挖掘出有利用价值的信息或者是知识,然后对这些信息或者是知识进行整理和分析的过程[1]。一直以来,在对数据信息和知识进行挖掘的过程中,所采用的都是依靠大规模计算机和数据挖掘设备对海量数据中的有效信息和知识进行挖掘和分析,这种数据挖掘方式,虽然也能够对数据信息和知识进行有效挖掘和分析,但是这种数据挖掘方法比较繁琐,过程比较复杂,并且成本也比较大,不利于普及应用。而基于云平台的并行关联规则挖掘技术,则为数据挖掘技术的提升带来了新的解决方案,通过计算机网络技术、信息技术以及无线网络通信技术的结合,实现了数据挖掘和计算的虚拟化[2?3]。与传统数据挖掘和计算技术相比,基于云平台的云计算技术具有更加强大的计算能力和更加庞大的储存空间,并且由于实现了数据挖掘和计算的虚拟化,其运行成本更低,灵活性更强。可以说,云计算的出现,实现了海量数据挖掘和计算的改革创新,使企业能够利用更低的成本获取更加有价值的数据信息,这对于提升企业决策的合理性和科学性,进一步提升企业的经济效益,推动企业更好、更快发展具有极为重要的影响作用。 对于任何一个企业来说,如果能够从海量数据中挖掘出有利用价值的信息,并能够对这些信息进行有效分析和整理,就能够为企业的决策带来强有力的支持,使企业决策变得更加合理和科学,进而使企业在行业竞争中占据有利地位,为企业谋取更大的经济效益,这对于推动企业的快速、持续发展具有极为重要的影响作用。基于以上特点,越来越多的企业开始对数据挖掘技术引起足够重视,并不断对数据挖掘技术进行研究和应用。 数据挖掘包含的技术十分繁杂,其中,聚类分析技术、预测技术、数据计算技术、关联规则技术、模糊逻辑技术、可视化技术、自动化和智能化技术以及数据统计分析技术是最为重要的几种技术,对整个数据挖掘技术具有比较重要的影响[4]。应用数据挖掘系统对数据进行挖掘的过程中,主要分为目标业务确定、数据源选择、收集数据、选择数据、对数据质量进行检查、对数据进行转换以及对数据挖掘结果进行分析等几个流程,其中任何一个环节出现问题都会对整个数据挖掘的最终结果造成影响[5]。 2 基于Hadoop的数据挖掘系统 自20世纪80年代第一代数据挖掘系统诞生以来,数据挖掘系统历经五代发展,专家、学者一直在对数据挖掘系统进行改进和完善。 第一代数据挖掘系统是最为简单的一代系统,系统中仅包含了几个数据挖掘算法,其不论是数据挖掘能力还是计算能力都比较有限。 第一代系统在对数据进行挖掘的过程中,需要将数据输入到系统中之后才能够对数据进行挖掘和计算,所以,系统中几种算法也只适合应用于向量数据的挖掘[6]。 第二代数据挖掘系统相对于第一代数据挖掘系统已经有了突破性进展,其不仅支持数据库,还能与DBMS进行集成, 具有比较良好的扩展性。除此之外,在第二代系统中还对数据算法进行了完善,不再局限于对向量数据进行挖掘,对于一些大型数据集和复杂数据集也能够进行数据挖掘,并且具有比较良好的挖掘效果。同时,在第二代系统中,还支持数据挖掘查询语言和数据挖掘模式,能够在一定程度上提升系统的实用性和应用效率。 第三代数据挖掘系统是在第二代数据挖掘系统之上进行了进一步升级和扩展,并实现了数据挖掘的集成化和网络化,进一步提升了数据挖掘效率。与第二代数据挖掘系统相比,第三代数据挖掘系统已经初步实现了数据挖掘的网络化。 第四代数据挖掘系统在基于第三代系统网络化的基础上实现了一定移动计算。在第四代数据挖掘系统中,可以对嵌入式系统、移动系统以及一些分布式系统中的数据进行挖掘和计算,实现了数据挖掘系统的移动化和分布化。 第五代数据挖掘系统也就是基于云平台的数据挖掘系统,系统中的算法为并行关联规则挖掘算法,是当前应用最为广泛,也是数据挖掘主要发展方向的数据挖掘系统[7]。该系统与前几代数据挖掘系统相比,不仅更加方便、快捷、高效,并且具有成本低、储存空间大以及扩展性强等特点。 3 基于Hadoop的数据算法设计 3.1 数据流程 基于云平台的并行关联规则挖掘算法设计主要是在AprioriPMR算法的基础上,通过使用两次MapReduce job查找,将频繁项目集的集合[L]找出。在对算法进行设计的过程中,为了确保算法设计的顺利进行,在第一次执行MapReduce job的过程中,应该先利用空格将Map任务阶段的每一条交易记录都分离出来,并对交易中的每个项目都进行赋值, 赋值为1,使其形成<‘项目,1>键值对。在执行Reduce任务时,对‘项目key值相同的键值对进行归约处理, 并对其value值进行累加计算,形成与键值对相对应的‘支持频度。如果在系统运行的过程中,用户给定的支持频度小于‘支持频度,则系统就会输出<‘项目(value),‘项目(key)>,当系统中所有的<‘支持频度(value),‘项目(key)>都被输出之后,就会形成1?项目的频繁集合[L1。]在第二次执行MapReduce job的过程中,在Map任务阶段,应该对所有项目进行筛选,只留下[L1]集合中的项目,并将其相对应的交易记录信息保留在项目中,形成另一个项目集S和非空幂集P(S),并依照第一步中的处理方式对集中项目进行赋值,形成<‘幂集元素,1>键值对[8]。然后,在执行Reduce任务时,对‘幂集元素key值相同的键值对进行归约处理, 并对其value值进行累加计算,形成与键值对相对应的‘支持频度。如果在系统运行的过程中,用户给定的支持频度小于‘支持频度,则系统就会输出<‘项目(value),‘幂集元素(key)>,当系统中所有的<‘支持频度(value),‘幂集元素(key)>都被输出之后,就会形成1?项目的频繁集合L。当L集合生成之后,就能够生成并行关联规则,用来支持数据挖掘系统的正常运行[9]。以上算法流程如图1所示。 3.2 设计实现 (1) MapReduce job第一阶段 该阶段主要任务是通过执行计算获得1?项目频繁集合[L1,]该阶段为AprioriPMR算法的第一步。在该阶段,系统中的分布式文件系统HDFS会在执行Reduce任务的过程中,水平将D化为若干个数据块,每一个数据块的大小[10]皆为64M。在该阶段,RecordReader接口主要依靠InputFormat实现,并且将所有数据块进行归约,格式化成<‘支持频度(value),‘项目(key)>键值对[11]。在生产键值对之后,紧接着就会通过Map和Readuce操作来生产集合[L1。] (2) MapReduce job第二阶段 该阶段主要任务是通过执行计算获得1?项目频繁集合L,该阶段为AprioriPMR算法的主要阶段,对形成并行关联规则具有极为重要的影响作用[12]。该阶段主要包括了AprioriPMR算法的第2步和第4步,其具体操作如图2,图3所示。 (3) 生成关联规则阶段 相对于前两个阶段而言,该阶段比较简单,主要针对[L]集合中的每一个元素,相对应地找出所有的非空真子集[s。]在找出每个非空真子集[s]之后,对其置信度进行详细计算,以不小于置信度阈值为标准,生成关联规则,并将其应用于数据挖掘系统中[13]。 4 结 语 随着网络全球化以及计算机网络技术的深入普及,所生成的数据量越来越大,对于数据挖掘和挖掘算法的要求也越来越高。为了能够有效解决该问题,提高对海量数据的挖掘效率,获取更多具有利用价值的信息和知识,成为当前数据挖掘技术领域所面临的主要问题。相关研究人员应该不断加强对数据挖掘技术的研究和应用,并在基于云平台的基础上实现数据挖掘的云计算,进一步提升数据挖掘效率,为企业决策提供科学有效的参考依据,进一步提高企业的经济效益。 参考文献 [1] JIN R, YANG G, AGRAWAL G. Shared memory parallelization of data mining algorithms: techniques, programming interface, and performance [J]. IEEE Transactions on Knowledge and Data Engineering, 2004, 16(10): 1?19. [2] 陈没,王庆波,何乐,等.云计算技术与实践[M].北京:电子工业出版社,2011. [3] 于楚礼.基于Hadoop的并行关联规则算法研究[D].天津:天津理工大学,2011. [4] YANG Xin?yue, LIU Zhen, FU Yan. MapReduce as a programming model for association rules algorithm on Hadoop [C]// 2010 3rd International Conference on Information Sciences and Interaction Sciences (ICIS). Chengdu: IEEE, 2010: 99?102. [5] 陈燕.数据挖掘技术与应用[M].北京:清华大学出版社,2011. [6] 王智钢,王池社,马青霞.分布式并行关联规则挖掘算法研究[J].计算机应用与软件,2013(10):113?115. [7] 杨宸铸.基于Hadoop的数据挖掘研究[D].重庆:重庆大学,2010. [8] 侯建,帅仁俊,侯文.基于云计算的关联规则挖掘算法[J].化工自动化及仪表,2011(5):579?581. [9] 郝延静.云存储系统日志关联规则挖掘研究[D].西安:西安电子科技大学,2014. [10] 刘世平.数据挖掘技术及应用[M].北京:高等教育出版社,2010. [11] 韩秋明,李微,李华锋,等.数据挖掘技术与应用实例[M].北京:机械工业出版社,2009. [12] SHVACHKO K, KUANG H, RADIA S, et al. The Hadoop distributed file system [C]// 2010 IEEE/NASA Conference on Mass Storage Systems and Technologies. Incline Village: IEEE, 2010: 1?10. [13] 车斌.基于Hadoop海量数据处理关键技术研究[D].成都:电子科技大学,2013. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。