一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据聚类方法及装置、存储介质及电子装置与流程

2022-07-31 04:55:00 来源:中国专利 TAG:


1.本技术涉及智慧家庭技术领域,具体而言,涉及一种数据聚类方法及装置、存储介质及电子装置。


背景技术:

2.k-means算法由于简单、高效、易实施等特性受到很多学者的青睐,目前被广泛应用于文本聚类、人工智能和自然语言处理等诸多领域。k-means算法的第一步工作是初始聚类中心的选取,然后对数据点进行分类后通过对每个聚类平均值的计算来调整聚类中心并且不断迭代循环,最终达到使得类间对象相似性最小,而类内对象相似性最大的目的。但k-means算法本身存在全局搜索能力差、对初始聚类中心依赖性大,而目前k-means算法都是从样本随机选取k个对象作为初始聚类中心,导致聚类迭代次数较多,聚类效果较差。
3.针对相关技术,由于k-means算法随机选取初始聚类中心进行聚类,导致迭代次数较多,聚类效果较差的问题,目前尚未提出有效的解决方案。
4.因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。


技术实现要素:

5.本发明实施例提供了一种数据聚类方法及装置、存储介质及电子装置,以至少解决由于k-means算法随机选取初始聚类中心进行聚类,导致迭代次数较多,聚类效果较差的问题。
6.根据本发明实施例的一方面,提供一种数据聚类方法,包括:获取待聚类的目标数据集;确定所述目标数据集对应的目标数量的初始聚类中心,其中,所述目标数据集包括的多个数据点待划分至所述目标数量的聚类簇,所述聚类簇和所述初始聚类中心一一对应;指示目标算法通过所述目标数量的初始聚类中心对所述目标数据集进行聚类。
7.根据本发明实施例的另一方面,还提供了一种数据聚类装置,包括:获取模块,用于获取待聚类的目标数据集;确定模块,用于确定所述目标数据集对应的目标数量的初始聚类中心,其中,所述目标数据集包括的多个数据点待划分至所述目标数量的聚类簇,所述聚类簇和所述初始聚类中心一一对应;聚类模块,用于指示目标算法通过所述目标数量的初始聚类中心对所述目标数据集进行聚类。
8.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据聚类方法。
9.根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述数据聚类方法。
10.通过本发明,由于在对待聚类的目标数据集进行聚类以前,确定了目标数据集对应的目标数量的初始聚类中心,进而减少了k-means的迭代次数,使得聚类效果较好,解决
了k-means算法随机选取初始聚类中心进行聚类,导致迭代次数较多,聚类效果较差的问题。
附图说明
11.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
12.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
13.图1是根据本技术实施例的一种数据聚类方法的硬件环境示意图;
14.图2是根据本发明实施例的数据聚类方法的流程图(一);
15.图3是根据本发明实施例的数据聚类方法的流程图(二);
16.图4是根据本发明实施例的数据聚类方法的流程图(三);
17.图5是根据本发明实施例的数据聚类装置的结构框图。
具体实施方式
18.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
19.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
20.根据本技术实施例的一个方面,提供了一种数据聚类方法。该数据聚类方法广泛应用于智慧家庭(smart home)、智能家居、智能家用设备生态、智慧住宅(intelligencehouse)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述数据聚类方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
21.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于
为pc、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
22.为了解决本技术的技术问题,在本实施例中提供了一种数据聚类方法,图2是根据本发明实施例的数据聚类方法的流程图(一),该流程包括如下步骤:
23.步骤s202:获取待聚类的目标数据集;
24.步骤s204:确定所述目标数据集对应的目标数量的初始聚类中心,其中,所述目标数据集包括的多个数据点待划分至所述目标数量的聚类簇,所述聚类簇和所述初始聚类中心一一对应;
25.步骤s206:指示目标算法通过所述目标数量的初始聚类中心对所述目标数据集进行聚类。
26.在一个示例性的实施例中,目标算法为k-means算法。
27.可选的,上述步骤s206可以通过以下步骤s11-步骤s13实现:
28.步骤s11:计算目标数据集中每个数据点到目标数量的初始聚类中心的距离,并将其分配到相应类;
29.步骤s12:计算每一类中所有数据点的平均值,将平均值作为新聚类中心;
30.步骤s13:循环步骤s1与步骤s2,直至每个类的聚类中心不变化。
31.通过上述步骤,由于在对待聚类的目标数据集进行聚类以前,确定了目标数据集对应的目标数量的初始聚类中心,进而减少了k-means的迭代次数,使得聚类效果较好,解决了k-means算法随机选取初始聚类中心进行聚类,导致迭代次数较多,聚类效果较差的问题。
32.在一个示例性的实施例中,如果并不知道目标数据集最终需要聚类成多少个聚类簇,则上述步骤s204可以通过以下步骤s21-步骤s23实现:
33.步骤s21:从所述目标数据集包括的多个数据点中随机确定第一数量的随机聚类中心;
34.步骤s22:对所述第一数量的随机聚类中心循环进行多次聚类操作,直至聚类后的第二数量的随机聚类中心中任意两个随机聚类中心之间的距离大于第一预设阈值,其中,所述第一数量大于或等于所述第二数量,在对所述第一数量的随机聚类中心进行聚类操作的过程中,对于距离小于或等于所述第一预设阈值的两个随机聚类中心,将所述两个随机聚类中心对应的两个聚类簇进行合并,并确定合并后的聚类簇对应的随机聚类中心;
35.步骤s23:将所述第二数量的随机聚类中心作为所述目标数量的初始聚类中心。
36.为了更好的理解上述步骤s22,图3是根据本发明实施例的数据聚类方法的流程图(二),如图3所示,可以指示目标算法通过第一数量的随机聚类中心对目标数据集进行一次聚类,并根据聚类得到的第一数量的聚类簇重新确定第一数量的随机聚类中心,并在第一数量的随机聚类中心中存在两个随机聚类中心的距离小于或等于所述第一预设阈值的情况下,将所述两个随机聚类中心对应的两个聚类簇进行合并,并重新确定聚类中心,得到第二数量的随机聚类中心,进而确定第二数量的随机聚类中心中任意两个随机聚类中心之间
的距离是否大于第一预设阈值,在确定是的情况下,执行将第二数量的随机聚类中心确定目标数量的初始聚类中心,在否的情况下,再次执行图3所示的步骤s304-步骤s308。
37.也就是说,先为k赋予一个适合的数值,并随机选取k个聚类中心,通过一次k-means算法得到新的k个聚类中心。对于新得到的k个聚类中心,根据得到的k个聚类簇的距离情况,合并距离最近的类,因此聚类中心数减小,当将其用于下次聚类时,相应的聚类数目也减小了,最终得到合适数目聚类中心以及聚类数。需要说明的是,可以通过一个评判值e来确定什么时候不继续合并聚类中心。重复上述循环,直至评判函数收敛为止,最终得到较优聚类数的聚类结果。
38.在一个示例性的实施例中,如果知道目标数据集最终需要聚类成多少个聚类簇,但需要知道对应数量的初始聚类中心,进而可以上述步骤s204还可以通过以下步骤s31-步骤s34实现:
39.步骤s31:在确定所述目标数据集对应n个聚类簇的情况下,从所述目标数据集包括的多个数据点中随机确定第一聚类中心;
40.步骤s32:从所述目标数据集包括的多个数据点中确定距离所述第一聚类中心的距离最远的第二聚类中心;
41.步骤s33:重复执行以下操作,直至确定所述n个聚类簇对应的n个聚类中心:从所述目标数据集包括的多个数据点中确定距离所述第一聚类中心、

