论文部分内容阅读
数据挖掘是针对大量的数据进行分析,以得出有价值信息的过程。随着社会信息化程度越来越高,移动网络设备骤增,产生了大量的数据信息,如何从海量的数据中挖掘出有价值的知识,是数据挖掘技术所面临的主要问题之一。传统的数据挖掘很难满足现阶段大数据处理效率的要求,以Hadoop平台为代表的云计算技术应用解决了大数据挖掘的瓶颈。但是基于Hadoop平台的数据挖掘算法并行化研究仍然存在一些亟待解决的问题,例如,如何减少I/O损耗、如何设计更优的MapReduce任务、如何降低任务同步和通信的代价等等。 为了解决这些问题,本文主要进行了以下研究工作: (1)本文分析了传统的KNN算法的执行流程,将其传统流程中的向量映射、计算距离、寻找K个相邻向量、确定类别的四个步骤,分别进行了MapReduce改造。在此基础之上,提出了KNN算法基于Hadoop平台的并行化移植方案。而后对于方案中Job任务数过多,以及运算伪同步的缺陷进行了改进,最终提出了改进的并行化方案。改进的KNN算法并行化方案将MapReduce任务的个数由基本移植方案中的4次降低为2次,并利用了MapReduce自动排序的特性,提高了算法的执行效率; (2)本文分析了传统Apriori算法的执行流程,将其传统流程中的剪枝步、连接步、求取强关联规则以及相关程序控制等步骤,分别改造成合理的MapReduce模式,在此基础之上。提出了Apriori算法基于Hadoop平台的并行化移植方案。而后对于方案中的Job任务数过多,迭代流程复杂等缺陷进行了改进,最终提出了改进的并行化方案。改进的Apriori算法并行化方案摈弃了剪枝优化迭代遍历的传统工作模式,并使得事务数据库的扫描次数由传统的不确定k(k>1)次减少至固定的2次; (3)为验证本文提出方案的合理性和正确性,本文搭建了Hadoop云平台,并在此环境中实现了KNN、Apriori算法的改进方案。 对于改进的KNN算法并行化方案,实验观察了在不同计算节点数的情况下该算法的性能表现,最终证明了并行化改进后的KNN算法具有良好的扩展性;对于改进的Apriori算法并行化方案,实验处理了多个数据集,从最小支持度、项集阶数、数据量三个方面进行分析,确定了并行化改进后的Apriori算法具有良好的执行效率。