CN102141988B - 一种数据挖掘系统中数据聚类的方法、系统及装置 - Google Patents
一种数据挖掘系统中数据聚类的方法、系统及装置 Download PDFInfo
- Publication number
- CN102141988B CN102141988B CN201010102976.1A CN201010102976A CN102141988B CN 102141988 B CN102141988 B CN 102141988B CN 201010102976 A CN201010102976 A CN 201010102976A CN 102141988 B CN102141988 B CN 102141988B
- Authority
- CN
- China
- Prior art keywords
- central
- data
- central point
- point object
- replace
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000007418 data mining Methods 0.000 title claims abstract description 25
- 238000013500 data storage Methods 0.000 claims description 7
- 238000004321 preservation Methods 0.000 claims description 6
- 210000000352 storage cell Anatomy 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000000638 solvent extraction Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000009412 basement excavation Methods 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005194 fractionation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Abstract
本发明公开了一种数据挖掘系统中数据聚类的方法、系统及装置,主要包括:A、主控节点将分块数据对象分发给至少两个计算节点;B、以串行方式或并行方式控制每个计算节点计算利用保存的数据对象中的非中心点对象分别替换设定个中心点对象后对应的替换代价;C、获取每个计算节点的执行结果,并是否存在小于零的替换代价;若是,确定替换同一中心点对象的多个非中心点对象中最小替换代价的非中心点对象,替换中心点对象,并返回步骤B;若否,则将当前各中心点对象及对应簇确定为最终聚类结果。根据该技术方案,提高了计算效率,并且应用于海量数据的处理需求。
Description
技术领域
本发明涉及数据挖掘技术领域,尤其涉及一种数据挖掘系统中数据聚类的方法、系统及装置。
背景技术
数据挖掘又称数据库中的知识发现,是指从大量的不完全的、有噪声的、模糊的数据中提取隐含的、未知的、非平凡的及有潜在应用价值的信息或模式,融合了数据库、人工智能、机器学习、统计学等多个领域的理论和技术。数据挖掘工具能够对将来的趋势和行为进行预测,从而很好地支持人们的决策。
在数据挖掘处理中,聚类(Clustering)是将数据对象分组成为多个类或簇(cluster),属于同一个簇的对象之间具有较高的相似度,属于不同簇的对象之间具有较低的相似度。相似度一般根据描述对象的属性值计算得到,而对象之间的距离是常用的度量方式。目前,聚类分析已经广泛地用在许多领域,例如,在商务领域,聚类能帮助市场分析人员从客户基本库中发现不同的客户群,并且用购买模式来刻画不同的客户群的特征。通过聚类,能够对客户消费行为及消费心理等多种因素进行分析,从而得出客户在消费习惯、生活方式、社会联系等方面的特征,按不同特征划分客户群,并针对不同客户群进行不同的市场营销活动和客户服务。
目前,聚类方法多采用PAM(PArtitioning method,划分方法)(也称k-中心点对象算法),PAM是给定一个有N个元组或者纪录的数据集,构造K个分组,每一个分组代表一个聚类,K<N,其中,构造的K个分组满足下列条件:
(1)每一个分组至少包含一个数据纪录;
(2)每一个数据纪录属于且仅属于一个分组;
对于给定的K,首先给出一个初始的分组方法,以后通过反复迭代的方法改变分组,使得每一次改进之后的分组方案都优于前一次分组,即同一分组中的对象的相似度越高越好,不同分组中对象的相似度越小越好。
PAM用簇中位置最靠近中心的对象作为代表对象,然后反复地用非代表对象来代替代表对象,试图找出更好的中心点对象,在反复迭代的过程中,所有可能的“对象对”被分析,每个对中的一个对象为中心点对象,另一个为非代表对象。一个对象代表可以被最大平方-误差值减少的对象代替。一个非代表对象Oh是否是当前一个代表对象Oi的一个好的替代,对于每个非中心点对象Oj,有以下四种情况需要考虑,然后计算,如果为负,则可以替换:
(1)Oj当前隶属于Oi,如果Oi被Oh替换,且Oj离另一个Om最近,那么Oj被分配给Om,则替换代价为Cjih=d(j,m)-d(j,i),其中,i!=m。
(2)Oj当前隶属于Oi,如果Oi被Oh替换,且Oj离Oh最近,那么Oj被分配给Oh,则替换代价为Cjih=d(j,h)-d(j,i)。
(3)Oj当前隶属于Om,m!=i,如果Oi被Oh替换,且Oj仍然离Om最近,那么Oj被分配给Om,则替换代价为Cjih=0。
(4)Oj当前隶属于Om,m!=i,如果Oi被Oh替换,且Oj离Oh最近,那么Oj被分配给Oh,则替换代价为Cjih=d(j,h)-d(j,m)。
根据以上原理,PAM的计算过程如图1所述,主要包括如下步骤,其中,假设要得到的簇的数目为k,并且数据库中包含n个对象:
步骤101、任意选择k个对象作为初始的簇中心点对象;
步骤102、依次计算每个非中心点对象到k个中心点对象的距离,并指派每个非中心点对象给离他最近的中心点对象所表示的簇,直到所有非中心点对象被指派到对应的簇中;
步骤103、选择一个未被选择的中心点对象Oi;
步骤104、选择一个未被选择的非中心点对象Oh;
步骤105、计算用Oh代替Oi的总代价并记录在S中;
步骤106、重复步骤104至步骤105直到所有非中心点对象都被选择过;
步骤107、重复步骤103至步骤106直到所有中心点对象都被选择过;
步骤108、在S中记录的总代价有小于0的存在,则利用对应最小S值的非中心点对象替代中心点对象,形成新的k个中心点对象的集合;
步骤109、重复步骤103至步骤108直到S中记录的总代价都大于0。
CLARA(Cluster Larger Application,随机搜索聚类算法)也是较常见的聚类方法,该算法先抽取数据集合的多个样本,然后用PAM方法在抽样的样本中寻找最佳的k中心点对象,返回最好的聚类结果作为输出。
上述数据挖掘系统中的数据聚类方法,主要工作在于迭代计算用非中心点对象替代中心点对象后的代价,这是一个很大的开销。当面临高达1010个样本对象的海量数据挖掘时,由于单个服务器的数据存储能力有限,因此导致无法处理海量数据,并且,上述算法中所有的计算过程都是串行执行,因此数据挖掘的效率低。
发明内容
有鉴于此,本发明实施例提供一种数据挖掘系统中数据聚类的方法、系统及装置,用于解决现有数据聚类方法无法处理海量数据并且数据挖掘效率低的问题。
本发明实施例通过如下技术方案实现:
根据本发明实施例的一个方面,提供了一种数据挖掘系统中数据聚类的方法。
根据本发明实施例提供的数据挖掘系统中数据聚类的方法,包括:
A、主控节点对数据对象进行分块,将分块后的数据对象分发给至少两个计算节点;
B、以串行方式或并行方式控制所述每个计算节点执行:
计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价;
C、所述主控节点获取所述每个计算节点的执行结果,并判断获取的执行结果中是否存在小于零的替换代价;
若是,确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用所述非中心点对象替换所述中心点对象,并返回步骤B;
若否,则将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束。
根据本发明实施例的另一个方面,还提供了一种数据挖掘系统中数据聚类的系统。
根据本发明实施例提供的数据挖掘系统中数据聚类的系统,包括控制节点以及至少两个计算节点;其中,
所述控制节点,用于对数据对象进行分块,将分块后的数据对象分发给所述至少两个计算节点,并以串行方式或并行方式控制所述每个计算节点执行:计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价;以及,获取所述每个计算节点的执行结果,并判断获取的执行结果中是否存在小于零的替换代价;若是,确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用所述非中心点对象替换所述中心点对象,并继续以串行方式或并行方式控制所述每个计算节点执行:计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价,直到所述每个计算节点的执行结果中不存在小于零的替换代价;若否,则将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束;
所述计算节点,用于根据所述控制节点的控制,计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价。
根据本发明实施例的另一个方面,还提供了一种控制节点。
根据本发明实施例提供的控制节点,包括:
分配单元,用于对数据对象进行分块,将分块后的数据对象分发给至少两个计算节点;
控制单元,用于以串行方式或并行方式控制所述每个计算节点执行:
计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价;
汇总单元,用于获取所述每个计算节点的执行结果;
判断单元,用于判断所述汇总单元获取的执行结果中是否存在小于零的替换代价;
若是,确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用所述非中心点对象替换所述中心点对象,并触发所述控制单元动作;
若否,则将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束。
根据本发明实施例的另一个方面,还提供了一种计算节点。
根据本发明实施例提供的计算节点,包括:
数据存储单元,用于存储控制节点分发的数据对象;
计算单元,用于根据所述控制节点的控制,计算利用所述数据存储单元存储的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价。
通过本发明实施例提供的上述至少一个技术方案,由控制节点将待挖掘的数据对象分块,将分块数据分发至至少两个计算节点中,并采用并行或串行方式控制每个计算机计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价,并获取每个计算节点的执行结果,判断获取的执行结果中是否存在小于零的替换代价,若是,则确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用所述非中心点对象替换所述中心点对象,并返回控制每个计算机计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价的步骤,直到各计算节点计算得到的替换代价均大于等于零;若否,则将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束。根据本发明提供的技术方案,控制节点能够控制将待处理数据分布至多个计算节点,从而提高了数据的处理量,能够处理海量数据的挖掘需求。并且,根据本发明提供的技术方案,可以将数据分布至多个计算节点处理,从而对于单个计算节点而言,降低了数据处理负担,相应地提高了计算效率,尤其在计算节点内部采用并行处理方式的情况下,更进一步提高了数据处理效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明背景技术提供的PAM的计算过程流程图;
图2为本发明实施例提供的数据挖掘系统中数据聚类的方法流程图;
图3为本发明实施例提供的采用完全串行方式的数据聚类的方法流程图;
图4为本发明实施例提供的采用部分串行方式的数据聚类的方法流程图;
图5为本发明实施例提供的并行替换各中心点对象的流程图;
图6为本发明实施例提供的初始化簇的流程图;
图7为本发明实施例提供的数据挖掘系统中数据聚类的系统结构示意图;
图8为本发明实施例提供的控制节点结构示意图;
图9为本发明实施例提供的操作节点结构示意图。
具体实施方式
为了给出处理海量数据并且提高数据挖掘效率的实现方案,本发明实施例提供了一种数据挖掘系统中数据聚类的方法、系统及装置,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
根据本发明实施例,首先提供了一种数据挖掘系统中数据聚类的方法,如图2所示,包括:
步骤201、主控节点对数据对象进行分块,将分块数据对象分发给至少两个计算节点。
步骤202、以串行方式或并行方式控制每个计算节点计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价。
该步骤202中,以串行方式控制每个计算节点计算替换代价,即控制各计算节点依次执行上述计算过程,例如,将数据对象分发至计算节点1以及计算节点2,根据该串行控制方式,可以首先控制计算节点1完成计算过程并获取计算结果后,控制计算节点2执行计算过程;
以并行方式控制每个计算节点计算替换代价,即控制各计算节点同步执行上述计算过程,例如,将数据对象分配并分发至计算节点1以及计算节点2,根据该并行控制方式,同时向计算节点1以及计算节点2发送控制指令,指示计算节点1以及计算节点2执行计算过程。
步骤203、主控节点获取每个计算节点的执行结果。
步骤204、主控节点判断从各计算节点获取的执行结果中是否存在小于零的替换代价,若是,执行步骤205,若否,执行步骤206。
步骤205、确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,并利用确定出的非中心点对象替换该中心点对象,返回步骤202;
步骤206、将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束。
上述流程中,将待处理的数据对象分配并分布至多个计算节点处理,降低了单个计算节点处理数据的负担,提高了数据处理的效率,尤其在以并行方式控制多个计算节点处理数据时,各计算节点能够对各自保存的数据同步处理,在计算效率方面有了很大提高。
根据本发明优选实施例,各计算节点接收控制节点发送的用于指示计算替换代价的控制命令后,计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价,具体地,各计算节点内部执行的替换代价的计算过程可以采用完全串行方式、部分并行方式或完全并行方式,以下,针对该几种情况分别说明:
实施例一、完全串行方式:
如图3所示,本发明实施例提供的计算节点采用完全串行方式计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价时,包括如下步骤:
步骤301、选择一个未被选择过的非中心点对象作为待替换对象Oh;
步骤302、选择一个未被选择过的中心点对象Oi;
步骤303、从保存的数据对象中除待替换对象Oh以外的非中心点对象中选择一个未被选择过的非中心点对象作为待测试点Oj;
步骤304、依次计算选择的待测试点Oj分别与待替换对象Oh以及确定的K个中心点对象中除中心点对象Oi以外的中心点对象的距离;
步骤305、计算得到的各距离中的最小距离减去待测试点Oj与其当前归属的簇对应中心点对象的距离得到的差值(即测试点替换代价);
步骤306、判断保存的数据对象中除待替换对象Oh以外的非中心点对象是否均被选择作为待测试点Oj,若否,返回步骤303,若是,执行步骤307;
步骤307、将通过步骤305计算得到的差值相加得到待替换对象Oh替换中心点对象Oi的替换代价S,并执行步骤308;
步骤308、判断保存的数据对象中所有中心点对象是否均被选择过,若否,返回步骤302,若是,执行步骤309;
步骤309、判断保存的数据对象中所有非中心点对象是否均被选择作为待替换对象Oh,若否,返回步骤301,若是,结束。
实施例二、部分并行方式:
该实施例中,部分并行方式包括如下几种计算过程的一种或两种的组合:
计算过程1、针对选择的待替换对象Oh、中心点对象Oi以及待测试对象Oj,并行计算该待测试点Oj到K个中心点对象的距离,其中,K个中心点对象包括选择出的待替换对象Oh(用于替换中心点对象Oi、以及除Oi以外的(K-1)个中心点对象(即将上述流程中以串行方式执行的步骤304以并行方式执行);
计算过程2、针对选择的针对选择的待替换对象Oh以及中心点对象Oi,并行计算各待测试对象Oj对应的测试点替换代价(即将上述流程中以串行方式执行的步骤303~步骤306以并行方式执行);
计算过程3、针对选择的针对选择的待替换对象Oh,并行计算该待替换对象Oh替换各中心点对象Oi的替换代价(即将上述流程中以串行方式执行的步骤302~步骤308以并行方式执行)。
以上几种并行过程仅为理解本发明实施例提供的部分并行方式的距离,实际应用中,可以对各个计算过程的计算过程的并行处理以及串行处理进行灵活组合,例如,可以同时选择多个待替换对象Oh,并行计算选择的各待替换对象Oh分别替换中心点对象时对应的替换代价,在具体计算各待替换对象Oh分别替换中心点对象时对应的替换代价时,可以采用内部串行方式,例如,针对选定待替换对象Oh,可以依此计算该选定待替换对象Oh替换各中心点对象的替换代价;再例如,可以并行计算选定待替换对象Oh分别替换各中心点对象的替换代价,在具体计算选定待替换对象Oh替换选定中心点对象Oi时,可以依次计算各测试点对应的测试点替换代价。根据本发明实施例,各个计算过程之间的并行执行或串行执行可以灵活组合,此处不再一一列举。
如图4所示,以采用上述部分串行方式中的计算过程1以及计算过程2的组合为例,本发明实施例提供的计算节点计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价时,包括如下步骤:
步骤401、选择一个未被选择过的非中心点对象作为待替换对象Oh;
步骤402、选择一个未被选择过的中心点对象Oi;
步骤403、针对选择的待替换对象Oh以及中心点对象Oi,并行计算该待替换对象Oh对应的各测试点的测试点替换代价。
步骤404、将各测试点替换代价相加得到该待替换对象Oh替换该中心点对象Oi的替换代价。
步骤405、判断保存的数据对象中所有中心点对象是否均被选择过,若否,返回步骤402,若是,执行步骤406;
步骤406、判断保存的数据对象中所有非中心点对象是否均被选择作为待替换对象Oh,若否,返回步骤401,若是,结束。
上述步骤403中,待替换对象Oh对应的各测试点即所有数据对象中除被选择为替换对象Oh的非中心点对象以外的非中心点对象。具体地,替换代价的计算过程如上述流程中步骤304以及步骤305所述,此处不再详细描述。
实施例三、完全并行方式:
该实施例中,即将各个计算过程均采用并行方式执行,以获得更高的计算效率,具体地,并行计算各待替换对象Oh分别替换各中心点对象对应的替换代价,其中,针对每一个待替换对象Oh,并行计算该待替换对象Oh分别替换各中心点对象对应的替换代价(即通过一次并行计算过程获得待替换对象Oh分别替换K各中心点对象对应的K个替换代价),并且,针对替换对象Oh替换中心点对象Oi对应的替换代价的过程也并行化,如上述步骤403至步骤404所述,此处不再重复描述。
以上针对本发明实施例中各计算节点的执行过程进行了详细说明,当各计算节点通过计算确定其本地保存的各数据对象中的非中心点对象作为待替换对象Oh替换预先选定的K个中心点对象分别对应的替换代价后,控制节点需要获取并合并所有计算节点的执行结果,根据执行过程对当前聚类结果(即确定的中心点对象对应的簇以及被分配至该簇中的数据对象)进行调整,即对应上述流程中的步骤204以及步骤205。其中,本发明优选实施例中,步骤205也可以采用并行化处理过程,具体如图5所示,包括如下步骤:
步骤501、根据获取的执行结果中各替换代价对应的中心点对象,分别将对应同一中心点对象的替换代价归为一类;
步骤502、针对每一类替换代价,确定具有小于零且最小替换代价的非中心点对象,并利用确定的非中心点对象替换当前类对应的中心点对象。
本发明实施例中,控制节点在将分块数据对象分配并分发给至少两个计算节点后,需要指定K个中心点对象以及各中心点对象对应的簇内的数据对象(即非中心点对象),通过本发明实施例提供的上述方法对中心点对象以及对应的簇内的数据对象进行调整至最佳,本发明优选实施例中,形成初始化簇的过程可以通过如图6所示的过程:
步骤601、从待处理数据中选择设定个数据对象作为中心点对象;
步骤602、以串行方式或并行方式控制所述各计算节点计算保存的各数据对象到所述设定个中心点对象的距离;
步骤603、将各数据对象归类至与其具有最小距离的中心点对象所表示的簇中。
其中,根据本发明优选实施例,将各数据对象归类至与其具有最小距离的中心点对象所表示的簇中,无需进行数据对象的传输,而通过如下方式:
对各数据对象添加用于表示与其具有最小距离的中心点对象所表示的簇的标识。
相应地,与上述方法流程对应,本发明实施例还提供了一种数据挖掘系统中数据聚类的系统,如图7所示,该系统包括:
控制节点701以及至少两个计算节点702;其中,
控制节点701,用于对数据对象进行分块,将分块数据对象分配并分发给至少两个计算节点702,并以串行方式或并行方式控制每个计算节点702执行:计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价;以及,获取每个计算节点702的执行结果,并判断获取的执行结果中是否存在小于零的替换代价;若是,确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用所述非中心点对象替换所述中心点对象,并继续以串行方式或并行方式控制每个计算节点702执行:计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价,直到每个计算节点702的执行结果中不存在小于零的替换代价;若否,则将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束;
计算节点702,用于根据控制节点701的控制,计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价。
本发明优选实施例中,控制节点701,还用于在将分块数据对象分配并分发给至少两个计算节点702后,从待处理数据中选择设定个数据对象作为中心点对象,并以串行方式或并行方式控制各计算节点702执行:计算保存的各数据对象到所述设定个中心点对象的距离;将各数据对象归类至与其具有最小距离的中心点对象所表示的簇中;
相应地,上述计算节点702,还用于根据控制节点701的控制,计算保存的各数据对象到所述设定个中心点对象的距离,并将各数据对象归类至与其具有最小距离的中心点对象所表示的簇中。
相应地,与上述方法流程对应,本发明实施例还提供了一种控制节点,如图8所示,该控制节点包括:
分配单元801,用于对数据对象进行分块,将分块数据对象分配并分发给至少两个计算节点;
控制单元802,用于以串行方式或并行方式控制每个计算节点执行:计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价;
汇总单元803,用于获取每个计算节点的执行结果;
判断单元804,用于判断汇总单元803获取的执行结果中是否存在小于零的替换代价;
若是,确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用所述非中心点对象替换所述中心点对象,并触发控制单元802动作;
若否,则将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束。
本发明优选实施例中,上述判断单元804,具体用于:
在判断汇总单元803获取的执行结果中存在小于零的替换代价时,根据获取的执行结果中各替换代价对应的中心点对象,分别将对应同一中心点对象的替换代价归为一类,并针对每一类替换代价以串行方式或并行方式执行:
利用当前类替换代价中具有小于零且最小替换代价的非中心点对象替换当前类对应的中心点对象。
本发明优选实施例中,上述控制单元802,还用于:
从待处理数据中选择设定个数据对象作为中心点对象,并以串行方式或并行方式控制所述各计算节点执行:
计算保存的各数据对象到所述设定个中心点对象的距离;
将所述各数据对象归类至与其具有最小距离的中心点对象所表示的簇中。
本发明优选实施例中,上述控制单元802,具体用于:
控制各计算节点在计算保存的各数据对象到所述设定个中心点对象的距离后,对各数据对象添加用于表示与其具有最小距离的中心点对象所表示的簇的标识。
应当理解,以上控制节点装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的控制节点所实现的功能与上述实施例提供的数据挖掘系统中数据聚类的方法流程一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
相应地,与上述方法流程对应,本发明实施例还提供了一种计算节点,如图9所示,该计算节点包括:
数据存储单元901,用于存储控制节点分配并分发的数据对象;
计算单元902,用于根据控制节点的控制,计算利用数据存储单元901存储的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价。
本发明优选实施例中,上述计算单元902,具体用于:
针对所述保存的数据对象中每个第一非中心点对象,以串行方式或并行方式执行:
B1、选择一个未被选择过的第一中心点对象,以串行方式或并行方式执行步骤B11至步骤B14:
B11、从保存的数据对象中除所述第一非中心点对象以外的非中心点对象中选择一个未被选择过的第二非中心点对象;
B12、计算选择的所述第二非中心点对象分别与所述第一非中心点对象以及确定的设定个中心点对象中除所述第一中心点对象以外的中心点对象的距离;
B13、计算所述距离中的最小距离减去所述第二非中心点对象与其当前归属的簇对应中心点对象的距离得到的差值;
B14、判断保存的数据对象中除所述第一非中心点对象以外的非中心点对象是否均被选择过;
若否,返回步骤B11;
若是,将通过所述步骤B13计算得到的差值相加得到所述第一非中心点对象替换所述第一中心点对象的替换代价,并执行步骤B2;
B2、判断保存的数据对象中所有中心点对象是否均被选择过;
若否,返回步骤B1;
若是,结束。
应当理解,以上计算节点装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的计算节点所实现的功能与上述实施例提供的数据挖掘系统中数据聚类的方法流程一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
通过本发明实施例提供的上述至少一个技术方案,由控制节点将待挖掘的数据对象分块,将分块数据分配并分发至至少两个计算节点中,并采用并行或串行方式控制每个计算机计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价,并获取每个计算节点的执行结果,判断获取的执行结果中是否存在小于零的替换代价,若是,则确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用所述非中心点对象替换所述中心点对象,并返回控制每个计算机计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价的步骤,直到各计算节点计算得到的替换代价均大于等于零;若否,则将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束。根据本发明提供的技术方案,控制节点能够控制将待处理数据分布至多个计算节点,从而提高了数据的处理量,能够处理海量数据的挖掘需求。并且,根据本发明提供的技术方案,可以将数据分布至多个计算节点处理,从而对于单个计算节点而言,降低了数据处理负担,相应地提高了计算效率,尤其在计算节点内部采用并行处理方式的情况下,更进一步提高了数据处理效率。
本发明实施例中,对k个中心点对象的替换代价计算也并行实现,在并行计算待测试对象到k-1个中心点对象和待替换数据距离时,一次计算到k个中心点对象距离,并可以多次使用,不仅减少了操作步骤,而且避免了重复计算,提高系统性能。
本发明实施例提供的技术方案适用于PAM以及CLARANS算法。CLARA先抽取数据集合的多个样本,然后用PAM方法在抽样的样本中寻找最佳的k中心点对象,返回最好的聚类结果作为输出。CLARANS随机搜索聚类算法与CLARA类似采用抽样方法,但CLARANS在搜索的每一步都带一定随机性地选取一个样本。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种数据挖掘系统中数据聚类的方法,其特征在于,包括:
A、主控节点对数据对象进行分块,将分块后的数据对象分发给至少两个计算节点;
B、以串行方式或并行方式控制所述每个计算节点执行:
计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价,具体为:针对所述保存的数据对象中每个第一非中心点对象,以串行方式或并行方式执行:B1、选择一个未被选择过的第一中心点对象,以串行方式或并行方式执行步骤B11至步骤B14:B11、从保存的数据对象中除所述第一非中心点对象以外的非中心点对象中选择一个未被选择过的第二非中心点对象;B12、计算选择的所述第二非中心点对象分别与所述第一非中心点对象以及确定的设定个中心点对象中除所述第一中心点对象以外的中心点对象的距离;B13、计算所述距离中的最小距离减去所述第二非中心点对象与其当前归属的簇对应中心点对象的距离得到的差值;B14、判断保存的数据对象中除所述第一非中心点对象以外的非中心点对象是否均被选择过;若否,返回步骤B11;若是,将通过所述步骤B13计算得到的差值相加得到所述第一非中心点对象替换所述第一中心点对象的替换代价,并执行步骤B2;B2、判断保存的数据对象中所有中心点对象是否均被选择过;若否,返回步骤B1;若是,结束;
C、所述主控节点获取所述每个计算节点的执行结果,并判断获取的执行结果中是否存在小于零的替换代价;
若是,确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用确定的所述非中心点对象替换所述中心点对象,并返回步骤B;
若否,则将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束。
2.如权利要求1所述的方法,其特征在于,所述步骤C中,确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用所述非中心点对象替换所述中心点对象,包括:
根据获取的执行结果中各替换代价对应的中心点对象,分别将对应同一中心点对象的替换代价归为一类,并针对所述每一类替换代价以串行方式或并行方式执行:
利用当前类替换代价中具有小于零且最小替换代价的非中心点对象替换当前类对应的中心点对象。
3.如权利要求1所述的方法,其特征在于,在执行完所述步骤A后,还包括:
从所述待处理数据中选择设定个数据对象作为中心点对象,并以串行方式或并行方式控制所述各计算节点执行:
计算保存的各数据对象到所述设定个中心点对象的距离;
将所述各数据对象归类至与其具有最小距离的中心点对象所表示的簇中。
4.如权利要求3所述的方法,其特征在于,将所述各数据对象归类至与其具有最小距离的中心点对象所表示的簇中,包括:
对所述各数据对象添加用于表示与其具有最小距离的中心点对象所表示的簇的标识。
5.一种数据挖掘系统中数据聚类的系统,其特征在于,包括控制节点以及至少两个计算节点;其中,
所述控制节点,用于对数据对象进行分块,将分块后的数据对象分发给所述至少两个计算节点,并以串行方式或并行方式控制所述每个计算节点执行:计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价,具体为:针对所述保存的数据对象中每个第一非中心点对象,以串行方式或并行方式执行:B1、选择一个未被选择过的第一中心点对象,以串行方式或并行方式执行步骤B11至步骤B14:B11、从保存的数据对象中除所述第一非中心点对象以外的非中心点对象中选择一个未被选择过的第二非中心点对象;B12、计算选择的所述第二非中心点对象分别与所述第一非中心点对象以及确定的设定个中心点对象中除所述第一中心点对象以外的中心点对象的距离;B13、计算所述距离中的最小距离减去所述第二非中心点对象与其当前归属的簇对应中心点对象的距离得到的差值;B14、判断保存的数据对象中除所述第一非中心点对象以外的非中心点对象是否均被选择过;若否,返回步骤B11;若是,将通过所述步骤B13计算得到的差值相加得到所述第一非中心点对象替换所述第一中心点对象的替换代价,并执行步骤B2;B2、判断保存的数据对象中所有中心点对象是否均被选择过;若否,返回步骤B1;若是,结束;以及,获取所述每个计算节点的执行结果,并判断获取的执行结果中是否存在小于零的替换代价;若是,确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用所述非中心点对象替换所述中心点对象,并继续以串行方式或并行方式控制所述每个计算节点执行:计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价,直到所述每个计算节点的执行结果中不存在小于零的替换代价;若否,则将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束;
所述计算节点,用于根据所述控制节点的控制,计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价。
6.如权利要求5所述的系统,其特征在于,
所述控制节点,还用于在将分块数据对象分发给所述至少两个计算节点后,从所述待处理数据中选择设定个数据对象作为中心点对象,并以串行方式或并行方式控制所述各计算节点执行:计算保存的各数据对象到所述设定个中心点对象的距离;将所述各数据对象归类至与其具有最小距离的中心点对象所表示的簇中;
所述计算节点,还用于根据所述控制节点的控制,计算保存的各数据对象到所述设定个中心点对象的距离,并将所述各数据对象归类至与其具有最小距离的中心点对象所表示的簇中。
7.一种控制节点,其特征在于,包括:
分配单元,用于对数据对象进行分块,将分块后的数据对象分发给至少两个计算节点;
控制单元,用于以串行方式或并行方式控制所述每个计算节点执行:
计算利用保存的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价,具体为:针对所述保存的数据对象中每个第一非中心点对象,以串行方式或并行方式执行:B1、选择一个未被选择过的第一中心点对象,以串行方式或并行方式执行步骤B11至步骤B14:B11、从保存的数据对象中除所述第一非中心点对象以外的非中心点对象中选择一个未被选择过的第二非中心点对象;B12、计算选择的所述第二非中心点对象分别与所述第一非中心点对象以及确定的设定个中心点对象中除所述第一中心点对象以外的中心点对象的距离;B13、计算所述距离中的最小距离减去所述第二非中心点对象与其当前归属的簇对应中心点对象的距离得到的差值;B14、判断保存的数据对象中除所述第一非中心点对象以外的非中心点对象是否均被选择过;若否,返回步骤B11;若是,将通过所述步骤B13计算得到的差值相加得到所述第一非中心点对象替换所述第一中心点对象的替换代价,并执行步骤B2;B2、判断保存的数据对象中所有中心点对象是否均被选择过;若否,返回步骤B1;若是,结束;
汇总单元,用于获取所述每个计算节点的执行结果;
判断单元,用于判断所述汇总单元获取的执行结果中是否存在小于零的替换代价;
若是,确定替换同一中心点对象的多个非中心点对象中具有小于零且最小替换代价的非中心点对象,利用所述非中心点对象替换所述中心点对象,并触发所述控制单元动作;
若否,则将当前各中心点对象及其对应簇中包括的数据对象确定为最终聚类结果并结束。
8.如权利要求7所述的控制节点,其特征在于,所述判断单元,具体用于:
在判断所述汇总单元获取的执行结果中存在小于零的替换代价时,根据获取的执行结果中各替换代价对应的中心点对象,分别将对应同一中心点对象的替换代价归为一类,并针对所述每一类替换代价以串行方式或并行方式执行:
利用当前类替换代价中具有小于零且最小替换代价的非中心点对象替换当前类对应的中心点对象。
9.如权利要求7所述的控制节点,其特征在于,所述控制单元,还用于:
从所述待处理数据中选择设定个数据对象作为中心点对象,并以串行方式或并行方式控制所述各计算节点执行:
计算保存的各数据对象到所述设定个中心点对象的距离;
将所述各数据对象归类至与其具有最小距离的中心点对象所表示的簇中。
10.如权利要求9所述的控制节点,其特征在于,所述控制单元,具体用于:
控制所述各计算节点在计算保存的各数据对象到所述设定个中心点对象的距离后,对所述各数据对象添加用于表示与其具有最小距离的中心点对象所表示的簇的标识。
11.一种计算节点,其特征在于,包括:
数据存储单元,用于存储控制节点分发的数据对象;
计算单元,用于根据所述控制节点的控制,计算利用所述数据存储单元存储的数据对象中的非中心点对象分别替换确定的设定个中心点对象后对应的替换代价,具体为:针对所述保存的数据对象中每个第一非中心点对象,以串行方式或并行方式执行:B1、选择一个未被选择过的第一中心点对象,以串行方式或并行方式执行步骤B11至步骤B14:B11、从保存的数据对象中除所述第一非中心点对象以外的非中心点对象中选择一个未被选择过的第二非中心点对象;B12、计算选择的所述第二非中心点对象分别与所述第一非中心点对象以及确定的设定个中心点对象中除所述第一中心点对象以外的中心点对象的距离;B13、计算所述距离中的最小距离减去所述第二非中心点对象与其当前归属的簇对应中心点对象的距离得到的差值;B14、判断保存的数据对象中除所述第一非中心点对象以外的非中心点对象是否均被选择过;若否,返回步骤B11;若是,将通过所述步骤B13计算得到的差值相加得到所述第一非中心点对象替换所述第一中心点对象的替换代价,并执行步骤B2;B2、判断保存的数据对象中所有中心点对象是否均被选择过;若否,返回步骤B1;若是,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010102976.1A CN102141988B (zh) | 2010-01-28 | 2010-01-28 | 一种数据挖掘系统中数据聚类的方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010102976.1A CN102141988B (zh) | 2010-01-28 | 2010-01-28 | 一种数据挖掘系统中数据聚类的方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102141988A CN102141988A (zh) | 2011-08-03 |
CN102141988B true CN102141988B (zh) | 2014-09-10 |
Family
ID=44409516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010102976.1A Expired - Fee Related CN102141988B (zh) | 2010-01-28 | 2010-01-28 | 一种数据挖掘系统中数据聚类的方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102141988B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009099B (zh) * | 2017-11-30 | 2021-08-20 | 北京中科睿芯科技集团有限公司 | 一种应用于K-Mean聚类算法中的加速方法及其装置 |
CN108090617A (zh) * | 2017-12-01 | 2018-05-29 | 华南理工大学 | 一种城市内涝监测点的优化布置方法 |
CN108109381B (zh) * | 2018-02-05 | 2020-09-15 | 上海应用技术大学 | 交叉口分类方法及系统 |
CN111539843B (zh) * | 2020-04-17 | 2022-07-12 | 国网新疆电力有限公司营销服务中心(资金集约中心、计量中心) | 基于数据驱动的反窃电智能预警方法 |
CN112711580B (zh) * | 2020-12-30 | 2021-11-05 | 深圳市快付通金融网络科技服务有限公司 | 用于云计算业务的大数据挖掘方法及云计算金融服务器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308496A (zh) * | 2008-07-04 | 2008-11-19 | 沈阳格微软件有限责任公司 | 大规模文本数据的外部聚类方法及系统 |
-
2010
- 2010-01-28 CN CN201010102976.1A patent/CN102141988B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308496A (zh) * | 2008-07-04 | 2008-11-19 | 沈阳格微软件有限责任公司 | 大规模文本数据的外部聚类方法及系统 |
Non-Patent Citations (4)
Title |
---|
个性化服务中的并行K-Means聚类算法;张望 等;《微电子学与计算机》;20071231;第24卷(第10期);65-67,70 * |
张望 等.个性化服务中的并行K-Means聚类算法.《微电子学与计算机》.2007,第24卷(第10期), |
数据挖掘中聚类方法比较研究;王鑫 等;《计算机技术与发展》;20061031;第16卷(第10期);20-22,25 * |
王鑫 等.数据挖掘中聚类方法比较研究.《计算机技术与发展》.2006,第16卷(第10期), |
Also Published As
Publication number | Publication date |
---|---|
CN102141988A (zh) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103019855B (zh) | MapReduce作业执行时间预测方法 | |
CN110069467A (zh) | 基于皮尔逊系数与MapReduce并行计算的电网尖峰负荷聚类提取法 | |
CN102141988B (zh) | 一种数据挖掘系统中数据聚类的方法、系统及装置 | |
CN104834479A (zh) | 面向云平台的自动优化存储系统配置的方法及系统 | |
CN106530132A (zh) | 一种电力负荷聚类的方法及装置 | |
CN107037980A (zh) | 时间序列数据的多表示存储 | |
CN110389950B (zh) | 一种快速运行的大数据清洗方法 | |
CN106980906B (zh) | 一种基于spark的Ftrl电压预测方法 | |
CN111143685A (zh) | 一种推荐系统的构建方法及装置 | |
CN111126865B (zh) | 一种基于科技大数据的技术成熟度判断方法和系统 | |
CN114638234A (zh) | 应用于线上业务办理的大数据挖掘方法及系统 | |
Fontes et al. | On multi-objective evolutionary algorithms | |
CN105447519A (zh) | 基于特征选择的模型检测方法 | |
CN114942947A (zh) | 一种基于智慧医疗的复诊随访数据处理方法及系统 | |
KR20090069874A (ko) | 지식맵 분석을 위한 키워드 선정 및 유사도계수 선정 방법및 그 시스템과 그 방법에 대한 컴퓨터 프로그램을 저장한기록매체 | |
CN110264392A (zh) | 一种基于多gpu的强连通图检测方法 | |
Ourabah | Large scale data using K-means | |
CN109840536A (zh) | 一种电网供电可靠性水平聚类方法及系统 | |
CN112214524A (zh) | 一种基于深度数据挖掘的数据评估系统及评估方法 | |
CN106648891A (zh) | 基于MapReduce模型的任务执行方法和装置 | |
CN108596390B (zh) | 一种解决车辆路径问题的方法 | |
CN105373583A (zh) | 基于数据压缩的支撑向量机建模方法 | |
CN114819344A (zh) | 一种基于关键影响因子的全局时空气象农灾预测方法 | |
CN107302222B (zh) | 一种基于粗糙集的无功优化设备动作次数分析方法 | |
CN106776704A (zh) | 统计信息收集方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140910 |
|
CF01 | Termination of patent right due to non-payment of annual fee |