聚类实现方法及系统的制作方法

文档序号:6575466阅读:178来源:国知局
专利名称:聚类实现方法及系统的制作方法
技术领域
本发明涉及数据挖掘领域,尤其涉及一种海量样本数据的聚类实现方法及相应系 统。
背景技术
在当前数据挖掘领域,已有的聚类算法可以分为几类,包括基于划分的方法,基于 层次的方法,基于密度的方法,基于网格的方法以及基于模型的方法等。进行数据挖掘时,需要将对全部数据进行逐条计算及分析,算法时间复杂度高。海 量数据是对各种聚类算法的一个挑战。已有的聚类算法大都还只是停留在实验室阶段,对 于海量数据,有些算法或者不能进行有效处理,或者处理效率很低。DBSCAN算法是一个基于空间密度的聚类算法。该算法将具有足够高密度的区域划 分为聚类,并可以在带有“噪声”(指具有一些非核心样本点)的样本空间中发现任意形状 的聚类。DBSCAN算法的基本原理为设定数据挖掘时样本的ε邻域(对于给定对象的半径ε内的区域称为该对象的 ε邻域)和最小密度(最小密度为指定ε邻域内样本数量的最少个数),并当一个未被标 记的样本的ε邻域内的未被标记所属聚类的样本数量满足大于设定的最小密度时,确定 该样本为核心样本。标记核心样本属于当前聚类,以及将该核心样本的ε邻域内各样本置 入候选队列并标记为属于当前聚类。进一步确定候选队列中各候选样本是否为核心样本, 若是,重复执行将确定出的核心样本的ε邻域内各样本置入候选队,直到遍历整个样本数 据库的中每个样本,标记出每个样本所属聚类。上述DBSCAN聚类算法,对于少量样本,可以方便地在单机上实现。但对于海量样 本而言,一方面由于单机内存容量有限,不可能读入海量的样本数据;另一方面,由于聚类 过程中需要进行候先队列的动态更新,对样本数据库中的每一个样本进行所属聚类标记, 处理时间很长,在实际的数据业务应用中,效率很低。因此,对于实际应用中海量数据的处理,如何有效地提升处理效率是数据挖掘中 需要加以解决的一个主要问题。

