聚类方法、装置、计算机设备和存储介质与流程

文档序号:32213004发布日期:2022-11-16 06:39阅读:80来源:国知局
聚类方法、装置、计算机设备和存储介质与流程

1.本技术涉及软件技术领域,特别是涉及一种聚类方法、装置、计算机设备和存储介质。


背景技术:

2.随着计算机的不断发展,各行各业所产生的数据越来越多。聚类分析算法是用于对数据进行挖掘的一种重要算法。聚类算法需要对事先未定义类别的一组数据集进行分类得到类型簇,保证一个类型簇中的数据点之间存在相似性,不同类型簇中的数据点之间存在差异性。
3.目前的聚类算法的分类思想过于单一,导致聚类结果也具有单一性。比如,通过密度进行聚类的聚类算法是将密度相近的样本区域连接在一起成为一个类簇,最终所得到的类簇只是一些密度相近的类簇,即所得到的聚类结果具有一定的单一性,不够丰富,导致聚类结果不够准确。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高聚类结果准确性的聚类方法、装置、计算机设备、存储介质和计算机程序产品。
5.第一方面,本技术提供了一种聚类方法。所述方法包括:
6.获取类簇密度相关属性;
7.从待聚类的数据点集中筛选符合所述类簇密度相关属性的中心点;
8.从筛选出的中心点中确定当前中心点,针对所述当前中心点按照第一扩展半径进行扩展得到初始类簇;
9.基于最小扩增数量阈值对所述初始类簇再次进行半径扩展,得到与所述当前中心点对应的目标类簇;
10.从筛选出的中心点中确定新的当前中心点,返回执行所述针对所述当前中心点按照第一扩展半径进行扩展得到初始类簇以迭代聚类,直至针对所述数据点集中选取的各个中心点聚类处理完毕。
11.第二方面,本技术还提供了一种聚类装置。所述装置包括:
12.中心点确定模块,用于获取类簇密度相关属性;从待聚类的数据点集中筛选符合所述类簇密度相关属性的中心点;
13.聚类模块,用于从筛选出的中心点中确定当前中心点,针对所述当前中心点按照第一扩展半径进行扩展得到初始类簇;基于最小扩增数量阈值对所述初始类簇再次进行半径扩展,得到与所述当前中心点对应的目标类簇;
14.迭代模块,用于从筛选出的中心点中确定新的当前中心点,返回执行所述针对所述当前中心点按照第一扩展半径进行扩展得到初始类簇以迭代聚类,直至针对所述数据点集中选取的各个中心点聚类处理完毕。
15.在其中一个实施例中,在对所述数据点集中选取的各个中心点聚类处理完毕之后,所述迭代模块还用于往减小类簇密度的方向调整所述类簇密度相关属性,将未被划入所述目标类簇的数据点的集合作为新的待聚类的数据点集,重新返回执行所述从待聚类的数据点集中筛选符合所述类簇密度相关属性的中心点及后续步骤,直至满足参数调整停止条件后停止迭代。
16.在其中一个实施例中,所述参数调整停止条件包括以下任意一种:未被划分到目标类簇中的剩余数据点的数量占比小于预设阈值;调整所述类簇密度相关属性的次数达到预设调整次数阈值。
17.在其中一个实施例中,所述类簇密度相关属性包括类簇数据点数量和类簇数据点密度;所述类簇数据点数量是类簇中的数据点的数量;所类簇数据点密度是类簇中的数据点的密度;所述迭代模块还用于减小所述类簇数据点数量和所述类簇数据点密度中的至少一种。
18.在其中一个实施例中,筛选出的中心点是符合类簇密度相关属性的潜在类簇的中心点;所述聚类模块还用于计算每个筛选出的中心点的密度值;所述密度值是基于在所述中心点所属潜在类簇中的数据点与所述中心点的距离计算得到;将所述密度值最大的中心点作为当前中心点。
19.在其中一个实施例中,所述聚类模块还用于以所述初始类簇作为待扩展的类簇,按照第二扩展半径进行扩展;若扩展后的类簇所增加的数据点大于或等于所述最小扩增数量阈值,则确认扩展有效,将扩展后的类簇重新作为待扩展的类簇,返回执行所述按照第二扩展半径进行扩展的步骤;若扩展后的类簇所增加的数据点不满足所述最小扩增数量阈值,则停止扩展,将最后一次扩展前的类簇作为所述当前中心点对应的目标类簇。
20.在其中一个实施例中,所述聚类模块还用于若扩展次数达到预设扩展轮次,则停止扩展,并将最后一次扩展后的类簇作为所述当前中心点对应的目标类簇。
21.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行上述聚类方法的步骤。
22.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述聚类方法的步骤。
23.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行上述聚类方法的步骤。
24.上述聚类方法、装置、计算机设备、存储介质和计算机程序产品,通过获取类簇密度相关属性。从待聚类的数据点集中筛选符合所述类簇密度相关属性的中心点。从筛选出的中心点中确定当前中心点,针对所述当前中心点按照第一扩展半径进行扩展得到初始类簇。基于最小扩增数量阈值对所述初始类簇再次进行半径扩展,得到与所述当前中心点对应的目标类簇。这样,所得到的目标类簇可以是非球状的类簇。从筛选出的中心点中确定新的当前中心点,返回执行所述针对所述当前中心点按照第一扩展半径进行扩展得到初始类簇以迭代聚类,直至针对所述数据点集中选取的各个中心点聚类处理完毕。这样,本方法在中心点的确认,初始类簇的生成和目标类簇的生成这三个环节使用了具有不同维度的判断条件,不再是单一地从某一个角度进行聚类,从而提高了聚类结果的准确性。
附图说明
25.图1为一个实施例中聚类方法的应用环境图;
26.图2为一个实施例中聚类方法的流程示意图;
27.图3为一个实施例中聚类方法的流程示意图;
28.图4为一个实施例中聚类方法的原理示意图;
29.图5为一个实施例中聚类装置的结构框图;
30.图6为一个实施例中计算机设备的内部结构图;
31.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
32.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
33.本技术实施例提供的聚类方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行通信。数据存储系统可以存储服务器120需要处理的数据。数据存储系统可以集成在服务器120上,也可以放在云上或其他网络服务器上。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
34.终端110可以将待聚类的数据点集发送给服务器120。服务器获取类簇密度相关属性,从待聚类的数据点集中筛选符合类簇密度相关属性的中心点。服务器120从筛选出的中心点中确定当前中心点,针对当前中心点按照第一扩展半径进行扩展得到初始类簇。基于最小扩增数量阈值对初始类簇再次进行半径扩展,得到与当前中心点对应的目标类簇。服务器120从筛选出的中心点中确定新的当前中心点,返回执行针对当前中心点按照第一扩展半径进行扩展得到初始类簇以迭代聚类,直至针对数据点集中选取的各个中心点聚类处理完毕。服务器120可以将聚类结果发送给终端110。
35.在一个实施例中,服务器120也可以由终端替代,对此不限定。
36.在一个实施例中,如图2所示,提供了一种聚类方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
37.s202,获取类簇密度相关属性;从待聚类的数据点集中筛选符合类簇密度相关属性的中心点。
38.其中,类簇密度相关属性是用于表征类簇的密度的属性。比如,可以由类簇中数据点的数量和类簇中数据点的距离来表征类簇的密度,即类簇密度相关属性可以是类簇中数据点的数量和类簇中数据点的距离。
39.具体地,服务器获取类簇密度相关属性,针对待聚类的数据点集中的每个数据点,判断该数据点若作为类簇的中心点时,所在的类簇的密度是否符合类簇密度相关属性。若符合,则确认该数据点是符合类簇密度相关属性的中心点。这样,服务器就可以筛选出符合类簇密度相关属性的至少一个中心点。
40.s204,从筛选出的中心点中确定当前中心点,针对当前中心点按照第一扩展半径
进行扩展得到初始类簇;基于最小扩增数量阈值对初始类簇再次进行半径扩展,得到与当前中心点对应的目标类簇。
41.其中,最小扩增数量阈值是扩展之后的类簇相较于扩展之前的类簇所增加的数据点的数量的最小值。半径扩展是指按照预设的半径范围进行扩展。
42.具体地,服务器从筛选出的中心点中确定当前中心点。服务器针对当前中心点按照第一扩展半径进行扩展得到初始类簇。服务器对初始类簇再次进行半径扩展,并计算扩展之后的类簇相较于扩展之前的类簇所增加的数据点的扩增数量。服务器将该扩增数量和最小扩增数量阈值做比对,基于比对结果得出与当前中心点对应的目标类簇。可以理解,这样的目标类簇可以是一个非球状类簇,从而达到拟合非球状数据分布的目的。
43.在一个实施例中,服务器可以计算每个筛选出的中心点可形成的类簇的密度,根据各个中心点的密度值选择出密度值最大的中心点作为当前中心点。
44.在一个实施例中,服务器可以计算对初始类簇进行半径扩展之后和扩展之前的所增加的数据点的扩增数量,在扩展数量大于最小扩增数量阈值的情况下,对扩展后的类簇再次进行半径扩展,直至扩展数量小于等于最小扩展数量阈值。
45.在一个实施例中,服务器可以根据预设扩展轮次,限制对初始类簇进行半径扩展的次数。
46.s206,从筛选出的中心点中确定新的当前中心点,返回执行针对当前中心点按照第一扩展半径进行扩展得到初始类簇以迭代聚类,直至针对数据点集中选取的各个中心点聚类处理完毕。
47.具体地,服务器从筛选出的中心点中确定新的当前中心点,返回执行针对当前中心点按照第一扩展半径进行扩展得到初始类簇以迭代聚类,直至针对数据点集中选取的各个中心点聚类处理完毕。可以理解,新的当前中心点不包括已经执行聚类处理过的中心点,也不包括被划入到目标类簇中的数据点。对各个中心点的聚类处理可以是将中心点作为初始类簇的中心点以进行聚类,也可以在半径扩展中将中心点划入其它目标类簇。
48.在一个实施例中,在对数据点集中选取的各个中心点聚类处理完毕之后,服务器可以往减小类簇密度的方向调整类簇密度相关属性,以得到密度更小的目标类簇,从而提高聚类结果中类簇密度的多样性。
49.在一个实施例中,服务器通过减小类簇数据点数量或类簇数据点密度以减小类簇的密度。
50.上述聚类方法,通过获取类簇密度相关属性。从待聚类的数据点集中筛选符合类簇密度相关属性的中心点。从筛选出的中心点中确定当前中心点,针对当前中心点按照第一扩展半径进行扩展得到初始类簇。基于最小扩增数量阈值对初始类簇再次进行半径扩展,得到与当前中心点对应的目标类簇。这样,所得到的目标类簇可以是非球状的类簇。从筛选出的中心点中确定新的当前中心点,返回执行针对当前中心点按照第一扩展半径进行扩展得到初始类簇以迭代聚类,直至针对数据点集中选取的各个中心点聚类处理完毕。这样,本方法在中心点的确认,初始类簇的生成和目标类簇的生成这三个环节使用了具有不同维度的判断条件,不再是单一地从某一个角度进行聚类,从而提高了聚类结果的准确性。并且,本方法在聚类过程中,不需要指定类簇数量,而是动态生成目标类簇,提高了聚类灵活性。本方法针对初始类簇再次半径扩展得到目标类簇,从而在一定程度上拟合非球状分
布。
51.在一个实施例中,在对数据点集中选取的各个中心点聚类处理完毕之后,方法还包括:往减小类簇密度的方向调整类簇密度相关属性,将未被划入目标类簇的数据点的集合作为新的待聚类的数据点集,重新返回执行从待聚类的数据点集中筛选符合类簇密度相关属性的中心点及后续步骤,直至满足参数调整停止条件后停止迭代。
52.具体地,服务器往减小类簇密度的方向调整类簇密度相关属性,并将未被划入目标类簇的数据点的集合作为新的待聚类的数据点集,重新返回执行从待聚类的数据点集中筛选符合类簇密度相关属性的中心点及后续步骤,直至满足参数调整停止条件后停止迭代。可以理解,服务器在调整类簇密度相关属性后,可以获取到新的符合新的类簇密度相关属性的中心点,并以这些新的中心点重复执行步骤s204和步骤s206。
53.在本实施例中,通过调整类簇密度相关属性,得到新的中心点后再次筛选并进行半径扩展得到对应的目标类簇,使得服务器可以获取具有不同密度的类簇,从而提高聚类结果中类簇密度的多样性。服务器可以根据类簇的密度,得出类簇对应的聚类结果的准确率。比如,当类簇用于挖掘意图时,类簇密度高的,对应的意图准确率更高。这样,服务器可以得到多个类簇以及各自对应的准确率,从而细化聚类结果,以提高聚类结果的准确性。
54.在一个实施例中,参数调整停止条件包括以下任意一种:未被划分到目标类簇中的剩余数据点的数量占比小于预设阈值;调整类簇密度相关属性的次数达到预设调整次数阈值。
55.具体地,在调整类簇密度相关属性以迭代处理的过程中,服务器确认在每次迭代过程中未被划分到目标类簇中的剩余数据点的数量。若该数量小于预设阈值,则停止迭代。服务器还可以记录调整类簇密度相关属性的次数,在该次数达到预设调整次数阈值的情况下,服务器停止迭代。
56.在本实施例中,在未被划分到目标类簇中的剩余数据点的数量占比小于预设阈值的情况下,服务器停止迭代。服务器还可以在调整类簇密度的次数达到预设调整次数阈值的情况下,停止迭代。这样,避免了对类簇扩展过程中减小了类簇的密度,以得到符合密度指标的类簇,从而提高了聚类结果的准确性。
57.在一个实施例中,类簇密度相关属性包括类簇数据点数量和类簇数据点密度;类簇数据点数量是类簇中的数据点的数量;类簇数据点密度是类簇中的数据点的密度;往减小类簇密度的方向调整类簇密度相关属性包括:减小类簇数据点数量和类簇数据点密度中的至少一种。
58.具体地,类簇密度相关属性包括类簇数据点数量和类簇数据点密度;类簇数据点数量是类簇中的数据点的数量;类簇数据点密度是类簇中的数据点的密度。服务器可以通过减小类簇数据点数量和类簇数据点密度中的至少一种来调整类簇密度相关属性,使得减小类簇密度。
59.在一个实施中,服务器可以按照预设的密度衰减步长来减小类簇数据点数量和类簇数据点密度。
60.在本实施例中,通过减小类簇数据点数量和类簇数据点密度中的至少一种来调整类簇密度相关属性,使得减小类簇密度。这样,服务器就可以获取不同类簇密度的类簇,提高聚类结果中类簇密度的多样性。
61.在一个实施例中,筛选出的中心点是符合类簇密度相关属性的潜在类簇的中心点;从筛选出的中心点中确定当前中心点包括:计算每个筛选出的中心点的密度值;密度值是基于在中心点所属潜在类簇中的数据点与中心点的距离计算得到;将密度值最大的中心点作为当前中心点。
62.其中,潜在类簇是评估出来的类簇,不是聚类后的类簇。
63.具体地,筛选出的中心点是符合类簇密度相关属性的潜在类簇的中心点。服务器可以计算每个筛选出的中心点的密度值。其中,密度值是基于在中心点所属潜在类簇中的数据点与中心点的距离计算得到。服务器将密度值最大的中心点作为当前中心点。可以理解,服务器在迭代过程中优先选择密度值最大的中心点作为当前中心点。这样,服务器就按照密度由大到小的顺序,对各个中心点进行聚类处理,得到密度值由大到小的初始类簇。
64.在一个实施例中,服务器可以计算在中心点所属潜在类簇中的各个数据点与中心点的距离方差,并基于该距离方差得到中心点的密度值。可以理解,距离方差越大,对应的密度值越小。可以将距离方差的倒数作为中心点的密度值,对此不做限定。
65.在本实施例中,通过计算中心点的密度值,并选择密度值最大的中心点作为当前中心点。这样,服务器得到的初始类簇的密度值由大到小,从而提高聚类结果的准确性和多样性。
66.在一个实施例中,基于最小扩增数量阈值对初始类簇再次进行半径扩展,得到与当前中心点对应的目标类簇包括:以初始类簇作为待扩展的类簇,按照第二扩展半径进行扩展;若扩展后的类簇所增加的数据点大于或等于最小扩增数量阈值,则确认扩展有效,将扩展后的类簇重新作为待扩展的类簇,返回执行按照第二扩展半径进行扩展的步骤;若扩展后的类簇所增加的数据点不满足最小扩增数量阈值,则停止扩展,将最后一次扩展前的类簇作为当前中心点对应的目标类簇。
67.具体地,服务器在生成初始类簇后,以初始类簇作为待扩展的类簇,按照第二扩展半径进行扩展,并计算扩展之后和扩展之前类簇所增加的数据点数量。若扩展后的类簇所增加的数据点数量大于或等于最小扩增数量阈值,则确认扩展有效,将扩展后的类簇重新作为待扩展的类簇,返回执行按照第二扩展半径进行扩展的步骤。若扩展后的类簇所增加的数据点数量不满足最小扩增数量阈值,则停止扩展,将最后一次扩展前的类簇作为当前中心点对应的目标类簇。
68.在一个实施例中,第二扩展半径小于第一扩展半径。
69.在一个实施例中,在针对同一个初始类簇,使用同一个第二扩展半径进行多次半径扩展的情况下,最小扩增数量阈值随着扩展次数的增加而增加。比如,第二次半径扩展的最小扩增数量为100,第三次半径扩展的最小扩增数量为150。可以理解,由于第n+1次半径扩展比第n词半径扩展的区域范围更广,若最小扩增数量阈值随着扩展次数的增加而增加,可以保证第n+1次半径扩展后的类簇的密度相较于第n词半径扩展后的类簇的密度不会有较大下降的可能。
70.在另一个实施例中,在针对同一个初始类簇,使用同一个最小扩增数量阈值进行多次半径扩展的情况下,第二扩展半径随着扩展次数增加而减少。比如,第二次半径扩展所使用的第二扩展半径为100,第三次半径扩展所使用的第二扩展半径为80。可以理解,由于第n+1次半径扩展所使用的第二扩展半径比第n次半径扩展所使用的第二扩展半径更小,使
得在使用同一个最小扩增数量阈值的情况下,保证第n+1次半径扩展后的类簇的密度相较于第n词半径扩展后的类簇的密度不会有较大下降的可能。
71.在本实施中,对类簇按照第二扩展半径进行扩展,并使用最小扩增数量阈值来限定对类簇的扩展有效性,避免扩展后的类簇的密度降低,从而提高了聚类结果的准确性。
72.在一个实施例中,方法还包括:若扩展次数达到预设扩展轮次,则停止扩展,并将最后一次扩展后的类簇作为当前中心点对应的目标类簇。
73.具体地,服务器在对初始类簇按照第二扩展半径进行多次扩展的过程中,计算扩展次数。若扩展次数达到预设扩展轮次,则停止扩展,并将最后一次扩展后的类簇作为当前中心点对应的目标类簇。
74.在本实施例中,通过对扩展次数做限定,从而避免得到过于庞大的目标类簇,以提高聚类结果的准确性。
75.可以理解,本方法共使用了类簇密度相关属性、第一扩展半径、第二扩展半径、类簇密度衰减步长、用于判断是否停止聚类的对剩余数据点数量做比较的预设阈值以及扩展次数等参数,从而使得本方法可以灵活的调整这些聚类参数来完成聚类。这些聚类参数业务相关性强,不需要根据数据的不同做改动,只需要基于不同的用于生成数据点所表征的向量的向量化方法来调整聚类参数,从而降低了调整聚类参数的成本。比如,第一向量化方法所得到的两个向量之间的距离为10,第二向量化方法所得到的两个向量之间的距离为18,这两个距离虽然不同,但可以表示相同的相似度,则可以根据不同的向量化方法调整聚类参数中的第一扩展半径。
76.在一个实施例中,如图3所示,展示了聚类方法的流程图。具体地,服务器初始化类簇密度相关属性后,从待聚类的数据点集中筛选符合类簇密度相关属性的中心点。服务器从筛选出的中心点中确定当前中心点,针对当前中心点按照第一扩展半径进行扩展得到初始类簇。服务器基于最小扩增数量阈值对初始类簇再次进行半径扩展,得到与当前中心点对应的目标类簇。服务器判断是否还有未处理的中心点,若有,则继续从筛选出的中心点中确定新的当前中心点,返回执行针对当前中心点按照第一扩展半径进行扩展得到初始类簇以迭代聚类。在中心点聚类处理完毕之后,服务器判断是否满足参数停止条件,若不满足,则往减小类簇密度的方向调整类簇密度相关属性,将未被划入目标类簇的数据点的集合作为新的待聚类的数据点集,重新返回执行从待聚类的数据点集中筛选符合类簇密度相关属性的中心点及后续步骤。在满足参数调整停止条件后,服务器输出聚类结果和噪音数据。其中,噪音数据是指未被划入目标类簇的数据点。参数调整停止条件可以是未被划分到目标类簇中的剩余数据点的数量占比小于预设阈值,或调整类簇密度相关属性的次数达到预设调整次数阈值。
77.在一个实施例中,如图4所示,展示了聚类方法的原理示意图。具体地,服务器获取到待聚类的数据点集。服务器获取第一类簇密度相关属性,从待聚类的数据点集中筛选符合第一类簇密度相关属性的多个第一中心点。服务器计算每个筛选出的多个第一中心点的密度值,将密度值最大的第一中心点作为当前第一中心点。服务器针对当前第一中心点按照第一扩展半径进行扩展得到第一初始类簇。服务器基于最小扩增数量阈值对第一初始类簇按照第二扩展半径进行扩展,得到第一目标类簇。可以理解,对第一初始类簇可以多次按照第二扩展半径进行扩展以得到第一目标类簇。跟当前第一中心点的处理步骤相似,服务
器可以筛选出新的第二当前中心点,执行针对当前第二中心点按照第一扩展半径进行扩展得到第二初始类簇、以及相对于第二初始类簇的第二目标类簇。在多个第一中心处理完毕之后,服务器可以往减小类簇密度的方向调整第一类簇密度相关属性得到第二类簇密度相关属性,从未被划入第一、第二目标类簇的数据点的集合、即剩余未聚类的数据点集筛选出符合第二类簇密度相关属性的多个第二中心点。与多个第一中心的处理步骤相似,服务器可以获取到第三目标类簇和第四目标类簇。可以理解,本实施例只是一个举例,服务器可以继续调整类簇密度相关属性,重新筛选符合调整后的类簇密度相关属性的新的中心点及后续步骤,直至满足参数调整停止条件后停止迭代。服务器可以执行本方法得到多种不同类簇密度的类簇,且类簇是基于密度和半径这两个因素得出的,从而提高了本方法聚类结果的多样性。可以理解,在本实施例中第一类簇密度相关属性和第二类簇密度相关属性是对迭代过程中不同的类簇密度相关属性的区分化表述,本方法不限定于使用第一和第二类簇密度相关属性。
78.应该理解的是,虽然本技术部分实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
79.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的聚类方法的聚类装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个聚类装置实施例中的具体限定可以参见上文中对于聚类方法的限定,在此不再赘述。
80.在一个实施例中,如图5所示,提供了一种聚类装置500,包括:中心点确定模块502、聚类模块504和迭代模块506,其中:
81.中心点确定模块502,用于获取类簇密度相关属性;从待聚类的数据点集中筛选符合类簇密度相关属性的中心点。
82.聚类模块504,用于从筛选出的中心点中确定当前中心点,针对当前中心点按照第一扩展半径进行扩展得到初始类簇;基于最小扩增数量阈值对初始类簇再次进行半径扩展,得到与当前中心点对应的目标类簇。
83.迭代模块506,用于从筛选出的中心点中确定新的当前中心点,返回执行针对当前中心点按照第一扩展半径进行扩展得到初始类簇以迭代聚类,直至针对数据点集中选取的各个中心点聚类处理完毕。
84.在一个实施例中,在对数据点集中选取的各个中心点聚类处理完毕之后,迭代模块506还用于往减小类簇密度的方向调整类簇密度相关属性,将未被划入目标类簇的数据点的集合作为新的待聚类的数据点集,重新返回执行从待聚类的数据点集中筛选符合类簇密度相关属性的中心点及后续步骤,直至满足参数调整停止条件后停止迭代。
85.在一个实施例中,参数调整停止条件包括以下任意一种:未被划分到目标类簇中的剩余数据点的数量占比小于预设阈值;调整类簇密度相关属性的次数达到预设调整次数
阈值。
86.在一个实施例中,类簇密度相关属性包括类簇数据点数量和类簇数据点密度;类簇数据点数量是类簇中的数据点的数量;所类簇数据点密度是类簇中的数据点的密度;迭代模块506还用于减小类簇数据点数量和类簇数据点密度中的至少一种。
87.在一个实施例中,筛选出的中心点是符合类簇密度相关属性的潜在类簇的中心点;聚类模块504还用于计算每个筛选出的中心点的密度值;密度值是基于在中心点所属潜在类簇中的数据点与中心点的距离计算得到;将密度值最大的中心点作为当前中心点。
88.在一个实施例中,聚类模块504还用于以初始类簇作为待扩展的类簇,按照第二扩展半径进行扩展;若扩展后的类簇所增加的数据点大于或等于最小扩增数量阈值,则确认扩展有效,将扩展后的类簇重新作为待扩展的类簇,返回执行按照第二扩展半径进行扩展的步骤;若扩展后的类簇所增加的数据点不满足最小扩增数量阈值,则停止扩展,将最后一次扩展前的类簇作为当前中心点对应的目标类簇。
89.在一个实施例中,聚类模块504还用于若扩展次数达到预设扩展轮次,则停止扩展,并将最后一次扩展后的类簇作为当前中心点对应的目标类簇。
90.上述聚类装置,通过获取类簇密度相关属性。从待聚类的数据点集中筛选符合类簇密度相关属性的中心点。从筛选出的中心点中确定当前中心点,针对当前中心点按照第一扩展半径进行扩展得到初始类簇。基于最小扩增数量阈值对初始类簇再次进行半径扩展,得到与当前中心点对应的目标类簇。这样,所得到的目标类簇可以是非球状的类簇。从筛选出的中心点中确定新的当前中心点,返回执行针对当前中心点按照第一扩展半径进行扩展得到初始类簇以迭代聚类,直至针对数据点集中选取的各个中心点聚类处理完毕。这样,本方法在中心点的确认,初始类簇的生成和目标类簇的生成这三个环节使用了具有不同维度的判断条件,不再是单一地从某一个角度进行聚类,从而提高了聚类结果的多样性。
91.关于上述聚类装置的具体限定可以参见上文中对于上述聚类方法的限定,在此不再赘述。上述聚类装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
92.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待聚类的数据点数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种聚类方法。
93.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供
计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种聚类方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
94.本领域技术人员可以理解,图6和图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
95.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
96.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
97.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
98.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
99.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
100.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
101.以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1