CN112215287B - 基于距离的多节聚类方法和装置、存储介质及电子装置 - Google Patents
基于距离的多节聚类方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN112215287B CN112215287B CN202011091982.1A CN202011091982A CN112215287B CN 112215287 B CN112215287 B CN 112215287B CN 202011091982 A CN202011091982 A CN 202011091982A CN 112215287 B CN112215287 B CN 112215287B
- Authority
- CN
- China
- Prior art keywords
- data
- clustering
- distance
- clustered
- center
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000009826 distribution Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000003064 k means clustering Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于距离的多节聚类方法和装置、存储介质及电子装置。该方法包括:确定待聚类数据集中任意两个数据之间的距离,得到距离集合,待聚类数据集包括N个数据,N为自然数;根据距离集合确定N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,每个相邻数据数量为N个数据中与一个数据之间的距离小于或等于第一预设距离的数据的数量;按照N个相邻数据数量的大小对N个数据中的多个数据执行Q级聚类,以使待聚类数据集中的每个数据均被聚类,其中,不同的多个数据对应的Q的取值相同或不同,Q为大于或等于1的整数。采用上述技术方案,解决了相关技术中,在聚类时,存在聚类结果差的问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种基于距离的多节聚类方法和装置、存储介质及电子装置。
背景技术
目前,在各类数据去重、数据聚类、相似数据推荐的场景,例如舆情预警系统中的新闻、公告类文档的去重和聚类;互联网中对新闻或者网页进行去重、聚类或相似推荐时,需要对数据集进行分类,通过分析数据之间的相似性,来将数据集分成多个类。相关技术中,一般采用的聚类算法有K-means聚类算法和(Density-Based Spatial Clustering,简称DBSCAN)聚类算法。
基于距离的聚类算法K-means:
如图1所示,每个点是一条数据,K-means算法的流程如下:随机选取K个点做为初始聚类中心;分别计算每个样本点到K个中心的距离(相似度大小),找到离该点最近的中心点,将它归属到对应的类,所有数据就分为了K个类;之后重新计算每个类的中心(类中所有点的平均距离中心),将其定为新的中心;反复迭代2-3步,直到聚类中心不再发生变化为止。通过以上原理可知,K-means算法存在以下缺点:K值直接影响了聚类结果,而K值需要预先给定,在对海量的数据进行聚类时,预先并不知道数据里有多少个类,这就造成很难获取到较好的聚类结果;每次更新聚类中心的时候,要计算整个类里所有数据的平均值,使得噪声点对算法性能影响较大,如果数据里有一个点距离其他数据点都非常偏远,很容易导致聚类中心的偏离,影响聚类结果;K-means算法以聚类中心为圆心,基于距离进行聚类,只能发现“类圆形”的类,如果数据分布是长条形或者圆环形,则K-means算法性能较差。
基于密度的聚类算法DBSCAN:
如图2所示,DBSCAN算法是基于密度进行聚类的算法,DBSCAN需要指定两个参数:邻域半径R和最少点数目minpoints。该算法将所有数据点分为3类:核心点,边界点和噪声点,邻域半径R内样本点的数量大于等于minpoints的点叫做核心点;不属于核心点但在某个核心点的邻域内的点叫做边界点;既不是核心点也不是边界点的是噪声点。
DBSCAN的算法步骤分成两步:(1)寻找核心点形成临时聚类簇。扫描全部样本点,如果某个样本点R半径范围内点数目>=MinPoints,则将其纳入核心点列表,并将其密度直达(在该点邻域内)的点形成对应的临时聚类簇。(2)合并临时聚类簇得到聚类簇。对于每一个临时聚类簇,检查其中的点是否为核心点,如果是,将该点对应的临时聚类簇和当前临时聚类簇合并,得到新的临时聚类簇。重复此操作,直到当前临时聚类簇中的每一个点要么不在核心点列表,要么其密度直达的点都已经在该临时聚类簇,该临时聚类簇升级成为聚类簇。继续对剩余的临时聚类簇进行相同的合并操作,直到全部临时聚类簇被处理,剩余未聚类的点即为噪声点。
DBSCAN聚类算法相比K-means算法可以发现噪声点,不用指定聚类数量。其通过设定一个距离内有多少个相似点来发现簇,DBSCAN聚类算法的缺点在于当样本集密度不均匀、聚类间距相差很大时,聚类质量较差。例如,当数据较多,而且分布杂乱时,很容易出现密度不均匀的情况,有些类中的数据点分布密集,有点类的数据点分布松散,此时同样的邻域半径R和minpoints显然不能同时适用于这两种分布。此外,如果数据集中,有一个类别中具有较少数量的数据点,但是这个类别又不满足邻域R内数量大于等于minpoints,此时这个类就会被当做噪声点,损失聚类结果。因此,DBSCAN聚类算法会受到样本密度不均匀或聚类间距相差大的影响。
因此,针对相关技术中,在聚类时,存在聚类结果差的问题,尚未提出有效的技术方案。
发明内容
本发明实施例提供了一种基于距离的多节聚类方法和装置、存储介质及电子装置,以至少解决相关技术中,在聚类时,存在聚类结果差的技术问题。
根据本发明实施例的一个方面,提供了一种基于距离的多节聚类方法,包括:确定待聚类数据集中任意两个数据之间的距离,得到距离集合,其中,上述待聚类数据集包括N个数据,上述N为自然数;根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,对于上述N个数据中的每个数据,上述数据的相邻数据数量为上述N个数据中与上述数据之间的距离小于或等于第一预设距离的数据的数量;按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,其中,不同的上述多个数据对应的上述Q的取值相同或不同,上述Q为大于或等于1的整数。
根据本发明实施例的另一方面,还提供了一种聚类装置,包括:第一确定单元,用于确定待聚类数据集中任意两个数据之间的距离,得到距离集合,其中,上述待聚类数据集包括N个数据,上述N为自然数;第二确定单元,用于根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,对于上述N个数据中的每个数据,上述数据的相邻数据数量为上述N个数据中与上述数据之间的距离小于或等于第一预设距离的数据的数量;第一处理单元,用于按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,其中,不同的上述多个数据对应的上述Q的取值相同或不同,上述Q为大于或等于1的整数。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述基于距离的多节聚类方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的基于距离的多节聚类方法。
通过本实施例,首先,确定待聚类数据集中任意两个数据之间的距离,得到距离集合,上述待聚类数据集包括N个数据,上述N为自然数;然后,根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,对于上述N个数据中的每个数据,上述数据的相邻数据数量为上述N个数据中与上述数据之间的距离小于或等于第一预设距离的数据的数量;最后,按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,其中,不同的上述多个数据对应的上述Q的取值相同或不同。采用上述方式,在聚类时,不需要指定聚类数量,以及不受样本密度不均匀或聚类间距相差大的影响,进而解决了相关技术中,在聚类时,存在聚类结果差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术中的一种基于K-means聚类算法实现过程的示意图;
图2是根据相关技术中的一种基于密度的聚类算法DBSCAN实现过程的示意图;
图3是根据本发明实施例的一种基于距离的多节聚类方法的应用环境的示意图;
图4是根据本发明实施例的一种可选的基于距离的多节聚类方法的流程示意图;
图5是根据本发明实施例的一种可选的基于距离的多节聚类方法的聚类效果示意图;
图6是根据本发明实施例的一种可选的K-means聚类算法的聚类效果示意图;
图7是根据本发明实施例的一种可选的DBSCAN聚类算法的聚类效果示意图;
图8是根据本发明实施例的一种可选的聚类装置的结构示意图;
图9是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中涉及到的技术术语包括:
聚类:将通过分析数据之间的相似性,将所有的数据集分成多个类的过程,每个类由类似的对象组成,这些对象间具有共同的特点和属性;
K-means:一种基于距离的聚类算法,以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
DBSCAN:一种基于密度的聚类算法,通过设定一个距离内有多少个相似点来发现簇,将距离较近的簇进行合并来得到聚类结果,即通过发现高密度的区域来聚类,相比K-means算法可以聚出特殊形状的类,并且可以发现噪声点。
邻域:以某个点为中心,以半径R做圆,整个圆内的范围即为该点的邻域。
根据本发明实施例的一个方面,提供了一种基于距离的多节聚类方法。可选地,上述基于距离的多节聚类方法可以但不限于应用于如图3所示的应用环境中。如图3所示,终端设备102或服务器104确定待聚类数据集中任意两个数据之间的距离,得到距离集合,其中,上述待聚类数据集包括N个数据,上述N为自然数;根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,每个上述相邻数据数量为上述N个数据中与一个上述数据之间的距离小于或等于第一预设距离的数据的数量;按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,其中,不同的上述多个数据对应的上述Q的取值相同或不同,上述Q为大于或等于1的整数。以上仅为一种示例,本申请实施例在此不作限定。
可选地,在本实施例中,上述终端设备可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile InternetDevices,移动互联网设备)、PAD、台式电脑等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,作为一种可选的实施方式,该方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行,本实施例中,以由服务器(例如,上述服务器104)执行为例进行说明。
如图4所示,上述基于距离的多节聚类方法的流程可以包括步骤:
步骤S402,确定待聚类数据集中任意两个数据之间的距离,得到距离集合,其中,上述待聚类数据集包括N个数据,上述N为自然数;
可选地,在进行聚类前,需要将每条数据对应的特征向量进行归一化,通过任意两个数据对应的特征向量计算任意两个数据之间的距离,将计算得到的任意两个数据之间的距离形成上述距离集合。
可以通过任意两个数据之间的距离来确定任意两个数据之间的相似度,任意两个数据之间的距离越小,则任意两个数据之间的相似度大小(或还可以称为相似度阈值)越大。
例如,任意两个数据之间的距离之间的距离可以为欧式距离,那么任意两个数据间相似度大小(或还可以称为相似度阈值)即为1减去二者的欧式距离。假设数据1和数据2之间的距离为0.1,那么数据1和数据2之间的相似度相似度大小(或还可以称为相似度阈值)即为0.9。
步骤S404,根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,对于上述N个数据中的每个数据,上述数据的相邻数据数量为上述N个数据中与上述数据之间的距离小于或等于第一预设距离的数据的数量;
可选地,可以根据距离集合,以及第一预设距离确定出待聚类数据集的N个数据中的每个数据的相邻数据数量,如以每个数据为中心,以第一预设距离为半径来确定每个数据包含的相邻数据数量,从而得到上述N个相邻数据数量。
例如,上述待聚类数据集包含N个数据(如1000个数据),根据距离集合确定出N个数据中的每个数据的相邻数据数量,可以得到N个相邻数据数量(如1000个相邻数据数量),该N个相邻数据数量存储的是一组数量值,如N个数据中数据A对应的一个相邻数据数量为10。其中,相邻数据数量为10表示与数据A之间的距离均小于或等于上述第一预设距离的数据有10个。
步骤S406,按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,其中,不同的上述多个数据对应的上述Q的取值相同或不同,上述Q为大于或等于1的整数。
可选地,可以按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,对该多个数据可以执行2级聚类、3级聚类、4级聚类等等。多个数据中的每个数据所执行的多级聚类可以不同。
可选地,在对待聚类数据集中的每个数据均被聚类的情况下,得到的结果为待聚类数据集的聚类结果,每个类会给出中心数据点(聚类中心),以及该类中所有数据点之间的相似度(距离)大小,这个结果可以作为相似数据推荐产品使用。上述基于距离的多节聚类方法还可以用于数据去重,将所有类的中心点作为一个集合输出。
可选地,上述基于距离的多节聚类方法可以但不限于应用于各类数据去重、数据聚类、相似数据推荐的场景,例如,舆情预警系统中的新闻、公告类文档的去重和聚类;互联网中对新闻或者网页进行去重、聚类或相似推荐的场景中。
通过本实施例,首先,确定待聚类数据集中任意两个数据之间的距离,得到距离集合;然后,根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,每个上述相邻数据数量为上述N个数据中与一个上述数据之间的距离小于或等于第一预设距离的数据的数量;最后,按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,其中,不同的上述多个数据对应的上述Q的取值相同或不同。采用上述方式,在聚类时,不需要指定聚类数量,以及不受样本密度不均匀或聚类间距相差大的影响,进而解决了相关技术中,在聚类时,存在聚类结果差的技术问题。
在一种可选的实施例中,上述根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,包括:以上述待聚类数据集中的每个数据为中心、以上述第一预设距离为半径,根据上述距离集合确定上述N个数据所包含的上述N个相邻数据数量。
可选地,如图5(a)所示,假设全部的数据有四个类,如图5中四种不同的数据点。首先,计算所有数据之间的距离,扫描所有数据点,以threshold1(第一预设距离)为半径,以每条数据为中心,得到每条数据邻域内的所有相邻数据数量,得到上述N个相邻数据数量,数量较多的中心将会被优先选为类中心,在距离度量上来看,数量较多的中心位于最中心的位置,并且这条数据和其他很多数据都比较相似,会包含较多的信息量,在用作数据去重时,损失的信息量也就最少。
在一种可选的实施例中,上述按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,包括:将上述N个相邻数据数量中的最大的相邻数据数量对应的数据确定为第一个聚类中心,其中,上述第一个聚类中心为上述N个数据中的一个数据;以上述第一个聚类中心为中心、以上述第一预设距离为半径,根据上述距离集合对上述待聚类数据集进行上述Q级聚类中的第一级聚类,得到上述第一个聚类中心所包含的M个数据;在上述M个数据的邻域内存在未被聚类的数据,并且上述M个数据的邻域内存在数据与上述第一个聚类中心的距离小于或等于第三预设距离的情况下,执行以下步骤:依次以上述M个数据为中心、且以第二预设距离为半径,根据上述距离集合对上述待聚类数据集进行上述Q级聚类中的第二级聚类,得到K个数据,其中,上述M个数据中的任一个数据为中心所包含的每个数据与上述M个数据中的任一个数据的距离小于或等于上述第二预设距离,上述K个数据与上述第一个聚类中心的距离小于或等于第三预设距离,上述M为整数,上述K为自然数。
可选地,如图5(b)所示,按照邻域内包含的相邻数据数量(如上述N个相邻数据数量)由多到少对所有数据进行排序得到数据列表data_list,首先取数据列表data_list中第一个数据点作为第一个类的中心(第一个聚类中心),即图5(b)中黑色的数据点(邻域内数据点最多,为7个),以threshold1(第一预设距离)为距离门限进行聚类,将和第一个类的中心点的距离小于threshold1(第一预设距离)的所有数据点聚入本类,则邻域内的7个点(如上述M个数据)为该点一级聚类(第一级聚类)的结果。
如图5(c)所示,取一级聚类得到的7个数据点进行二级聚类(第二级聚类)。扫描这7个数据点,对每个数据点,以threshold2(第二预设距离)为距离门限进行聚类,二级聚类得到的数据点如果和类中心的距离小于threshold3(第三预设距离),则聚入本类,此时完成第二级聚类,新聚入5个数据点(如上述K个数据)。threshold2为threshold1的0.9倍,即二级聚类的距离门限更为苛刻,是因为此时是以非类中心点进行聚类,需要减小距离门限;threshold3为threshold1的1.2倍,即此时如果有数据点和类中非中心的数据点非常相似,要聚入本类时,还需要和类中心点(第一个聚类中心)进行距离的判定,可以将第一级聚类没有聚类到类中心点(第一个聚类中心)的点聚入,需要适当放宽距离门限。
在一种可选的实施例中,在上述根据上述距离集合对上述待聚类数据集进行上述Q级聚类中的第二级聚类,得到K个数据之后,上述方法还包括:在上述K个数据的邻域内存在未被聚类的数据,并且上述K个数据的邻域内存在数据与上述第一个聚类中心的距离小于或等于上述第三预设距离的情况下,执行以下步骤:依次以上述K个数据为中心、且以第二预设距离为半径,根据上述距离集合对上述待聚类数据集进行上述Q级聚类中的第三级聚类,得到L个数据,其中,上述K个数据中的任一个数据为中心所包含的每个数据与上述K个数据中的任一个数据的距离小于或等于上述第二预设距离,上述L个数据与上述第一个聚类中心的距离小于或等于第三预设预设距离,上述L为自然数。
可选地,如图5(d)所示,依次以第二级聚类新聚入的5个数据点(K个数据)为中心,进行第三级聚类,同样以threshold2和threshold3进行判断,此时可以看出,有一个数据点被划入邻域范围内,即满足门限threshold2,但因为和中心点距离较远,未能满足和中心点距离小于threshold3,因此该点未被聚入本类,这就是阈值threshold3的意义所在,本级聚类聚入4个数据点。之后对第三级聚入的4个数据点进行第四级聚类,发现这四个数据点邻域内没有数据点或者邻域内的数据点都已经被聚类或者邻域内的数据点不满足threshold3的要求,此时第一个类完成聚类,并更新数据列表data_list,保证里边的数据点均未被聚类过。此时,上述L为0。
在一种可选的实施例中,在上述依次以上述K个数据为中心、且以第二预设距离为半径,根据上述距离集合对上述待聚类数据集进行上述Q级聚类中的第三级聚类,得到L个数据之后,上述方法还包括:在上述L个数据的邻域内的数据量为0,或者,上述L个数据的邻域内的数据均已被聚类,或者,上述L个数据的邻域内的数据与上述第一个聚类中心的距离大于上述第三预设距离的情况下,确定对上述第一个聚类中心的第一轮聚类已完成;将以上述第一个聚类中心为中心所包含的数据确定为已聚类数据集,其中,上述已聚类数据集至少包括以下之一:上述第一个聚类中心、上述M个数据、上述K个数据、上述L个数据;对上述待聚类数据集中未进行聚类的未聚类数据集进行第二轮聚类,其中,上述未聚类数据集为上述待聚类数据集中除上述已聚类数据集之外的数据集。
可选地,由上述过程可知,第三级聚类之后,第一个类中心完成聚类,并更新数据列表data_list,保证里边的数据点均未被聚类过。此时,上述数据列表data_list中不包括上述第一聚类中心、M个数据、K个数据、上述L个数据。
在一种可选的实施例中,上述对上述待聚类数据集中未进行聚类的未聚类数据集进行第二轮聚类,包括:根据上述距离集合、上述第一预设距离确定出上述未聚类数据集的所包含数据对应的第二组相邻数据数量;将上述第二组相邻数据数量中的最大的相邻数据数量对应的数据确定为第二个聚类中心,其中,上述第二个聚类中心为上述未聚类数据集中的一个数据;以上述第二个聚类中心为中心进行上述第二轮聚类。
可选地,在第一轮聚类完成之后,对上述待聚类数据集进行更新,去除上述已聚类数据集之外的数据集,得到未聚类数据集,即得到更新后的数据列表data_list(如第二组相邻数据数量),然后对更新后的数据列表data_list中最大的相邻数据数量对应的数据确定为第二个聚类中心,对第二个聚类中心进行第二轮聚类。
在一种可选的实施例中,上述按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,包括:在对上述多个数据均执行完上述Q级聚类的情况下,确定对上述待聚类数据集的多轮聚类已完成,且上述待聚类数据集中的每个数据均被聚类。
可选地,当对多个数据均聚类完成时,确定对上述待聚类数据集的多轮聚类已完成,且上述待聚类数据集中的每个数据均被聚类,即将上述待聚类数据集分为了多个类别,该多个类别与多个数据的数量一致。
例如,上述多个数据的数量为4,则上述待聚类数据集被分为了4个类别。
在一种可选的实施例中,上述第二预设距离为上述第一预设距离的第一倍数,上述第一倍数大于0且小于1,上述第三预设距离为上述第一预设距离的第二倍数,上述第二倍数大于1。
可选地,可以设定第一预设距离threshold1的缺省值为0.42、0.4、0.45等等,设定第二预设距离threshold2和第三预设距离threshold3默认分别为第一预设距离的第一倍数(如0.85、0.9、0.95倍)和第二倍数(如1.1、1.2、1.3倍),第一预设距离threshold1也可以根据输入的待聚类数据集的数据特征自行设定。可理解,以上仅为一种示例,本实施对于数值不作唯一性限定。
需要说明的是,第二个阈值threshold2为数据点进行二级及以上的多级聚类时的距离门限,非必须指定,缺省值可以设置为threshold1的0.9倍;第三个阈值threshold3为数据点进行二级及以上的多级聚类时,是否可聚入本类的门限阈值,非必须指定,缺省值可以设置为threshold1的1.2倍;threshold2和threshold3还可以根据数据量的多少、数据之间的相似程度进行调优。
下面结合可选示例对基于距离的多节聚类方法的流程进行说明,如图5所示,该方法可以包括以下步骤:
在一种可选的实施例中,本发明实施例中的基于距离的多节聚类方法主要包括以下几个步骤:(1)计算所有数据之间的距离,扫描所有数据点,以阈值1为半径,以每条数据为中心,得到每条数据邻域内小于阈值1的相邻数据数量,数量较多的点将被优先选为类中心;(2)选取邻域内相邻数据数量最多的点作为类中心,按照距离阈值1进行第一级聚类;对于第一级类里的每条数据,以它为中心,按阈值2进行第二级聚类,二级聚类得到的数据如果和类中心距离小于阈值3,则也纳入本类;对第二级类里的数据进行逐级聚类,同样以阈值2和阈值3进行判断,直到第N级中的数据点邻域内没有数据或已被聚类,此时视为该中心点完成聚类;(3)对于未聚类的数据,按照邻域内相邻数据数量由多到少进行类中心的选取,遍历第(2)步,直到所有的数据点都被聚类,此时得到聚类结果。
如图5所示,本产品的核心技术流程和本技术方案的优势解析如下,其中技术流程将按照图5中的顺序进行介绍。
如图5(a)所示,假设全部的数据有四个类,如图5中四种不同的数据点。首先,计算所有数据之间的距离(相似度),扫描所有数据点,以threshold1(第一预设距离)为半径,以每条数据为中心,得到每条数据邻域内的所有相邻数据数量,数量较多的中心将会被优先选为类中心,在距离度量上来看,数量较多的中心位于最中心的位置,并且这条数据和其他很多数据都比较相似,会包含较多的信息量,在用作数据去重时,损失的信息量也就最少。
如图5(b)所示,按照邻域内包含的相邻数据数量由多到少对所有数据进行排序得到数据列表data_list,首先取数据列表data_list中第一个数据点作为第一个类的中心(第一个聚类中心),即图5(b)中黑色的数据点(邻域内数据点最多,为7个),以threshold1(第一预设距离)为距离门限进行聚类,将和第一个类的中心点的距离小于threshold1(第一预设距离)的所有数据点聚入本类,则邻域内的7个点为该点一级聚类的结果。
如图5(c)所示,取一级聚类得到的7个数据点进行二级聚类。扫描这7个数据点,对每个数据点,以threshold2(第二预设距离)为距离门限进行聚类,二级聚类得到的数据点如果和类中心的距离小于threshold3(第三预设距离),则聚入本类,此时完成第二级聚类,新聚入5个数据点。threshold2为threshold1的0.9倍,即二级聚类的距离门限更为苛刻,是因为此时是以非类中心点进行聚类,需要减小距离门限;threshold3为threshold1的1.2倍,即此时如果有数据点和类中非中心的数据点非常相似,要聚入本类时,还需要和类中心点(第一个聚类中心)进行距离的判定,可以将第一级聚类没有聚类到类中心点(第一个聚类中心)的点聚入,需要适当放宽距离门限。
如图5(d)所示,依次以第二级聚类新聚入的5个数据点为中心,进行第三级聚类,同样以threshold2和threshold3进行判断,此时可以看出,有一个数据点被划入邻域范围内,即满足门限threshold2,但因为和中心点距离较远,未能满足和中心点距离小于threshold3,因此该点未被聚入本类,这就是阈值threshold3的意义所在,本级聚类聚入4个数据点。之后对第三级聚入的4个数据点进行第四级聚类,发现这四个数据点邻域内没有数据点或者邻域内的数据点都已经被聚类或者邻域内的数据点不满足threshold3的要求,此时第一个类完成聚类,并更新数据列表data_list,保证里边的数据点均未被聚类过。
如图5(e)所示,取数据列表data_list中第二个数据点作为第二个类的中心(第二个聚类中心),对剩余的未被聚类的数据进行第二轮聚类。此时中心点为图5(e)中靠右部分的黑色点,邻域内同样具有7个数据点。聚类过程与第一个聚类中心的聚类过程一致,进行第一级聚类聚入7个数据点。
如图5(f)所示,对图5(e)中的7个数据点进行第二级聚类,发现7个数据点邻域内不存在未被聚类的数据,此时完成第二轮聚类,得到第二个类。更新数据列表data_list,并从中选取第三个聚类中心,其邻域内有5个数据点,即得到第一级聚类结果,如图5(f)中最右边部分的圆圈所示。
如图5(g)所示,对这5个数据点进行第二级聚类,新聚入一个数据点,对该点进行第三级聚类,无新数据点聚入,此时完成第三轮聚类,更新数据列表data_list。
如图5(h)从所示,从数据列表data_list中选取第四个聚类中心,其邻域内有两个数据点,即第一级聚类结果。
如图5(i)所示,第一级聚类后所有数据都已被聚类,此时得到第四个类,聚类完成。
需要说明的是,本发明实施例的优势具体如下:
1、本发明实施例不需要指定聚类的数量,通过多轮聚类,每轮聚类中进行多级聚类的方式给出最优结果。每轮可以聚出一个类,并且类中心的选取倾向于周围聚集着较多数据的数据点,倾向于包含信息量较大的数据点。相比K-means算法,类中心不受类中其他点位置的影响,因此聚类中心不会因为某个噪声点而造成偏移。
2、本发明实施例中聚出的每个类的形状是多级聚类中所有子类合并而成的,由多个小“类圆形”的子类拼合而成。只要数据之间联系紧密,具有共性,就可以聚出来各种形状的类,避免了传统基于距离的聚类方案只能聚出“类圆形”的缺点。如图5中的第一个类为长条形,第二个类为圆形,如果采用K-means算法,这两个类的聚合效果会非常差,如图6所示,为采用K-means的聚类结果的示意图,由于第一个类不是“类圆形”,造成了该类只聚出来一部分数据,另一部分数据被错归为第二个类,并且造成第二个类的聚类中心偏离,如果应用于数据去重的场景,那第二个类中保留下的中心点很难代表出该类数据的特点,甚至中心点可能是第一个类中的点。
3、如图7所示,为采用DBSCAN进行聚类的聚类结果。DBSCAN受样本分布密度的影响较大,第一、二、四个类的样本较为集中,密度较大,而第三个类样本间距较大,很难调整邻域半径R和最少点数目minpoints成功聚出这四个类。邻域半径R内minpoints设置较大,如图7(a)所示,数据量少的第四个类和密度较小的第三个类会被当做噪声;邻域半径R内minpoints设置较小,如图7(b)图所示,此时可以聚出第三、四个类,但因为一、二两个类距离较近,第二个类里的一些点会被归入第一个类中点的邻域范围内,最终导致第二个类被聚入第一个类。
相比DBSCAN聚类,本发明实施例中并不强行设定每个点邻域内的数据需要达到一定数量,DBSCAN聚类方式的弊端在于当样本密度不均匀的时候聚类效果很差,而且包含数据量较少的类会被当做噪声。这是不合理的,例如,当使用本发明实施例中的基于距离的多节聚类方法应用于文本聚类的时候,可以对所有的文本进行主题划分,某个冷门主题的文本数量很少,但是该主题也会保留下来,并不能被当做噪声处理掉。
需要说明的是,本发明实施例中的基于距离的多节聚类方法通过让一级聚类聚入的数据点以threshold2的距离不断向外延伸拓展,新拓展到的点会继续向外传递拓展,并且通过阈值threshold3来控制多级聚入的数据点和类中心保持一定的相似性,防止延伸拓展过度而得到非本类的数据点。即使某个类里数据量较少,或者不同类的数据密度分布不均匀,使用本发明实施例中的基于距离的多节聚类方法也可以成功完成聚类。
通过本实施例,通过利用数据点之间的传递关系,基于距离进行多级的聚类,可以不用设置聚类的数量,能够发现各种类簇形状,自动给出较优的聚合结果,避免了传统的基于距离的多节聚类方法对聚类数量、噪声点敏感和只能发现“类圆形”类的缺点,可以聚出各种“形状”的类簇,且不受噪声点的影响,不会将数据点少的类簇误当作噪声,还避免了基于密度基于距离的多节聚类方法当样本集密度不均匀、聚类间距相差很大时,聚类质量较差的缺点,提高了聚类的灵活性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本邻域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本邻域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的又一方面,还提供了一种聚类装置,如图8所示,该装置包括:
第一确定单元802,用于确定待聚类数据集中任意两个数据之间的距离,得到距离集合,其中,上述待聚类数据集包括N个数据,上述N为自然数;
第二确定单元804,用于根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,对于上述N个数据中的每个数据,上述数据的相邻数据数量为上述N个数据中与上述数据之间的距离小于或等于第一预设距离的数据的数量;
第一处理单元806,用于按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,其中,不同的上述多个数据对应的上述Q的取值相同或不同,上述Q为大于或等于1的整数。
可选地,第一确定单元802可以用于执行步骤S402,第二确定单元804可以用于执行步骤S404,第一处理单元806可以用于执行步骤S406。
通过本实施例,首先,确定待聚类数据集中任意两个数据之间的距离,得到距离集合;然后,根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,对于上述N个数据中的每个数据,上述数据的相邻数据数量为上述N个数据中与上述数据之间的距离小于或等于第一预设距离的数据的数量;最后,按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,其中,不同的上述多个数据对应的上述Q的取值相同或不同。采用上述方式,在聚类时,不需要指定聚类数量,以及不受样本密度不均匀或聚类间距相差大的影响,进而解决了相关技术中,在聚类时,存在聚类结果差的技术问题。
作为一种可选的技术方案,上述第二确定单元,还用于以上述待聚类数据集中的每个数据为中心、以上述第一预设距离为半径,根据上述距离集合确定上述N个数据所包含的上述N个相邻数据数量。
作为一种可选的技术方案,上述第一处理单元,包括:
第一确定模块,用于将上述N个相邻数据数量中的最大的相邻数据数量对应的数据确定为第一个聚类中心,其中,上述第一个聚类中心为上述N个数据中的一个数据;
第一处理模块,用于以上述第一个聚类中心为中心、以上述第一预设距离为半径,根据上述距离集合对上述待聚类数据集进行上述Q级聚类中的第一级聚类,得到上述第一个聚类中心所包含的M个数据;
第二处理模块,用于在上述M个数据的邻域内存在未被聚类的数据,并且上述M个数据的邻域内存在数据与上述第一个聚类中心的距离小于或等于第三预设距离的情况下,执行以下步骤:依次以上述M个数据为中心、且以第二预设距离为半径,根据上述距离集合对上述待聚类数据集进行上述Q级聚类中的第二级聚类,得到K个数据,其中,上述M个数据中的任一个数据为中心所包含的每个数据与上述M个数据中的任一个数据的距离小于或等于上述第二预设距离,上述K个数据与上述第一个聚类中心的距离小于或等于第三预设距离,上述M为整数,上述K为自然数。
作为一种可选的技术方案,上述装置还包括:
第二处理单元,用于在上述K个数据的邻域内存在未被聚类的数据,并且上述K个数据的邻域内存在数据与上述第一个聚类中心的距离小于或等于上述第三预设距离的情况下,执行以下步骤:依次以上述K个数据为中心、且以第二预设距离为半径,根据上述距离集合对上述待聚类数据集进行上述Q级聚类中的第三级聚类,得到L个数据,其中,上述K个数据中的任一个数据为中心所包含的每个数据与上述K个数据中的任一个数据的距离小于或等于上述第二预设距离,上述L个数据与上述第一个聚类中心的距离小于或等于第三预设距离,上述L为自然数。
作为一种可选的技术方案,上述装置还包括:
第三确定单元,用于在上述L个数据的邻域内的数据量为0,或者,上述L个数据的邻域内的数据均已被聚类,或者,上述L个数据的邻域内的数据与上述第一个聚类中心的距离大于上述第三预设距离的情况下,确定对上述第一个聚类中心的第一轮聚类已完成;
第四确定单元,用于将以上述第一个聚类中心为中心所包含的数据确定为已聚类数据集,其中,上述已聚类数据集至少包括以下之一:上述第一个聚类中心、上述M个数据、上述K个数据、上述L个数据;
第三处理单元,用于对上述待聚类数据集中未进行聚类的未聚类数据集进行第二轮聚类,其中,上述未聚类数据集为上述待聚类数据集中除上述已聚类数据集之外的数据集。
作为一种可选的技术方案,上述第三处理单元,包括:
第二确定模块,用于根据上述距离集合、上述第一预设距离确定出上述未聚类数据集的所包含数据对应的第二组相邻数据数量;
第三确定模块,用于将上述第二组相邻数据数量中的最大的相邻数据数量对应的数据确定为第二个聚类中心,其中,上述第二个聚类中心为上述未聚类数据集中的一个数据;
第三处理模块,用于以上述第二个聚类中心为中心进行上述第二轮聚类。
作为一种可选的技术方案,上述第二预设距离为上述第一预设距离的第一倍数,上述第一倍数大于0且小于1,上述第三预设距离为上述第一预设距离的第二倍数,上述第二倍数大于1。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定待聚类数据集中任意两个数据之间的距离,得到距离集合,其中,上述待聚类数据集包括N个数据,上述N为自然数;
S2,根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,对于上述N个数据中的每个数据,上述数据的相邻数据数量为上述N个数据中与上述数据之间的距离小于或等于第一预设距离的数据的数量;
S3,按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,其中,不同的上述多个数据对应的上述Q的取值相同或不同,上述Q为大于或等于1的整数。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取器)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述基于距离的多节聚类方法的电子装置,如图9所示,该电子装置包括存储器902和处理器904,该存储器902中存储有计算机程序,该处理器904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定待聚类数据集中任意两个数据之间的距离,得到距离集合,其中,上述待聚类数据集包括N个数据,上述N为自然数;
S2,根据上述距离集合确定上述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,对于上述N个数据中的每个数据,上述数据的相邻数据数量为上述N个数据中与上述数据之间的距离小于或等于第一预设距离的数据的数量;
S3,按照上述N个相邻数据数量的大小对上述N个数据中的多个数据执行Q级聚类,以使上述待聚类数据集中的每个数据均被聚类,其中,不同的上述多个数据对应的上述Q的取值相同或不同,上述Q为大于或等于1的整数。
可选地,本领域普通技术人员可以理解,图9所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图9中所示更多或者更少的组件(如网络接口等),或者具有与图9所示不同的配置。
其中,存储器902可用于存储软件程序以及模块,如本发明实施例中的基于距离的多节聚类方法和装置对应的程序指令/模块,处理器904通过运行存储在存储器902内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于距离的多节聚类方法。存储器902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器902可进一步包括相对于处理器904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器902具体可以但不限于用于存储目标对象的目标高度等信息。作为一种示例,如图9所示,上述存储器902中可以但不限于包括上述聚类装置中的第一确定单元802、第二确定单元804、第一处理单元806。此外,还可以包括但不限于上述聚类装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置906为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器908和连接总线910,用于连接上述电子装置中的各个模块部件。
在其他实施例中,上述终端或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个第一处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种基于距离的多节聚类方法,其特征在于,所述基于距离的多节聚类方法应用于舆情预警系统中的新闻、公告类文档的去重和聚类,或互联网中对新闻或者网页的去重、聚类,包括:
确定待聚类数据集中任意两个数据之间的距离,得到距离集合,其中,所述待聚类数据集包括N个数据,所述N为自然数;
根据所述距离集合确定所述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,对于所述N个数据中的每个数据,所述数据的相邻数据数量为所述N个数据中与所述数据之间的距离小于或等于第一预设距离的数据的数量;
按照所述N个相邻数据数量的大小对所述N个数据中的多个数据执行Q级聚类,以使所述待聚类数据集中的每个数据均被聚类,其中,不同的所述多个数据对应的所述Q的取值相同或不同,所述Q为大于或等于1的整数;
其中,所述按照所述N个相邻数据数量的大小对所述N个数据中的多个数据执行Q级聚类,包括:
将所述N个相邻数据数量中的最大的相邻数据数量对应的数据确定为第一个聚类中心,其中,所述第一个聚类中心为所述N个数据中的一个数据;
以所述第一个聚类中心为中心、以所述第一预设距离为半径,根据所述距离集合对所述待聚类数据集进行所述Q级聚类中的第一级聚类,得到所述第一个聚类中心所包含的M个数据;
在所述M个数据的邻域内存在未被聚类的数据,并且所述M个数据的邻域内存在数据与所述第一个聚类中心的距离小于或等于第三预设距离的情况下,执行以下步骤:
依次以所述M个数据为中心、且以第二预设距离为半径,根据所述距离集合对所述待聚类数据集进行所述Q级聚类中的第二级聚类,得到K个数据,其中,所述M个数据中的任一个数据为中心所包含的每个数据与所述M个数据中的任一个数据的距离小于或等于所述第二预设距离,所述K个数据与所述第一个聚类中心的距离小于或等于第三预设距离,所述M为整数,所述K为自然数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述距离集合确定所述N个数据中的每个数据的相邻数据数量,包括:
以所述待聚类数据集中的每个数据为中心、以所述第一预设距离为半径,根据所述距离集合确定所述N个数据所包含的所述N个相邻数据数量。
3.根据权利要求1所述的方法,其特征在于,在所述根据所述距离集合对所述待聚类数据集进行所述Q级聚类中的第二级聚类,得到K个数据之后,所述方法还包括:
在所述K个数据的邻域内存在未被聚类的数据,并且所述K个数据的邻域内存在数据与所述第一个聚类中心的距离小于或等于所述第三预设距离的情况下,执行以下步骤:
依次以所述K个数据为中心、且以第二预设距离为半径,根据所述距离集合对所述待聚类数据集进行所述Q级聚类中的第三级聚类,得到L个数据,其中,所述K个数据中的任一个数据为中心所包含的每个数据与所述K个数据中的任一个数据的距离小于或等于所述第二预设距离,所述L个数据与所述第一个聚类中心的距离小于或等于第三预设距离,所述L为自然数。
4.根据权利要求3所述的方法,其特征在于,在所述依次以所述K个数据为中心、且以第二预设距离为半径,根据所述距离集合对所述待聚类数据集进行所述Q级聚类中的第三级聚类,得到L个数据之后,所述方法还包括:
在所述L个数据的邻域内的数据量为0,或者,所述L个数据的邻域内的数据均已被聚类,或者,所述L个数据的邻域内的数据与所述第一个聚类中心的距离大于所述第三预设距离的情况下,确定对所述第一个聚类中心的第一轮聚类已完成;
将以所述第一个聚类中心为中心所包含的数据确定为已聚类数据集,其中,所述已聚类数据集至少包括以下之一:所述第一个聚类中心、所述M个数据、所述K个数据、所述L个数据;
对所述待聚类数据集中未进行聚类的未聚类数据集进行第二轮聚类,其中,所述未聚类数据集为所述待聚类数据集中除所述已聚类数据集之外的数据集。
5.根据权利要求4所述的方法,其特征在于,所述对所述待聚类数据集中未进行聚类的未聚类数据集进行第二轮聚类,包括:
根据所述距离集合、所述第一预设距离确定出所述未聚类数据集的所包含数据对应的第二组相邻数据数量;
将所述第二组相邻数据数量中的最大的相邻数据数量对应的数据确定为第二个聚类中心,其中,所述第二个聚类中心为所述未聚类数据集中的一个数据;
以所述第二个聚类中心为中心进行所述第二轮聚类。
6.根据权利要求2至5任一项中所述的方法,其特征在于,所述第二预设距离为所述第一预设距离的第一倍数,所述第一倍数大于0且小于1,所述第三预设距离为所述第一预设距离的第二倍数,所述第二倍数大于1。
7.一种聚类装置,其特征在于,应用于舆情预警系统中的新闻、公告类文档的去重和聚类,或互联网中对新闻或者网页的去重、聚类,包括:
第一确定单元,用于确定待聚类数据集中任意两个数据之间的距离,得到距离集合,其中,所述待聚类数据集包括N个数据,所述N为自然数;
第二确定单元,用于根据所述距离集合确定所述N个数据中的每个数据的相邻数据数量,共得到N个相邻数据数量,其中,对于所述N个数据中的每个数据,所述数据的相邻数据数量为所述N个数据中与所述数据之间的距离小于或等于第一预设距离的数据的数量;
第一处理单元,用于按照所述N个相邻数据数量的大小对所述N个数据中的多个数据执行Q级聚类,以使所述待聚类数据集中的每个数据均被聚类,其中,不同的所述多个数据对应的所述Q的取值相同或不同,所述Q为大于或等于1的整数;
其中,所述第一处理单元还用于:
将所述N个相邻数据数量中的最大的相邻数据数量对应的数据确定为第一个聚类中心,其中,所述第一个聚类中心为所述N个数据中的一个数据;
以所述第一个聚类中心为中心、以所述第一预设距离为半径,根据所述距离集合对所述待聚类数据集进行所述Q级聚类中的第一级聚类,得到所述第一个聚类中心所包含的M个数据;
在所述M个数据的邻域内存在未被聚类的数据,并且所述M个数据的邻域内存在数据与所述第一个聚类中心的距离小于或等于第三预设距离的情况下,执行以下步骤:
依次以所述M个数据为中心、且以第二预设距离为半径,根据所述距离集合对所述待聚类数据集进行所述Q级聚类中的第二级聚类,得到K个数据,其中,所述M个数据中的任一个数据为中心所包含的每个数据与所述M个数据中的任一个数据的距离小于或等于所述第二预设距离,所述K个数据与所述第一个聚类中心的距离小于或等于第三预设距离,所述M为整数,所述K为自然数。
8.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至5任一项中所述的方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011091982.1A CN112215287B (zh) | 2020-10-13 | 2020-10-13 | 基于距离的多节聚类方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011091982.1A CN112215287B (zh) | 2020-10-13 | 2020-10-13 | 基于距离的多节聚类方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112215287A CN112215287A (zh) | 2021-01-12 |
CN112215287B true CN112215287B (zh) | 2024-04-12 |
Family
ID=74053863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011091982.1A Active CN112215287B (zh) | 2020-10-13 | 2020-10-13 | 基于距离的多节聚类方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112215287B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113313191A (zh) * | 2021-06-13 | 2021-08-27 | 西北工业大学 | 一种基于无监督学习的分布式孔径交互智能评估方法 |
CN113591588A (zh) * | 2021-07-02 | 2021-11-02 | 四川大学 | 基于双向时空切片聚类的视频内容关键帧提取方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102509111A (zh) * | 2011-11-02 | 2012-06-20 | 大连理工大学 | 基于局部特征多级聚类及图像-类距离计算的商品图像自动分类算法 |
CN103491107A (zh) * | 2013-10-14 | 2014-01-01 | 刘胜利 | 基于网络数据流簇聚类的木马通信特征快速提取方法 |
CN107067045A (zh) * | 2017-05-31 | 2017-08-18 | 北京京东尚科信息技术有限公司 | 数据聚类方法、装置、计算机可读介质和电子设备 |
CN107924430A (zh) * | 2015-08-17 | 2018-04-17 | 皇家飞利浦有限公司 | 生物数据模式识别的多级体系构架 |
CN109214462A (zh) * | 2018-09-25 | 2019-01-15 | 东北大学 | 一种基于分布式增量型dbscan算法的空间数据流在线聚类方法 |
CN109993179A (zh) * | 2017-12-29 | 2019-07-09 | 北京京东尚科信息技术有限公司 | 一种对数据进行聚类的方法和装置 |
WO2019136929A1 (zh) * | 2018-01-13 | 2019-07-18 | 惠州学院 | 基于k邻域相似性的数据聚类方法、装置和存储介质 |
CN110069467A (zh) * | 2019-04-16 | 2019-07-30 | 沈阳工业大学 | 基于皮尔逊系数与MapReduce并行计算的电网尖峰负荷聚类提取法 |
CN110109975A (zh) * | 2019-05-14 | 2019-08-09 | 重庆紫光华山智安科技有限公司 | 数据聚类方法及装置 |
CN110298371A (zh) * | 2018-03-22 | 2019-10-01 | 北京京东尚科信息技术有限公司 | 数据聚类的方法和装置 |
CN111063341A (zh) * | 2019-12-31 | 2020-04-24 | 苏州思必驰信息科技有限公司 | 复杂环境中多人语音的分割聚类方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017219695A1 (de) * | 2017-11-06 | 2019-05-09 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren zum Manövrieren von Fahrzeugen in Clustern |
-
2020
- 2020-10-13 CN CN202011091982.1A patent/CN112215287B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102509111A (zh) * | 2011-11-02 | 2012-06-20 | 大连理工大学 | 基于局部特征多级聚类及图像-类距离计算的商品图像自动分类算法 |
CN103491107A (zh) * | 2013-10-14 | 2014-01-01 | 刘胜利 | 基于网络数据流簇聚类的木马通信特征快速提取方法 |
CN107924430A (zh) * | 2015-08-17 | 2018-04-17 | 皇家飞利浦有限公司 | 生物数据模式识别的多级体系构架 |
CN107067045A (zh) * | 2017-05-31 | 2017-08-18 | 北京京东尚科信息技术有限公司 | 数据聚类方法、装置、计算机可读介质和电子设备 |
CN109993179A (zh) * | 2017-12-29 | 2019-07-09 | 北京京东尚科信息技术有限公司 | 一种对数据进行聚类的方法和装置 |
WO2019136929A1 (zh) * | 2018-01-13 | 2019-07-18 | 惠州学院 | 基于k邻域相似性的数据聚类方法、装置和存储介质 |
CN110298371A (zh) * | 2018-03-22 | 2019-10-01 | 北京京东尚科信息技术有限公司 | 数据聚类的方法和装置 |
CN109214462A (zh) * | 2018-09-25 | 2019-01-15 | 东北大学 | 一种基于分布式增量型dbscan算法的空间数据流在线聚类方法 |
CN110069467A (zh) * | 2019-04-16 | 2019-07-30 | 沈阳工业大学 | 基于皮尔逊系数与MapReduce并行计算的电网尖峰负荷聚类提取法 |
CN110109975A (zh) * | 2019-05-14 | 2019-08-09 | 重庆紫光华山智安科技有限公司 | 数据聚类方法及装置 |
CN111063341A (zh) * | 2019-12-31 | 2020-04-24 | 苏州思必驰信息科技有限公司 | 复杂环境中多人语音的分割聚类方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于云计算平台Hadoop的HKM聚类算法设计研究;张淑芬 等;《应用科学学报》;第36卷(第3期);第524-534页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112215287A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10846052B2 (en) | Community discovery method, device, server and computer storage medium | |
CN112215287B (zh) | 基于距离的多节聚类方法和装置、存储介质及电子装置 | |
CN103117903B (zh) | 上网流量异常检测方法及装置 | |
US8117609B2 (en) | System and method for optimizing changes of data sets | |
WO2020147612A1 (zh) | 一种基于图的卷积网络训练方法、装置及系统 | |
CN110719106B (zh) | 一种基于节点分类排序的社交网络图压缩方法及系统 | |
CN105335368B (zh) | 一种产品聚类方法及装置 | |
CN111309946B (zh) | 一种已建立档案优化方法及装置 | |
CN105827603A (zh) | 未明协议特征库建立方法、未明报文分类方法及相关装置 | |
CN105975463A (zh) | 一种基于MapReduce识别优化数据倾斜的方法及系统 | |
CN111159577B (zh) | 一种社群划分方法、装置、存储介质及电子装置 | |
CN106604253B (zh) | 一种无线组网方法及系统 | |
US11556595B2 (en) | Attribute diversity for frequent pattern analysis | |
CN113727348A (zh) | 用户设备ue用户数据的检测方法、设备及存储介质 | |
CN111597139A (zh) | 一种gpu的通信方法、系统、设备以及介质 | |
CN111698321A (zh) | 物联网设备数据同步方法、装置及控制中心 | |
CN116360954A (zh) | 基于云边协同技术的工业物联网管控方法和管控系统 | |
CN111723089A (zh) | 一种基于列式存储格式处理数据的方法和装置 | |
CN113569612B (zh) | 图像识别神经网络的训练方法和装置、图像识别方法 | |
CN114968933A (zh) | 数据中心的日志的分类方法和装置 | |
CN115358308A (zh) | 一种大数据实例约简方法、装置、电子设备及存储介质 | |
CN110659034B (zh) | 云边混合计算服务的组合优化部署方法、系统及存储介质 | |
CN108156011A (zh) | 一种进行无线接入点聚类的方法与设备 | |
Hui et al. | Detection algorithm based on closeness rank and signal transimission | |
CN115865740B (zh) | 一种基于网络结构的关键链路识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |