聚类实现方法及系统技术方案

技术编号:4907685 阅读:276 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了聚类实现方法及系统。包括:由主控节点对样本分块,并将分块样本分配给至少两个计算节点,由各计算节点并行参与计算,将本地样本归属到对应聚类中,并对每一个聚类统计本地各样本的样本值的和值传送给合并节点,再由合并节点得到每一个聚类的虚拟聚类中心点信息,并传送给主控节点,由主控节点判断是否进行聚类中心点更新,以及是否启动下一轮聚类计算。本发明专利技术通过多个节点参与聚类实现过程,在聚类计算及合并过程中通过采用多个节点并行处理,解决了现有技术对海量数据无法实现聚类处理及处理效率低的问题。

【技术实现步骤摘要】

本专利技术涉及数据挖掘领域,尤其涉及海量样本数据的聚类实现方法及相应系统。
技术介绍
在当前数据挖掘领域,已有的聚类算法可以分为几类,包括基于划分的方法,基于 层次的方法,基于密度的方法,基于网格的方法以及基于模型的方法等。进行数据挖掘时,需要将对全部数据进行逐条计算及分析,算法时间复杂度高。海 量数据是对各种聚类算法的一个挑战。已有的聚类算法大都还只是停留在实验室阶段,对 于海量数据,有些算法或者不能进行有效处理,或者处理效率很低。Kmeans算法是一种基于距离的聚类实现方法,通过计算样本点之间的距离,以判 断样本之间的类群关系。Kmeans算法的基本原理为根据设置的聚类,为每一个聚类指定一个初始的聚类中心点(即初始随机指定样 本空间中的样本点为一个聚类的聚类中心点);分别计算数据库中的每一个样本在样本空 间中的对应样本点与每一个聚类中心点的距离,将每一个样本归属到距离最小的对应聚类 中心点所属聚类中。对每一个聚类分别统计本地属于该聚类的样本数量以及计算属于该聚 类的各样本的样本值的和值,用和值除以样本数量求取均值,得到本轮计算中每一个聚类 的对应虚拟聚类中心点;再计算每一个聚类的虚拟聚类中心点与对应的聚类中心点之间的 距离,具体的距离计算方法可以采用现有技术数据挖掘中可以采用的欧氏距离计算法、巴 氏距离计算法以及马氏距离计算法等,当两者之间的距离大于设定的距离阈值时,用每一 个聚类的虚拟聚类中心点更新其对应的聚类中心点,开始下一轮计算,直到每一个聚类的 聚类中心点都不再需要更新后,结束流程,将最后一次更新后的聚类中心点作为每一个聚 类的实际聚类中心点。最后输出每一个聚类的实际聚类中心点,以及每个样本所归属的聚 类。上述聚类实现方法,对于少量样本,可以方便地在单机上实现。但对于海量样本而 言,一方面由于单机内存容量有限,不可能读入海量的样本数据;另一方面,由于聚类过程 中需要进行聚类中心点的多轮更新计算过程,处理时间很长,在实际的数据业务应用中,效 率很低。因此,对于实际应用中海量数据的处理,如何有效地提升处理效率是数据挖掘中 需要加以解决的一个主要问题。
技术实现思路
本专利技术实施例提供聚类实现方法及聚类实现系统,通过采用多个节点并行处理, 解决现有技术对海量数据无法实现聚类处理及处理效率低的问题。本专利技术实施例提供的一种聚类实现方法包括步骤1、主控节点对样本分块,并将分块样本分配给至少两个计算节点,将分配的分块样本和每一个聚类的聚类中心点信息传送给每个所述计算节点;步骤2、每个所述计算节点分别计算分配的分块样本中每个样本在样本空间中的 对应样本点与各聚类中心点的距离,将每个样本归属到所述距离最小的对应聚类中心点所 属聚类;对每一个聚类分别统计本地属于该聚类的样本数量以及计算属于该聚类的各样本 的样本值的和值,并传送所述样本数量和所述和值给合并节点;步骤3、所述合并节点对每一个聚类根据每个所述计算节点传送的所述样本数量 和所述和值,求取均值,得到每一个聚类的虚拟聚类中心点信息,并传送给所述主控节点;步骤4、所述主控节点根据接收的每一个聚类的虚拟聚类中心点信息和当前保存 的每一个聚类的聚类中心点信息以及设定的中心点更新策略,当确定出至少由一个聚类的 虚拟聚类中心点信息更新当前保存的该聚类的聚类中心点信息时,发送本次更新后的和本 次未更新的每一个聚类的聚类中心点信息给所述至少两个计算节点,重复上述步骤2和步 骤3 ;当确定出每一个聚类的聚类中心点信息都不再更新时,将最后一次更新后的聚类中 心点信息作为每一个聚类的实际聚类中心点信息。本专利技术实施例提供的另一种聚类实现方法,包括步骤1、主控节点对样本分块,并将分块样本分配给至少两个计算节点,将分配的 分块样本和每一个聚类的聚类中心点信息传送给每个所述计算节点;步骤2、每个所述计算节点分别计算分配的分块样本中每个样本在样本空间中的 对应样本点与各聚类中心点的距离,将每个样本归属到所述距离最小的对应聚类中心点所 属聚类;分别统计本地属于每一个聚类的样本数量以及计算属于该聚类的各样本包含的每 一个样本属性的属性值的和值,并传送所述样本数量、以及携带聚类标识和样本属性标识 的所述和值给合并节点;步骤3、所述合并节点对每一个聚类的每一个样本属性根据每个所述计算节点传 送的所述样本数量和所述和值,计算出每一个聚类的每一个样本属性的属性值的均值,并 传送给所述主控节点;步骤4、所述主控节点根据接收的每一个聚类的每一个样本属性的属性值的均值, 得到每一个聚类的虚拟聚类中心点信息,并根据当前保存的每一个聚类的聚类中心点信息 以及设定的中心点更新策略,当确定出至少由一个聚类的虚拟聚类中心点信息更新当前保 存的该聚类的聚类中心点信息时,发送本次更新后的和本次未更新的每一个聚类的聚类中 心点信息给所述至少两个计算节点,重复上述步骤2和步骤3 ;当确定出每一个聚类的聚类 中心点信息都不再更新时,将最后一次更新后的聚类中心点信息作为每一个聚类的实际聚 类中心点信息。本专利技术实施例提供的一种聚类实现系统,包括主控节点、至少两个计算节点及合 并节点; 所述主控节点,用于对样本分块,并将分块样本分配给所述至少两个计算节点,将 分配的分块样本和每一个聚类的聚类中心点信息传送给每个所述计算节点;以及 接收所述合并节点传送的每一个聚类的虚拟聚类中心点信息;并根据接收的每一 个聚类的虚拟聚类中心点信息和当前保存的每一个聚类的聚类中心点信息以及设定的中 心点更新策略,当确定出至少由一个聚类的虚拟聚类中心点信息更新当前保存的该聚类的 聚类中心点信息时,发送本次更新后的和本次未更新的每一个聚类的聚类中心点信息给所述至少两个计算节点,当确定出每一个聚类的聚类中心点信息都不再更新时,将最后一次 更新后的聚类中心点信息作为每一个聚类的实际聚类中心点信息;所述计算节点,用于分别计算分配的分块样本中每个样本在样本空间中的对应样 本点与各聚类中心点的距离,将每个样本归属到所述距离最小的对应聚类中心点所属聚 类;对每一个聚类分别统计本地属于该聚类的样本数量以及计算属于该聚类的各样本的样 本值的和值,并传送所述样本数量和所述和值给合并节点;所述合并节点,用于对每一个聚类根据每个所述计算节点传送的所述样本数量和 所述和值,求取均值,得到每一个聚类的虚拟聚类中心点信息,并传送给所述主控节点。本专利技术实施例提供的另一种聚类实现系统,包括主控节点、至少两个计算节点及 合并节点;所述主控节点,用于对样本分块,并将分块样本分配给至少两个计算节点,将分配 的分块样本和每一个聚类的聚类中心点信息传送给每个所述计算节点;以及接收所述合并节点传送的每一个聚类的每一个样本属性的属性值的均值;并根据 接收的每一个聚类的每一个样本属性的属性值的均值,得到每一个聚类的虚拟聚类中心点 信息,根据当前保存的每一个聚类的聚类中心点信息以及设定的中心点更新策略,当确定 出至少由一个聚类的虚拟聚类中心点信息更新当前保存的该聚类的聚类中心点信息时,发 送本次更新后的和本次未更新的每一个聚类的聚类中心点信息给所述至少两个计算节点; 当确定出每一个聚类的聚类中心点信息都不再更新时,将最后一次更新后的聚类中心点信 息作为每一个聚类的实际聚类中心点信息;所述计算本文档来自技高网
...

