论文部分内容阅读
近些年来,互联网飞速发展,人们在各行各业产生了海量数据,使得人们慢慢进入了真正意义的新时代—数据时代。因此,如何从存储的数据中挖掘其潜在的价值,以便能够更好地推动工业、商业、交通和医疗等领域的发展,为人类社会进步做出贡献,数据挖掘算法的研究成为了当代研究学者热门研究课题。聚类分析算法是在数据挖据领域中众多热门研究课题之一,它隶属于机器学习中无监督学习模块。在2014年,Alex Rodriguez和Alessandro Laio在Science杂志上发表了一篇名为通过快速搜索和发现的密度峰值聚类算法(Clustering by fast search and find of density peaks,CFSFDP)的文章,该方法在聚类算法领域另辟蹊径,克服了之前聚类算法只能识别和发现基于距离的圆形簇的缺陷,还可以对不同形状的簇聚类,而且对噪声不敏感。本文主要在以下几个方面进行改进:(1)首先,针对CFSFDP算法在确定聚类中心时,总是受人为主观因素的制约,使得聚类缺乏科学性和准确性,本文提出了一种基于正序迭代选择策略的密度峰值聚类算法。首先,对于决策函数中变量分布不均匀的情形,进行了归一化处理,使得决策函数中的两个参数ρ(局部密度)和δ(距离)分布均匀;其次,在确定聚类中心时,提出了一种正序迭代选择策略,即根据聚类核心点数目的变化趋势来搜索“拐点”,并以“拐点”之前的点作为聚类中心,完成聚类。通过实验证明,该方法在没有提高时间复杂度的同时,能够对任意分布形式的数据集进行聚类,有效提高了算法的适应性和聚类效果。(2)其次,针对CFSFDP算法在对数据集进行聚类时,由于其决策函数参数ρ(局部密度)和δ(距离)的计算,使得算法需要对整个数据集进行遍历,导致算法时间复杂度过高的问题,在Spark框架上实现了基于正序迭代选择策略的密度峰值并行聚类算法。该方法首先对待聚类数据集进行区间划分,使得各个区间的数据在本区间进行遍历,在各个区间独立分布完成ρ(局部密度)和δ(距离)的计算,之后在各个节点利用基于正序迭代选择策略的密度峰值聚类算法,进行聚类,最后对于各个区间聚类后的结果进行再聚类,最终完成对整个数据集的聚类。实验结果表明,基于Spark的并行密度峰值聚类算法相对于基于正序迭代选择策略的密度峰值聚类算法,在减少计算量以及时间上有更好的效果,大大提高了聚类的计算效率。(3)为了检验算法的有效性和实用性,本文针对外卖数据进行了试验,将基于Spark的并行密度峰值聚类算法应用其中。首先对各个外卖卖家的经纬度进行了聚类,然后对各个点餐时间进行了聚类。通过实验结果和分析,本文算法将对于商铺的经营策略和对于商铺管理提供有力的营销依据,也体现了本算法具有一定的实用价值。最后对全文进行了总结,并提出了下一阶段的研究方向。