第n-1聚类中心的距离之和最远的第n聚类中心;
42.步骤s34:将确定的n个聚类中心确定为所述目标数量的初始聚类中心,其中,所述n个聚类中心包括:所述第一聚类中心,所述第二聚类中心,

第n-1聚类中心,第n聚类中心;其中,所述n为正整数,所述n大于或等于3。
43.也就是说,首先随机选择一个数据点作为第一聚类中心,然后选择距离该数据点最远的那个数据点作为第二聚类中心,然后再选择距离前两个数据点的距离之和最大的数据点作为第三聚类中心,以此类推,直至选出k个聚类中心。
44.在一个示例性的实施例中,如果不知道目标数据集最终需要聚类成多少个聚类簇,上述步骤s204还可以通过以下步骤s41-步骤s44实现,图4是根据本发明实施例的数据聚类方法的流程图(三),如图4所述:
45.步骤s41:执行确定步骤:确定所述目标数据集当前包括的多个数据点对应的聚类中心、第一阈值以及第二阈值,并将所述聚类中心保存至所述聚类中心列表,其中,所述第一阈值大于第二阈值;
46.作为一种可选的示例,上述确定所述目标数据集对应的聚类中心、第一阈值以及第二阈值可以通过以下方式实现:确定所述目标数据集当前包括的多个数据点的均值点;将所述多个数据点中距离所述均值点最近的数据点确定为所述聚类中心;以及根据所述均值点确定所述第一阈值以及所述第二阈值。
47.作为一种可选的示例,根据所述均值点确定所述第一阈值以及所述第二阈值,可以通过以下方式实现:计算所述均值点与所述目标数据集合当前包括的多个数据点中距离最近的数据点的第一距离,以及距离最远的数据点的第二距离;将所述第二距离与所述第一距离的差确定为所述第一阈值;将所述第二距离的一半确定为所述第二阈值。
48.作为一种可选的示例,根据所述均值点确定第一阈值以及第二阈值之后,如果删
除数据列表存在数据点,则将所述删除数据列表中数据点的个数除以所述目标数据集中数据点的个数,得到目标移除率,并在所述目标移除率小于或等于第二预设阈值的情况下,增大所述第二阈值;或者在删除数据列表存在数据点、目标列表中存在数据点、且所述删除数据列表与所述目标列表中数据点的个数之和与所述目标数据集中数据点的个数的比例小于第三预设阈值的情况下,增大所述第二阈值,其中,所述目标列表用于保存不同聚类中心对应的聚类簇中的数据点。
49.步骤s42:执行处理步骤:将所述多个数据点中距离所述聚类中心的距离小于第一阈值的数据点保存至所述聚类中心对应的聚类簇中;以及将所述多个数据点中距离所述聚类中心的距离小于第二阈值的数据点,和所述聚类中心从所述目标数据集中删除;
50.需要说明的是,在将所述多个数据点中距离所述聚类中心的距离小于或等于第二阈值的数据点,和所述聚类中心从所述目标数据集中删除之后,需要将从目标数据集中删除的点添加至删除数据列表。
51.步骤s43:确定所述目标数据集是否为空,在为空的情况下,执行步骤s44,否则循环执行步骤s41以及步骤s42;
52.步骤s44:将聚类中心列表中包括的多个聚类中心确定所述目标数量的初始聚类中心。
53.需要说明的是,上述步骤s41-步骤s44为对canopy算法的优化,传统的canopy算法是随机选取聚类中心点以及随机确定第一阈值以及第二阈值,而在本技术实施例中,将距离均值点最近的数据点作为聚类中心点,可尽量消除噪声点和孤立点对聚类效果的影响,并消除随机取点对聚类数k的影响;通过数据点到均值点的最远距离和最近距离确定第一阈值和阈值;并且还可以通过canopy聚类簇、删除数据列表中的元素个数、移除率(删除数据列表元素个数/目标数据集中元素个数)和聚类效果图调整第二阈值的大小。若前几次聚类的移除率太小,则增大第二阈值;若删除数据列表和canopy聚类簇中的数据点个数小于目标数据集个数的5%且增大第二阈值以后,聚类效果更佳,则增大第二阈值;最后,根据聚类效果图得出第二阈值的最终值并参与实验,得出合适的聚类数k。优化canopy算法实现了准确预判聚类的个数。
54.显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述数据聚类方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
55.由于k-means算法本身的性能十分依赖与初始聚类簇的数量k值以及初始聚类中心点的设立,以及对噪声敏感。进而为了解决k-means算法的这些问题,本可以提出以下方式:
56.方式一:通过改进后的canopy算法,为k-means算法先粗略生成k个聚类中心,进而k-means算法使用这k个聚类中心将大大减少其本身的迭代次数。
57.对于canopy算法,主要思想是把聚类分为两个过程:首先通过使用一个简单、快捷的距离计算方法将数据分为可重叠的子集,每个子集是一个“canopy”;然后通过使用一个精准、严密的距离计算方法计算出现阶段中同一个canopy的所有向量的距离.这种聚类方法使用了两种距离参与计算,由于只计算了重叠部分的数据向量,因此可达到减少计算量的目的。具体的,其本质上是根据t1(相当于上述实施例中的第一阈值)、t2(相当于上述实
施例中的第二阈值)两个参数确定簇和簇的中心点,大于t1会被认为是离本簇中心点过远,因而去除,小于t2会被认为离本簇的中心点过近,因此不适宜做另一个簇的中心点。通过这两点逻辑对数据集的每一个点进行筛选,首先会排除掉过于偏离的噪声点,同时,也会生成一定数量的相对距离较为合理的中心点。但是,canopy算法的缺点也很明显,当存在较多孤立点时,每个孤立点都将被作为一个聚类中心,从而导致算法效率的降低以及k-means算法中k值的增大。另外当输入数据的顺序发生变化时,canopy算法的结果也将改变,这导致了算法的不稳定性。
58.可选的,本技术实施例针对canopy算法在聚类数k值预判过程中的缺陷,对canopy算法进行优化,将优化重点放在选取特殊的聚类中心点和获取阈值t1,t2上。具体的:
59.(1)将距离数据均值点最近点作为聚类中心点,可尽量消除噪声点和孤立点对聚类效果的影响,并消除随机取点对聚类数k的影响。
60.(2)优化阈值获取方式.由于原始阈值t1,t2是通过任意取值得到的,因此通过优化阈值选取方式,可减少阈值选择的盲目性.阈值获取方式有多种:一是通过计算数据点到均值点的最远距离l1和最近距离l2确定t1和t2;二是通过canopy列表(相当于上述实施例中的目标列表)、移除列表(相当于上述实施例中的删除数据列表)中的元素个数、移除率(移除列表元素个数/总数据集中数据点的个数)和聚类效果图调整t2的大小。若前几次聚类的移除率太小,则增大t2;若移除列表和canopy列表中的数据点个数小于总数据集个数的5%且增大t2值后聚类效果更佳,则增大t2;最后,根据聚类效果图得出t2的最终值并参与实验,得出合适的聚类数k。优化canopy算法实现了准确预判聚类的个数。
61.为了更好的理解,以下具体说明,从阈值获取方式和初始聚类中心的选取两方面进行优化,阈值t1,t2的获取:
62.通过遍历所有数据,取所有数据点的均值点,计算均值点到所有数据点的距离,最远距离记作l1,最近距离记作l2,并将l1-l2赋值给t1,将l1/2赋值给t2;初始聚类中心通过选取与均值点最近的点得到。两方面的优化使预判出的聚类数k更准确。在阈值t1,t2获取过程中,t2是不断修订的,本实施例中需将删除率控制在一定范围内,删除率过大说明t2过大,删除率过小说明t2较小。
63.具体实现步骤如下:
64.步骤一:计算数据集的均值点,并将数据集中的数据点距离均值点的最远距离记作l1,最近距离记作l2,并将l1-l2赋值给t1,将l1/2赋值给t2;
65.步骤二:取距离均值点最近的数据点作为算法的聚类中心,计算该聚类中心与其他数据点之间的距离d;
66.步骤三:将d<t1的数据点划分到一个canopy中,同时移除数据集中d<t2的数据点,生成移除列表;
67.步骤四:根据聚类效果图、移除率和canopy列表、移除列表中的元素个数再次调整阈值t2;
68.步骤五:重复步骤二和步骤三,总数据集为空,算法结束。
69.需要说明的是,聚类分析是数据挖掘方法中的常用方法。如今,云计算已经得到了人们的广泛关注,而hadoop平台是一个可以开发和并行处理大数据的云计算平台。作为一种由分布式技术、网络计算机技术及并行技术发展而来的产物,hadoop可以说是一种为了
适应大规模数据存储以及计算而衍生出的模型构架。本实施例将对当前基于hadoop平台的k-means算法的各种优化方法进行综述,
70.具体的,提出了一种在hadoop平台下将canopy算法与k-means算法结合使用的优化思想,使用canopy算法对数据集进行预处理,得到k-means算法的k值,并且k值由得到的canopy个数决定。这种优化方式具有良好的加速比及可扩展性。具体的,针对k-means算法选择初始聚类中心的盲目性使用余弦相似度度量及canopy算法进行改善,并通过并行计算框架实现并行扩展。改进后的canopy算法的过程首先是进行阈值t1、t2的设定,并且t1要大于t 2;然后在数据集里随机选取中心点并且将与之距离不大于t1的数据点放入聚类中心对应的聚类簇。之后剔除数据集中与中心点距离不大于t2的数据点,循环至数据集为空。通过优化之后,在hadoop平台下通过map及reduce阶段获得全局canopy中心集合,并使用其进行粗糙聚类之后得到数个相互重叠的canopy聚类集合,将其作为下一步k-means初始聚类中心。所有对象到簇类中心距离是k-means算法每次迭代都必须计算的。优化之后,在处理海量数据时具有较好的聚类质量、加速比及扩展性。
71.方式二:由于k-means的具有以下缺点:
72.k值的选取不好把握;对于不是凸的数据集比较难收敛,如果各隐含类别的数据不平衡,比如各隐含类别的数据量严重失衡,或者各隐含类别的方差不同,则聚类效果不佳;初始聚类中心的选择;只能发现球状簇;means对噪音和异常点比较的敏感。
73.进而本技术实施例可以通过对k-means进行改进,具体的:
74.(1)先为k赋予一个适合的数值,通过一次k-means算法得到一次聚类中心。对于得到的聚类中心,根据得到的k个聚类的距离情况,合并距离最近的类,因此聚类中心数减小,当将其用于下次聚类时,相应的聚类数目也减小了,最终得到合适数目的聚类数。可以通过一个评判值来确定聚类数得到一个合适的位置停下来,而不继续合并聚类中心。重复上述循环,直至评判函数收敛为止,最终得到较优聚类数的聚类结果。
75.(2)对于离群点和孤立点敏感,通过去除离群点后再聚类,可以减少离群点和孤立点对于聚类效果的影响。
76.(3)首先随机选择一个点作为第一个初始类簇中心点,然后选择距离该点最远的那个点作为第二个初始类簇中心点,然后再选择距离前两个点的最近距离最大的点作为第三个初始类簇的中心点,以此类推,直至选出k个初始类簇中心点。这个时候我们可以选用层次聚类或者canopy算法进行初始聚类,然后利用这些类簇的中心点作为k-means算法初始类簇中心点。
77.方式三:hash算法引入,具体的,通过散列函数将任意长度输入转化为固定长度输出即为hash算法,也称为散列算法。对于海量高维数据在hadoop平台下使用k-means算法存在聚类效果不好的问题,提出了基于hash改进的并行化并在算法整体并行化时通过combine等机制改善执行效率及并行化程度的优化方案。通过hash改进的并行化方案的原理是将高维数据映射至压缩标识空间,进而实现聚类关系的挖掘以及初始聚类中心的选取。用hash算法进行初始聚类中心选取就是将不同相似度数据散列至不同的地址空间。对应地将相似度大的数据散列到同一地址空间。初始聚类中心就是选自最多同义词的k个地址空间。在实现并行化时,设计了3个独立运行的job作业链工作且上一job输出为下一输入。其中第1个job用于构造散列表,第2个则是计算初始聚类中心,第3用于完成对全部数据
的k-means聚类。这种优化对聚类稳定性及准确率都有很好的改善作用。
78.此外,本实施例利用mapreduce的编程模型,对canopy-kmeans算法的并行扩展以及应用进行了研究与探索,并基于“最小最大原则”解决了canopy选择的盲目性与随意性。且基于“最小最大原则”优化选取canopy方法较随机挑选canopy策略在聚类的总体运行时间、分类的准确性上均有所提高,基于mapreduce算法的实现使程序不受数据规模的影响,确保了算法的高可靠性。
79.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
80.在本实施例中还提供了一种数据聚类装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
81.图5是根据本发明实施例的数据聚类装置的结构框图,该装置包括:
82.获取模块52,用于获取待聚类的目标数据集;
83.确定模块54,用于确定所述目标数据集对应的目标数量的初始聚类中心,其中,所述目标数据集包括的多个数据点待划分至所述目标数量的聚类簇,所述聚类簇和所述初始聚类中心一一对应;
84.聚类模块56,用于指示目标算法通过所述目标数量的初始聚类中心对所述目标数据集进行聚类。
85.通过上述装置,由于在对待聚类的目标数据集进行聚类以前,确定了目标数据集对应的目标数量的初始聚类中心,减少了k-means的迭代次数,使得聚类效果较好,解决了k-means算法随机选取初始聚类中心进行聚类,导致迭代次数较多,聚类效果较差的问题。
86.在一个示例性的实施例中,确定模块54,还用于从所述目标数据集包括的多个数据点中随机确定第一数量的随机聚类中心;对所述第一数量的随机聚类中心循环进行多次聚类操作,直至聚类后的第二数量的随机聚类中心中任意两个随机聚类中心之间的距离大于第一预设阈值,其中,所述第一数量大于或等于所述第二数量,在对所述第一数量的随机聚类中心进行聚类操作的过程中,对于距离小于或等于所述第一预设阈值的两个随机聚类中心,将所述两个随机聚类中心对应的两个聚类簇进行合并,并确定合并后的聚类簇对应的随机聚类中心;将所述第二数量的随机聚类中心作为所述目标数量的初始聚类中心。
87.在一个示例性的实施例中,确定模块54,还用于在确定所述目标数据集对应n个聚类簇的情况下,从所述目标数据集包括的多个数据点中随机确定第一聚类中心;从所述目标数据集包括的多个数据点中确定距离所述第一聚类中心的距离最远的第二聚类中心;重复执行以下操作,直至确定所述n个聚类簇对应的n个聚类中心:从所述目标数据集包括的多个数据点中确定距离所述第一聚类中心、

第n-1聚类中心的距离之和最远的第n聚类中心;将确定的n个聚类中心确定为所述目标数量的初始聚类中心,其中,所述n个聚类中心包
括:所述第一聚类中心,所述第二聚类中心,

第n-1聚类中心,第n聚类中心;其中,所述n为正整数,所述n大于或等于3。
88.在一个示例性的实施例中,确定模块54,还用于循环执行确定步骤以及处理步骤,直至所述目标数据集为空,并在目标数据集为空的情况下,将聚类中心列表中包括的多个聚类中心确定所述目标数量的初始聚类中心;确定步骤:确定所述目标数据集当前包括的多个数据点对应的聚类中心、第一阈值以及第二阈值,并将所述聚类中心保存至所述聚类中心列表,其中,所述第一阈值大于第二阈值;处理步骤:将所述多个数据点中距离所述聚类中心的距离小于第一阈值的数据点保存至所述聚类中心对应的聚类簇中;以及将所述多个数据点中距离所述聚类中心的距离小于第二阈值的数据点,和所述聚类中心从所述目标数据集中删除;
89.在一个示例性的实施例中,确定模块54,还用于确定所述目标数据集当前包括的多个数据点的均值点;将所述多个数据点中距离所述均值点最近的数据点确定为所述聚类中心;以及根据所述均值点确定所述第一阈值以及所述第二阈值。
90.在一个示例性的实施例中,确定模块54,还用于计算所述均值点与所述目标数据集合当前包括的多个数据点中距离最近的数据点的第一距离,以及距离最远的数据点的第二距离;将所述第二距离与所述第一距离的差确定为所述第一阈值;将所述第二距离的一半确定为所述第二阈值。
91.在一个示例性的实施例中,确定模块54,还用于在删除数据列表存在数据点的情况下,将所述删除数据列表中数据点的个数除以所述目标数据集中数据点的个数,得到目标移除率,并在所述目标移除率小于或等于第二预设阈值的情况下,增大所述第二阈值;其中,在将所述多个数据点中距离所述聚类中心的距离小于或等于第二阈值的点,和所述聚类中心从所述目标数据集中删除之后,将从所述目标数据集中删除的数据点添加至所述删除数据列表;或者在所述删除数据列表存在数据点,目标列表中存在数据点,且所述删除数据列表与所述目标列表中数据点的个数之和与所述目标数据集中数据点的个数的比例小于第三预设阈值的情况下,增大所述第二阈值,其中,所述目标列表用于保存不同聚类中心对应的聚类簇中的数据点。
92.本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
93.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
94.s1,获取待聚类的目标数据集;
95.s2,确定所述目标数据集对应的目标数量的初始聚类中心,其中,所述目标数据集包括的多个数据点待划分至所述目标数量的聚类簇,所述聚类簇和所述初始聚类中心一一对应;
96.s3,指示目标算法通过所述目标数量的初始聚类中心对所述目标数据集进行聚类。
97.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为
ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
98.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
99.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
100.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
101.s1,获取待聚类的目标数据集;
102.s2,确定所述目标数据集对应的目标数量的初始聚类中心,其中,所述目标数据集包括的多个数据点待划分至所述目标数量的聚类簇,所述聚类簇和所述初始聚类中心一一对应;
103.s3,指示目标算法通过所述目标数量的初始聚类中心对所述目标数据集进行聚类。
104.在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
105.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
106.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
107.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献