【技术保护点】
一种聚类实现方法,其特征在于,包括:步骤1、主控节点对样本分块,并将分块样本分配给至少两个计算节点,将分配的分块样本和每一个聚类的聚类中心点信息传送给每个所述计算节点;步骤2、每个所述计算节点分别计算分配的分块样本中每个样本在样本空间中的对应样本点与各聚类中心点的距离,将每个样本归属到所述距离最小的对应聚类中心点所属聚类;对每一个聚类分别统计本地属于该聚类的样本数量以及计算属于该聚类的各样本的样本值的和值,并传送所述样本数量和所述和值给合并节点;步骤3、所述合并节点对每一个聚类根据每个所述计算节点传送的所述样本数量和所述和值,求取均值,得到每一个聚类的虚拟聚类中心点信息,并传送给所述主控节点;步骤4、所述主控节点根据接收的每一个聚类的虚拟聚类中心点信息和当前保存的每一个聚类的聚类中心点信息以及设定的中心点更新策略,当确定出至少由一个聚类的虚拟聚类中心点信息更新当前保存的该聚类的聚类中心点信息时,发送本次更新后的和本次未更新的每一个聚类的聚类中心点信息给所述至少两个计算节点,重复上述步骤2和步骤3;当确定出每一个聚类的聚类中心点信息都不再更新时,将最后一次更新后的聚类中心点信息作为每一个聚类的实际聚类中心点信息。...

【技术特征摘要】

【专利技术属性】
技术研发人员:徐萌高丹邓超罗治国周文辉孙少陵何清赵卫中马慧芳
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:11[中国|北京]

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

1