发明内容
本发明实施例提供聚类实现方法及聚类实现系统,通过采用多个节点并行处理, 解决现有技术对海量数据无法实现聚类处理及处理效率低的问题。本发明实施例提供的一种聚类实现方法包括步骤1、主控节点根据样本数据库中的当前未标记所属聚类的样本确定出一个核 心样本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域 内各样本存入候选队列中;步骤2、所述主控节点对所述候选队列中的候选样本进行分片,将分片样本分配并下发给至少两个计算节点;步骤3、每个所述计算节点根据样本数据库中的当前未标记样本、设定的ε邻域 和最小密度分别确定出分配的分片样本中的每一个样本是否为核心样本;将确定出的核心 样本的ε邻域内各样本存入所述候选队列中;且当分配的分片样本全部处理完毕后,通知 所述主控节点;步骤4、所述主控节点接收到每个所述计算节点发送的通知后,判断所述候选队列 中是否存在候选样本,当存在候选项样本时,将每个候选样本标记为属于当前聚类,转至上 述步骤2 ;当不存在候选样本时,转至上述步骤1,直到所述样本数据库中的每一个样本都 已标记所属聚类。本发明实施例提供的另一种聚类实现方法,包括步骤1、主控节点对原始数据库中当前未标记样本进行分块,将分块样本分配并下 发给至少两个计算节点;以及根据原始数据库中的当前未标记样本确定出一个核心样本, 并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域内各样 本存入候选队列中;步骤2、所述主控节点将所述候选队列中的候选样本下发给每个所述计算节点;步骤3、每个所述计算节点根据分配的分块样本和设定的ε邻域,分别统计每一 个候选样本的本地ε邻域内的样本数量,并发送给合并节点;步骤4、所述合并节点对每一个候选样本,累计所述计算节点发送的对应样本数 量,并根据累计和值和设置的最小密度确定每一个候选样本是否为核心样本;当确定出存 在核心样本时,将确定出的核心样本通知给各计算节点;以及当确定出不存在核心样本时, 通知所述主控节点;步骤5、各计算节点接收到所述合并节点发送的核心样本通知后,将对应核心样本 的本地ε邻域内的各样本存入所述候选队列中,当存入完成后,通知所述主控节点;步骤6、所述主控节点接收到所述合并节点发送的通知后,转至上述步骤1 ;以及 接收到每个所述计算节点发送的通知后,将所述候选队列的每个候选样本标记为属于当前 聚类,转至上述步骤2 ;直到原始数据库中的每一个样本都已标记所属聚类。本发明实施例提供的一种聚类实现系统,包括主控节点、至少两个计算节点;所述主控节点,用于根据样本数据库中的当前未标记所属聚类的样本确定出一个 核心样本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻 域内各样本存入候选队列中;以及对所述候选队列中的候选样本进行分片,将分片样本分 配并下发给所述至少两个计算节点;以及接收每个所述计算节点发送的通知,判断所述候 选队列中是否存在候选样本,当存在候选项样本时,将每个候选样本标记为属于当前聚类, 并重新分片下发给所述至少两个计算节点;当判断所述候选队列为空后,再确定出下一个 核心样本重复上述过程,直到所述样本数据库中的每一个样本都已标记所属聚类;所述计算节点,用于根据样本数据库中的当前未标记样本、设定的ε邻域和最小 密度分别确定出分配的分片样本中的每一个样本是否为核心样本;将确定出的核心样本的 ε邻域内各样本存入所述候选队列中;且当分配的分片样本全部处理完毕后,通知所述主 控节点。本发明实施例提供的另一种聚类实现系统,包括主控节点、至少两个计算节和合并节点;所述主控节点,用于对原始数据库中当前未标记样本进行分块,将分块样本分配 并下发给至少两个计算节点;以及根据原始数据库中的当前未标记样本确定出一个核心样 本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域内 各样本存入候选队列中;以及将所述候选队列中的候选样本下发给每个所述计算节点;还 用于接收所述计算节点的通知,将所述候选队列的每个候选样本标记为属于当前聚类,并 再次下发候选队列中的候选样本给所述至少两个计算节点;当接收到所述合并节点的通知 后,再确定出下一个核心样本,并重复上述过程,直到所述原始数据库中的每一个样本都已 标记所属聚类;所述计算节点,用于根据分配的分块样本和设定的ε邻域,分别统计每一个候选 样本的本地ε邻域内的样本数量,并发送给合并节点;以及接收合并节点发送的核心样本 通知,将对应核心样本的本地ε邻域内的各样本存入所述候选队列中,当存入完成后,通 知所述主控节点;所述合并节点,用于对每一个候选样本,累计所述计算节点发送的对应样本数量, 并根据累计和值和设置的最小密度确定每一个候选样本是否为核心样本;当确定出存在核 心样本时,将确定出的核心样本通知给各计算节点;以及当确定出不存在核心样本时,通知 所述主控节点。本发明提供的一种聚类实现方法及对应系统中,通过对候选队列中的候选样本进 行分片,由多个计算节点并行处理(并行确定核心节点),充分利用系统中各节点的计算资 源,大大缩短海量数据进行聚类挖掘处理时的等待时长,提高了计算效率。本发明提供的另一种聚类实现方法及对应系统中,将待处理的样本分块后分配给 不同的计算节点处理,解决了海量数据无法全部由单机读入内存进行计算处理的问题;本 发明提供的聚类实现方法中,采用了至少两个计算节点并行地参与聚类计算过程,加快了 计算速度;再通过合并节点进行有效合并,充分利用系统中各节点的计算资源,有效解决了 现有技术对海量数据无法实现聚类处理及处理效率低的问题。


