论文部分内容阅读
随着Internet、AI的快速发展,互联网中积累了海量的数据。这些数据蕴含巨大的商业价值,对于降低企业成本、提高企业收入具有重要作用,越来越受到企业的重视。但是,这些数据价值密度低、结构复杂,如何从这些海量数据中快速、准确地挖掘出这些有价值的信息是我们面临的难题。利用数据挖掘技术可以帮助我们从这些海量数据中挖掘出有用信息。但是,传统的数据挖掘技术在处理海量数据或者高维数据时存在准确率偏低、分析时间过长等问题。而且,数据挖掘算法传统运行模式大多在单机上执行,数据量更大时,运行时间会更长。目前,将传统数据挖掘算法进行改进,然后结合分布式计算平台Spark,将改进后的聚类算法并行化并部署到集群上是解决上述问题的一个可行方案。为此,本文进行了以下几个方面的研究:(1)研究了K-means算法,针对算法对初始聚类中心敏感、K值不确定、容易过早陷入局部最优解的缺陷,提出使用遗传算法(Genetic Algorithm,简称GA)对其进行改进。针对经典GA算法求解全局最优解易过早收敛的缺点,本文对经典GA算法进行了两方面的改进:一方面,对遗传算法的适应度函数进行了线性变换,使其随着环境的变化实时调整,设计了GA-K-means-L算法。另一方面,改进传统单一变异算子为并行选择变异算子,解决了易陷入局部最优解的缺陷,设计了GA-K-means-M算法。最后将这两种算法进行整合,设计了本文研究的GA-K-means算法。(2)针对GA-K-means算法在单机环境下处理海量数据时性能过低的问题,利用云计算平台Spark对GA-K-means算法进行并行化设计与实现。(3)搭建Spark+YARN集群,对上述改进进行验证。在单机环境下分别部署K-means算法、GA-K-means-L算法、GA-K-means-M算法以及GA-K-means算法。然后,对不同数据量、不同维度的数据集进行聚类分析,最后,统计分析各个算法的平均准确率、平均迭代次数以及平均耗时。在Spark+YARN集群环境下部署GA-K-means算法。然后,对不同数据量、不同维度的数据在不同数量的节点下聚类分析。最后,统计分析在Spark集群下的加速比和扩展性。研究表明基于改进遗传算法的混合K-means算法有效克服了K-means算法的缺陷,对GA-K-means算法在Spark+YARN集群环境下进行并行化可以高效处理数据量大,维度高的数据,具有重要的实际应用价值。