基于MapReduce的并行密度聚类挖掘方法技术

技术编号:25439106 阅读:31 留言:0更新日期:2020-08-28 22:27
本发明专利技术提出了一种基于MapReduce的并行密度聚类挖掘方法,其特征在于,包括以下步骤:S1,根据数据点空间分布状况,自适应划分网格单元;S2,对每个数据分区,构建加权网格间的关联性;S3,计算网格密度;S4,利用MapReduce计算模型,得到并行计算局部簇;S5,利用并查集的局部簇合并算法,以及MapReduce计算模型,得到聚类全局簇。本发明专利技术提出的方法在运行效率上以及聚类精确度上都有显著的提高。

【技术实现步骤摘要】
基于MapReduce的并行密度聚类挖掘方法
本专利技术涉及一种大数据挖掘
,特别是涉及一种基于MapReduce的并行密度聚类挖掘方法。
技术介绍
数据挖掘又被称为知识发现KDD(knowledgediscoverindatabase),其目的在于发现大量数据集中有用的信息。常见的数据挖掘任务有聚类、分类、关联规则挖掘等。其中,聚类算法是一种无监督的学习算法,能够根据数据对象的相关特征,将相似的对象归为一类,而差别较大的数据对象则划分到不同类中,因此聚类算法可以从样本数据中发现潜在的分布模式,被广泛应用于文本分析,生物学,医学,卫星图像分析等各种领域。在聚类算法中,基于密度的聚类算法,如DBSCAN和OPTICS算法,可以发现任意形状的簇且对噪声不敏感,受到人们的广泛关注。随着互联网信息技术的不断发展以及大数据时代的到来,使得大数据相较于传统数据,具有了4V特性——Volume(数量大)、Variety(速度快)、Value(价值密度低)。但是传统的密度聚类算法所需的时间复杂度较高,只适用于较小规模的数据集,而在处理大数据时无疑会产生更庞大的计算复杂度。所以,如何降低密度聚类算法的计算复杂度,将其应用到大数据上,是个具有挑战性的难题。随着Google开发的MapReduce架构的广泛应用,以Hadoop、Spark为代表的分布式计算架构受到了越来越多的关注。为了能进一步降低密度聚类算法的计算复杂度,通过改进传统的密度聚类算法,并与分布式计算架构相结合成为目前密度聚类算法研究的主要方向。Li等人首先提出了基于MapReduce下的并行DBSCAN算法,其使用MapReduce计算架构,将数据分片后并行执行DBSCAN算法形成局部簇,再通过增量的方式合并得到全局簇,实现了DBSCAN算法的并行化,然而该算法没有提出有效的方法来划分数据,合并局部簇的计算复杂度较高;Silva等人提出了MapReduce下的分布式DBSCAN算法,根据特定场景划分数据,聚类簇的合并采用增量的方式,算法的时间复杂度较高,算法总体并行化效率较低。Noticewala等人和瞿原等人分别提出了基于Hadoop和基于Spark下的并行密度聚类算法,有效降低密度聚类算法的计算复杂度,同时分别给出了基于Hadoop和Spark下的数据划分方案,但算法对数据进行分区处理时未具体考虑数据特性,也没有给出有效的局部簇合并生成全局簇的方法。如何有效地划分数据,合并局部簇一直是密度聚类算法并行化的重要研究内容。由于数据网格化能将空间数据划分为有限数目的单元,落入同一网格的点可以被看作一个对象进行处理,可以很好地解决数据划分的问题。因此,He等人提出MR-DBSCAN算法,采用均匀划分网格的方式将数据网格化,以网格单元作为对象并行执行DBSCAN算法,最后合并这些网格对象得到全局簇。然而算法明显存在两个问题:均匀划分网格时,网格单元的大小实际难以确定,算法的聚类效果受网格单元大小的影响较大,导致算法的聚类效果不佳;另外,算法在合并局部簇采用增量的方式,计算效率仍然较低。在此基础上,宋董飞等人和Huang等人分别提出了基于Hadoop下的H-DBSCAN算法和基于Spark下的S-DBSCAN算法,同样是采用均分网格的方法来划分数据,不同的是他们通过加入网格边界的扩展,以此来提高聚类结果的精确度和局部簇的合并效率。为了能更有效地划分网格,以及进一步加快合并局部簇的效率,王兴等人提出增量并行化快速聚类算法IP-DBSCAN算法,该算法主要分为三个阶段:首先通过二分法和贪心算法对空间数据进行合理网格化;其次进行本地局部聚类,获得局部簇候选集;最后使用R*-tree索引策略进一步提高局部簇的合并速度。相较于其他按网格划分数据的并行密度聚类算法,IP-DBSCAN算法能更加合理地对数据进行划分,且在合并局部簇时加快了收敛速度,从而进一步加快了算法的并行化效率。然而该算法仍存在两个明显的不足:一方面,算法采用二分法划分数据时,仍需要输入网格边长阈值,阈值的不同会影响算法的聚类结果准确度,导致聚类结果的准确度不高;另一方面,在进行本地局部聚类时计算复杂度较高,在合并局部簇时没有采用并行化的思想,算法总体并行化效率有待进一步提升。
技术实现思路
本专利技术旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于MapReduce的并行密度聚类挖掘方法。为了实现本专利技术的上述目的,本专利技术提供了一种基于MapReduce的并行密度聚类挖掘方法,包括以下步骤:S1,根据数据点空间分布状况,自适应划分网格单元;S2,对每个数据分区,构建加权网格间的关联性;S3,计算网格密度;S4,利用MapReduce计算模型,得到并行计算局部簇;S5,利用并查集的局部簇合并算法,以及MapReduce计算模型,得到聚类全局簇。在本专利技术的一种优选实施方式中,在步骤S1中包括:将d维数据空间等分为2d个初始网格单元,再根据数据点之间的最小平均距离计算网格边长的划分阈值当所有网格满足非空且当前边长大于密度阈值时,则停止网格划分;其网格边长划分阈值的计算方法:其中,n表示数据点的个数;min()表示取最小值;μ为当前最小网格单元中的点个数;pi和pj分别为d维空间中的任意两个数据点。在本专利技术的一种优选实施方式中,在步骤S2中包括:对加权网格的作用范围进行设置:其中,表示加权网格作用范围内的网格集合,表示一个网格单元,si表示在某一维度下的第i个网格单元;si'表示区别于si的其余网格单元;表示对于任意的i其1≤i≤d;对加权网格的权值进行设置:对于中的一个数据点p,如果并且则设置为1;否则,设置为0;其中,表示网格单元的加权网格中的任意网格单元,表示网格单元相对于网格单元的权重值。在本专利技术的一种优选实施方式中,在步骤S3中包括:lbP(t)表示对P(t)作以2为底的对数运算。H'(X)表示网格单元的密度;其中,t表示数据网格化后的某一非空网格单元的密度,即以该网格单元为中心构成的加权网格中的所有数据点个数;x表示该密度取值下的网格单元数量;P(t)是网格单元密度为t所出现的概率;count(t)表示网格单元中网格密度为t的网格单元个数;count(n)表示划分后的非空网格单元总数。在本专利技术的一种优选实施方式中,在步骤S4中包括:在并行计算网格密度阶段:输入网格对象g以及网格中的点pi;接着,执行map函数计算出以网格对象g为中心的加权网格中点的数量Ci[g],并输出key-value值<g,Ci[g]>;之后,执行reduce函数合并map函数的结果,并使用WGIE策略计算出每个网格对象的网格密度hi,最后输出key-value值<(g,N(gi)),hi>传入下一个阶段;在并行计算局部簇阶段:输入数据集D中的点pi以及上个阶段计算出的本文档来自技高网
...