图1为本发明实施例提供的聚类实现方法一流程图;图2为本发明实施例提供的聚类实现方法一的实际应用流程图;图3为本发明实施例提供的聚类实现方法二的步骤流程图;图4为本发明实施例提供的聚类实现方法二的实际应用流程图;图5为本发明实施例提供的与聚类实现方法一相对应的聚类实现系统结构示意 图;图6为本发明实施例提供的与聚类实现方法二相对应的聚类实现系统结构示意 图。
具体实施例方式下面结合附图,对本发明实施例提供的聚类实现方法及系统进行详细说明。参见图1,为本发明实施例提供的聚类实现方法一流程图,包括如下步骤
步骤S101、主控节点根据样本数据库中的当前未标记所属聚类的样本确定出一个 核心样本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻 域内各样本存入候选队列中。步骤S102、主控节点对候选队列中的候选样本进行分片,将分片样本分配并下发 给至少两个计算节点。步骤S103、每个计算节点根据样本数据库中的当前未标记样本、设定的ε邻域和 最小密度分别确定出分配的分片样本中的每一个样本是否为核心样本;将确定出的核心样 本的ε邻域内各样本存入候选队列中;且当分配的分片样本全部处理完毕后,通知主控节
点ο步骤S104、主控节点接收到每个计算节点发送的通知后,判断候选队列中是否存 在候选样本,当存在候选项样本时,将每个候选样本标记为属于当前聚类,转至上述步骤 S102;当不存在候选样本时,转至上述步骤S101,直到样本数据库中的每一个样本都已标 记所属聚类。参见图2,为本发明实施例提供的上述聚类实现方法一的实际应用流程图,包括步骤S201、主控节点根据样本数据库中的当前未标记所属聚类的样本确定出一个 核心样本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻 域内各样本存入候选队列中。步骤S202、主控节点对候选队列中的候选样本进行分片,将分片样本分配并下发 给至少两个计算节点。实际中,主控节点根据参与计算的计算节点数量(假设为N个),将候选项队列中 的全部候选样本分成相应数量的分片(N个分片),并将每一个分片样本分配给不同的计算 节点。实际中,主控节点可以根据本轮要分配的候选样本数量,灵活确定参与并行处理 的计算节点数量。当需要处理的候选样本数量较多时,启动多个计算节点,当候选样本数量 较少时,相应减少参与并行处理的计算节点。步骤S203、每个计算节点按序读取分配给自身的分片样本中的一个样本,根据样 本数据库中的当前未标记样本、设定的ε邻域和最小密度确定该样本是否为核心样本;当 确定出该样本为核心样本时,执行步骤S204,否则,转至步骤S205。步骤S204、将确定出的该核心样本的ε邻域内各样本存入候选队列中,继续步骤 S205。步骤S205、每个计算节点判断分配给自身的分片样本中的各样本是否处理完毕, 若是,执行步骤S206 ;否则转至步骤S203。步骤S206、通知主控节点处理完毕。步骤S207、主控节点接收到每个计算节点发送的通知后,判断候选队列中是否存 在候选样本,当存在候选项样本时,执行步骤S208 ;当不存在候选样本时,执行步骤S209。步骤S208、将每个候选样本标记为属于当前聚类,转至上述步骤S202。步骤S209、主控节点判断样本数据库中是否存在未被标记的样本;若有,转至步 骤S201 ;否则,执行步骤S210。步骤S210、根据标记的每一个样本所属聚类,得到属于每一个聚类的样本。
本发明提供的上述聚类实现方法一,特别适合于对样本数量不是很大的相应数据 库中的样本进行聚类。采用了至少两个计算节点并行地参与聚类计算过程,加快了计算速度。当原始数据库中的样本数量特别巨大时,可以先对原始数据库进行抽样,生成样 本数据库,再对生成的样本数据库按照上述聚类实现方法一确定出样本数据库中的每一个 样本所属聚类后,进一步再确定出原始数据库中的其余样本所属聚类,具体方法为主控节点对当前每一个聚类,分别计算属于该聚类的各样本的样本值的均值,确 定出每一个聚类的对应聚类中心点;以及主控节点对原始数据库中除生成的样本数据库中包含的各样本外的其余样本进 行分块,将分块样本分配给至少两个计算节点;将分配的分块样本及计算出的各聚类中心 点信息分别发送给每个计算节点;每个计算节点分别计算分配的分块样本中每个样本在样本空间中的对应样本点 与各聚类中心点的距离,将每个样本归属到所述距离最小的对应聚类中心点所属聚类,并 返回样本标识与所属聚类的聚类标识给所述主控节点;主控节点根据每个所述计算节点返回的样本标识与所属聚类的聚类标识,确定出 原始数据库中的每个其余样本所属聚类。上述流程中,当候选队列中存在候选样本,主控节点在将每个候选样本标记为属 于当前聚类之前,还合并由不同的计算节点存入到候选队列中的相同样本。上述聚类实现方法一,通过对候选队列中的候选样本进行分片,由多个计算节点 并行处理(并行确定核心节点,并行将核心节点的ε邻域内各样本存入候选队列中),充分 利用系统中各节点的计算资源,大大缩短海量数据进行聚类挖掘处理时的等待时长,提高 了计算效率。参见图3,为本发明实施例提供的聚类实现方法二的步骤流程图,包括下列步骤步骤S301、主控节点对原始数据库中当前未标记样本进行分块,将分块样本分配 并下发给至少两个计算节点;以及根据原始数据库中的当前未标记样本确定出一个核心样 本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域内各 样本存入候选队列中;步骤S302、主控节点将候选队列中的候选样本下发给每个计算节点;步骤S303、每个计算节点根据分配的分块样本和设定的ε邻域,分别统计每一个 候选样本的本地ε邻域内的样本数量,并发送给合并节点;步骤S304、合并节点对每一个候选样本,累计计算节点发送的对应样本数量,并根 据累计和值和设置的最小密度确定每一个候选样本是否为核心样本;当确定出存在核心样 本时,将确定出的核心样本通知给各计算节点;以及当确定出不存在核心样本时,通知主控 节点。步骤S305、各计算节点接收到合并节点发送的核心样本通知后,将对应核心样本 的本地ε邻域内的各样本存入所述候选队列中,当存入完成后,通知主控节点;步骤S306、主控节点接收到合并节点发送的通知后,转至上述步骤S301 ;以及接 收到每个计算节点发送的通知后,将候选队列的每个候选样本标记为属于当前聚类,转至 上述步骤S302 ;直到原始数据库中的每一个样本都已标记所属聚类。
参见图4,为本发明实施例提供的上述聚类实现方法二的实际应用流程图,包括步骤S401、主控节点对原始数据库中当前未标记样本进行分块,将分块样本分配 并下发给至少两个计算节点;以及根据原始数据库中的当前未标记样本确定出一个核心样 本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域内各 样本存入候选队列中。实际中,主控节点根据参与计算的计算节点数量(假设为N个),将待处理的全部 样本分成相应数量的分块(N个分块),并将每一个分块样本分配给不同的计算节点。步骤S402、主控节点将候选队列中的候选样本下发给每个计算节点。步骤S403、每个计算节点根据分配的分块样本和设定的ε邻域,分别统计每一个 候选样本的本地ε邻域内的样本数量,并发送给合并节点。步骤S404、合并节点对每一个候选样本,累计各计算节点发送的对应样本数量,并 根据累计和值和设置的最小密度确定各候选样本是否为核心样本;当确定出存在至少一个 核心样本时,执行步骤S405 ;否则,转至步骤S406。步骤S405、合并节点将确定出的核心样本通知给各计算节点,转至步骤S407。步骤S406、合并节点通知主控节点本次下发的候选样本中不存在核心样本,转至 步骤S409。上述步骤S405和步骤S406为两个分支步骤,不可能同时出现。步骤S407、各计算节点接收到合并节点发送的核心样本通知后,将对应核心样本 的本地ε邻域内的各样本存入所述候选队列中,当存入完成后,通知主控节点,继续步骤 S408。步骤S408、主控节点将候选队列的每个候选样本标记为属于当前聚类,转至上述 步骤S402。步骤S409、主控节点判断原始数据库中是否存在未被标记所属聚类的样本,若存 在,转至上述步骤S401 ;否则,执行步骤S410。步骤S410、根据标记的每一个样本所属聚类,得到属于每一个聚类的样本。上述步骤S408中,主控节点将候选队列的每个候选样本标记为属于当前聚类之 前,还合并由不同的计算节点存入到候选队列中的相同样本。一实施例中,合并节点至少包括两个;由主控节点预先分配每个合并节点进行合 并的对应候选样本。上述流程中,每个计算节点分别统计每一个候选样本的本地ε邻域内的样本数 量,并发送给合并节点,具体方法包括方法一由主控节点将各合并节点进行合并的对应候选样本,预先通知给各计算 节点,每个计算节点根据每个合并节点进行合并的对应候选样本,将本地统计出的对应候 选样本的样本数量上报给对应的合并节点;方法二每个合并节点根据自身进行合并的对应候选样本,分别向每个所述计算 节点请求上传对应候选样本的统计信息;每个计算节点向每个合并节点返回本地统计出的 对应候选样本的样本数量。上述聚类实现方法二中,采用了两个以上的计算节点并行地参与聚类计算,提高 了计算效率。且每个计算节点仅处理一部分样本数据,解决了海量数据由单机无法实现处理的问题。且可以按照候选样本数量设置相应数量的合并节点,使合并过程也并行化,进一 步提高合并处理速度。本发明上述实施例提供的聚类实现方法中,可以采用Map/Reduce函数来实现。其 中,每个计算节点采用Map函数来获取分配给自身的分块样本中每一个候选样本的本地ε 邻域内的样本数量,并发送给合并节点;合并节点采用Reduce函数来合并各计算节点发送 的对应样本数量。Map/Reduce函数中的Key和Value对,根据实际需要处理的对象及处理 结果分别确定。基于同一发明构思,根据本发明上述实施例提供的聚类实现方法一,本发明提供 一种相应的聚类实现系统,其结构示意图如图5所示,包括主控节点主控节点51以及至少 两个计算节点52。主控节点51,用于根据样本数据库中的当前未标记所属聚类的样本确定出一个核 心样本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域 内各样本存入候选队列中;以及对候选队列中的候选样本进行分片,将分片样本分配并下 发给计算节点52 ;以及接收计算节点52发送的通知,判断候选队列中是否存在候选样本, 当存在候选项样本时,将每个候选样本标记为属于当前聚类,并重新分片下发给计算节点 52 ;当判断候选队列为空后,再确定出下一个核心样本重复上述过程,直到样本数据库中的 每一个样本都已标记所属聚类;计算节点52,用于根据样本数据库中的当前未标记样本、设定的ε邻域和最小 密度分别确定出分配的分片样本中的每一个样本是否为核心样本;将确定出的核心样本的 ε邻域内各样本存入所述候选队列中;且当分配的分片样本全部处理完毕后,通知所述主 控节点。一具体实施例中,主控节点51还用于,对原始数据库进行抽样处理,得到样本数 据库;以及对根据样本数据库获得的每一个聚类,分别计算当前属于该聚类的各样本的样 本值的均值,确定出每一个聚类的对应聚类中心点;主控节点51还用于,对原始数据库中 除样本数据库中包含的样本外的其余样本进行分块,将分块样本分配给计算节点52,并将 分配的分块样本及确定出的聚类中心点分别发送给每个计算节点52 ;根据每个计算节点 52返回的样本标识与所属聚类的聚类标识,确定出原始数据库除样本数据库外的其余样本 中的每个样本的所属聚类;每个计算节点52,还用于分别计算分配的分块样本中每个样本在样本空间中的 对应样本点与各聚类中心点的距离,将每个样本归属到距离最小的对应聚类中心点所属聚 类,并返回样本标识与所属聚类的聚类标识给主控节点51。基于同一发明构思,根据本发明上述实施例提供的聚类实现方法二,本发明提供 一种相应的聚类实现系统,其结构示意图如图6所示,包括主控节点61、至少两个计算节 62和合并节点63 ;主控节点61,用于对原始数据库中当前未标记样本进行分块,将分块样本分配并 下发给至少两个计算节点;以及根据原始数据库中的当前未标记样本确定出一个核心样 本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域内 各样本存入候选队列中;以及将候选队列中的候选样本下发给每个计算节点62 ;还用于接 收计算节点62的通知,将候选队列的每个候选样本标记为属于当前聚类,并再次下发候选队列中的候选样本给计算节点62 ;当接收到合并节点63的通知后,再确定出下一个核心样 本,并重复上述过程,直到原始数据库中的每一个样本都已标记所属聚类;计算节点62,用于根据分配的分块样本和设定的ε邻域,分别统计每一个候选 样本的本地ε邻域内的样本数量,并发送给合并节点63;以及接收合并节点63发送的核 心样本通知,将对应核心样本的本地ε邻域内的各样本存入所述候选队列中,当存入完成 后,通知主控节点61 ;合并节点63,用于对每一个候选样本,累计计算节点62发送的对应样本数量,并 根据累计和值和设置的最小密度确定每一个候选样本是否为核心样本;当确定出存在核心 样本时,将确定出的核心样本通知给各计算节点62 ;以及当确定出不存在核心样本时,通 知主控节点61。合并节点63至少包括两个。主控节点61还用于,预先分配每个合并节点进行合 并的对应候选样本。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种聚类实现方法,其特征在于,包括步骤1、主控节点根据样本数据库中的当前未标记所属聚类的样本确定出一个核心样本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域内各样本存入候选队列中;步骤2、所述主控节点对所述候选队列中的候选样本进行分片,将分片样本分配并下发给至少两个计算节点;步骤3、每个所述计算节点根据样本数据库中的当前未标记样本、设定的ε邻域和最小密度分别确定出分配的分片样本中的每一个样本是否为核心样本;将确定出的核心样本的ε邻域内各样本存入所述候选队列中;且当分配的分片样本全部处理完毕后,通知所述主控节点;步骤4、所述主控节点接收到每个所述计算节点发送的通知后,判断所述候选队列中是否存在候选样本,当存在候选项样本时,将每个候选样本标记为属于当前聚类,转至上述步骤2;当不存在候选样本时,转至上述步骤1,直到所述样本数据库中的每一个样本都已标记所属聚类。
2.如权利要求1所述的聚类实现方法,其特征在于,在所述步骤1之前还包括所述主 控节点对原始数据库进行抽样处理,得到所述样本数据库;以及在所述步骤4之后还包括所述主控节点对当前每一个聚类,分别计算属于该聚类的各样本的样本值的均值,确 定出每一个聚类的对应聚类中心点;所述主控节点对所述原始数据库中除所述样本数据库中包含的样本外的其余样本进 行分块,将分块样本分配给至少两个计算节点;以及将分配的分块样本及确定出的所述聚 类中心点分别发送给每个所述计算节点;每个所述计算节点分别计算分配的分块样本中每个样本在样本空间中的对应样本点 与各聚类中心点的距离,将每个样本归属到所述距离最小的对应聚类中心点所属聚类,并 返回样本标识与所属聚类的聚类标识给所述主控节点;所述主控节点根据每个所述计算节点返回的样本标识与所属聚类的聚类标识,确定出 所述其余样本中的每个样本的所属聚类。
3.如权利要求1或2所述的聚类实现方法,其特征在于,所述步骤4中,当所述候选队 列中存在候选项样本,所述主控节点在将每个候选样本标记为属于当前聚类之前,还合并 由不同的计算节点存入到所述候选队列中的相同样本。
4.一种聚类实现方法,其特征在于,包括步骤1、主控节点对原始数据库中当前未标记样本进行分块,将分块样本分配并下发给 至少两个计算节点;以及根据原始数据库中的当前未标记样本确定出一个核心样本,并将 该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域内各样本存 入候选队列中;步骤2、所述主控节点将所述候选队列中的候选样本下发给每个所述计算节点; 步骤3、每个所述计算节点根据分配的分块样本和设定的ε邻域,分别统计每一个候 选样本的本地ε邻域内的样本数量,并发送给合并节点;步骤4、所述合并节点对每一个候选样本,累计所述计算节点发送的对应样本数量,并根据累计和值和设置的最小密度确定每一个候选样本是否为核心样本;当确定出存在核心 样本时,将确定出的核心样本通知给各计算节点;以及当确定出不存在核心样本时,通知所 述主控节点;步骤5、各计算节点接收到所述合并节点发送的核心样本通知后,将对应核心样本的本 地ε邻域内的各样本存入所述候选队列中,当存入完成后,通知所述主控节点;步骤6、所述主控节点接收到所述合并节点发送的通知后,转至上述步骤1 ;以及接收 到每个所述计算节点发送的通知后,将所述候选队列的每个候选样本标记为属于当前聚 类,转至上述步骤2 ;直到原始数据库中的每一个样本都已标记所属聚类。
5.如权利要求4所述的聚类实现方法,其特征在于,所述步骤6中,所述主控节点将所 述候选队列的每个候选样本标记为属于当前聚类之前,还合并由不同的计算节点存入到所 述候选队列中的相同样本。
6.如权利要求5所述的聚类实现方法,其特征在于,所述合并节点至少包括两个;由所 述主控节点预先分配每个合并节点进行合并的对应候选样本;步骤3中所述分别统计每一 个候选样本的本地ε邻域内的样本数量,并发送给合并节点,具体包括所述计算节点根据每个合并节点进行合并的对应候选样本,将本地统计出的对应候选 样本的样本数量上报给对应的合并节点;或者每个合并节点根据自身进行合并的对应候选样本,分别向每个所述计算节点请求上传 所述对应候选样本的统计信息;每个所述计算节点向每个合并节点返回本地统计出的对应 候选样本的样本数量。
7.一种聚类实现系统,其特征在于,包括主控节点、至少两个计算节点;所述主控节点,用于根据样本数据库中的当前未标记所属聚类的样本确定出一个核心 样本,并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域内 各样本存入候选队列中;以及对所述候选队列中的候选样本进行分片,将分片样本分配并 下发给所述至少两个计算节点;以及接收每个所述计算节点发送的通知,判断所述候选队 列中是否存在候选样本,当存在候选项样本时,将每个候选样本标记为属于当前聚类,并重 新分片下发给所述至少两个计算节点;当判断所述候选队列为空后,再确定出下一个核心 样本重复上述过程,直到所述样本数据库中的每一个样本都已标记所属聚类;所述计算节点,用于根据样本数据库中的当前未标记样本、设定的ε邻域和最小密度 分别确定出分配的分片样本中的每一个样本是否为核心样本;将确定出的核心样本的ε 邻域内各样本存入所述候选队列中;且当分配的分片样本全部处理完毕后,通知所述主控 节点。
8.如权利要求7所述的聚类实现系统,其特征在于,所述主控节点还用于,对原始数据 库进行抽样处理,得到所述样本数据库;以及对根据样本数据库获得的每一个聚类,分别计 算当前属于该聚类的各样本的样本值的均值,确定出每一个聚类的对应聚类中心点;以及 对所述原始数据库中除所述样本数据库中包含的样本外的其余样本进行分块,将分块样本 分配给至少两个计算节点,并将分配的分块样本及确定出的所述聚类中心点分别发送给每 个所述计算节点;根据每个所述计算节点返回的样本标识与所属聚类的聚类标识,确定出 所述其余样本中的每个样本的所属聚类;每个所述计算节点,还用于分别计算分配的分块样本中每个样本在样本空间中的对应样本点与各聚类中心点的距离,将每个样本归属到所述距离最小的对应聚类中心点所属聚 类,并返回样本标识与所属聚类的聚类标识给所述主控节点。
9.一种聚类实现系统,其特征在于,包括主控节点、至少两个计算节和合并节点;所述主控节点,用于对原始数据库中当前未标记样本进行分块,将分块样本分配并下 发给至少两个计算节点;以及根据原始数据库中的当前未标记样本确定出一个核心样本, 并将该核心样本的ε邻域内各样本标记为属于当前聚类,将该核心样本的ε邻域内各样 本存入候选队列中;以及将所述候选队列中的候选样本下发给每个所述计算节点;还用于 接收所述计算节点的通知,将所述候选队列的每个候选样本标记为属于当前聚类,并再次 下发候选队列中的候选样本给所述至少两个计算节点;当接收到所述合并节点的通知后, 再确定出下一个核心样本,并重复上述过程,直到所述原始数据库中的每一个样本都已标 记所属聚类;所述计算节点,用于根据分配的分块样本和设定的ε邻域,分别统计每一个候选样本 的本地ε邻域内的样本数量,并发送给合并节点;以及接收合并节点发送的核心样本通 知,将对应核心样本的本地ε邻域内的各样本存入所述候选队列中,当存入完成后,通知 所述主控节点;所述合并节点,用于对每一个候选样本,累计所述计算节点发送的对应样本数量,并根 据累计和值和设置的最小密度确定每一个候选样本是否为核心样本;当确定出存在核心样 本时,将确定出的核心样本通知给各计算节点;以及当确定出不存在核心样本时,通知所述 主控节点。
10.如权利要求9所述的聚类实现系统,其特征在于,所述合并节点至少包括两个;由所述主控节点还用于,预先分配每个合并节点进行合并的对应候选样本。
全文摘要
本发明公开了一种聚类实现方法及系统。由主控节点将候选队列中的候选样本进行分片,由至少两个计算节点并行地根据设定的ε邻域和最小密度分别确定出分配的分片样本中的每一个样本是否为核心样本;由于各计算节点并行处理,加快了样本数据库中各样本所属聚类的标记速度。本发明公开的另一种聚类实现方法及系统,由主控节点对样本数据库中当前未标记样本进行分块,将分块样本分配并下发给至少两个计算节点,由各计算节点并行地对候选队列中的候选样本进行处理,再通过合并节点合并各计算节点的处理结果。由于每个计算节点仅处理部分样本,解决了海量数据无法单机处理的问题,且由于可以由多个计算节点及多个并合节点进行并行处理,大大提高了处理效率。
文档编号G06F17/30GK101996198SQ20091009186
公开日2011年3月30日 申请日期2009年8月31日 优先权日2009年8月31日
发明者何清, 周文辉, 孙少陵, 徐萌, 罗治国, 赵卫中, 邓超, 马慧芳, 高丹 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1