论文部分内容阅读
随着大数据时代的到来,信息已经出现爆炸式的增长,如何从海量数据中挖掘出有效的信息,是我们面临的难题。传统的数据挖掘算法在面对大数据的时候,就显得无能为力。利用集群并行计算的能力,在多台机器上同时处理数据,这样处理数据的效率将大大提高。Hadoop、Spark是Apache推出的分布式处理框架,主要用来作大数据的存储和分布式计算。HDFS具备高吞吐率、高容错的文件读写能力;Spark、MapReduce提供了并行编程模型,用户只需调用相关的API即可完成分布式处理程序。这些开源的框架为大数据的处理提供了有利的条件。本文结合现阶段比较热门的分布式处理框架hadoop、Spark等,研究数据挖掘算法的并行化,并对算法进行并行化的改进。主要工作有以下几个方面:(1)协同过滤算法的并行化改进:现有的基于共现矩阵的并行协同过滤算法,当项目较多时,在构建共现矩阵以及计算矩阵相乘的过程中将会消耗大量的时间,并且忽略了邻居用户的作用,在一定程度上影响推荐的精度。针对这一问题,本文提出了改进的并行协同过滤算法(ACF),并在Spark上作具体实现。经过实验表明,本文改进的并行协同过滤算法比基于共现矩阵的并行算法具有更好的运行效率和更高的推荐精度。(2)关联规则FP_Growth算法的并行化改进:现有的并行PFP_Growth算法,在FList分组的步骤中,没有考虑分组中负载均衡的问题。针对这一点,本文在PFP_Growth算法的基础之上,提出了基于二分策略分组的负载均衡改进(APFP_Growth)。经过实验表明,改进的APFP_Growth算法具有很好的可扩展性,并且比PFP_Growth算法具有更好的负载均衡效果。(3)设计并实现一个大数据挖掘核心分析平台,能够对大规模数据集进行挖掘分析。该平台提供聚类、推荐、关联规则等功能模块,底层封装了基于hadoop、Spark实现的数据挖掘的算法,上层提供灵活的、可配置的输入参数和输入数据,用户可以根据该平台,快速完成针对大数据集的挖掘分析工作。