【技术保护点】
1.一种基于MapReduce的并行密度聚类挖掘方法,其特征在于,包括以下步骤:/nS1,根据数据点空间分布状况,自适应划分网格单元;/nS2,对每个数据分区,构建加权网格间的关联性;/nS3,计算网格密度;/nS4,利用MapReduce计算模型,得到并行计算局部簇;/nS5,利用并查集的局部簇合并算法,以及MapReduce计算模型,得到聚类全局簇。/n

【技术特征摘要】
1.一种基于MapReduce的并行密度聚类挖掘方法,其特征在于,包括以下步骤:
S1,根据数据点空间分布状况,自适应划分网格单元;
S2,对每个数据分区,构建加权网格间的关联性;
S3,计算网格密度;
S4,利用MapReduce计算模型,得到并行计算局部簇;
S5,利用并查集的局部簇合并算法,以及MapReduce计算模型,得到聚类全局簇。


2.根据权利要求1所述的基于MapReduce的并行密度聚类挖掘方法,其特征在于,在步骤S1中包括:
将d维数据空间等分为2d个初始网格单元,再根据数据点之间的最小平均距离计算网格边长的划分阈值当所有网格满足非空且当前边长大于密度阈值时,则停止网格划分;其网格边长划分阈值的计算方法:



其中,n表示数据点的个数;
min()表示取最小值;
pi和pj分别为d维空间中的任意两个数据点。


3.根据权利要求1所述的基于MapReduce的并行密度聚类挖掘方法,其特征在于,在步骤S2中包括:对加权网格的作用范围进行设置:



其中,表示加权网格作用范围内的网格集合,表示一个网格单元,si表示在某一维度下的第i个网格单元;
si'表示区别于si的其余网格单元;

表示对于任意的i其1≤i≤d;
对加权网格的权值进行设置:
对于中的一个数据点p,如果并且则设置为1;否则,设置为0;
其中,表示网格单元的加权网格中的任意网格单元,表示网格单元相对于网格单元的权重值。


4.根据权利要求1所述的基于MapReduce的并行密度聚类挖掘方法,其特征在于,在步骤S3中包括:






lbP(t)表示对P(t)作以2为底的对数运算;
H'(X)表示网格单元的密度;
其中,t表示数据网格化后的某一非空网格单元的密度,即以该网格单元为中心构成的加权网格中的所有数据点个数;x表示该密度取值下的网格单元数量;P(t)是网格单元密度为t所出现的概率;count(t)表示网格单元中网格密度为t的网格单元个数;count(n)表示划分后的非空网格单元总数。


5.根据权利要求1所述的基于MapReduce的并行密度聚类挖掘方法,其特征在于,在步骤S4中包括:
在并行计算网格密度阶段:
输入网格对象g以及网格中的点pi;接着,执行map函数计算出以网格对象g为中心的加权网格中点的数量Ci[g],并输出key-value值<g,Ci[g]>;之后,执行reduce函数合并map函数的结果,并使用WGIE策略计算出每个网格对象的网格密度hi,最后输出key-value值<(g,N(gi)),hi>传入下一个阶段;
在并行计算局部簇阶段:
输入数据集D中的点pi以及上个阶段计算出的key-value值<(g,N(gi)),hi>;之后,调用map函数对数据进行计算,如果输入...

【专利技术属性】
技术研发人员:毛伊敏徐锴滨
申请(专利权)人:江西理工大学
类型:发明
国别省市:江西;36

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1