CN113065597A - 一种聚类方法、装置、设备及存储介质 - Google Patents
一种聚类方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113065597A CN113065597A CN202110363314.8A CN202110363314A CN113065597A CN 113065597 A CN113065597 A CN 113065597A CN 202110363314 A CN202110363314 A CN 202110363314A CN 113065597 A CN113065597 A CN 113065597A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- neighborhood
- preset
- target
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种聚类方法、装置、设备及存储介质。该方法包括:获取待处理数据集,并基于预设排序算法对所述待处理数据集中的待处理数据进行排序,得到排序数据集;将所述排序数据集中满足预设选取规则的待处理数据作为目标待处理数据,并根据所述排序数据集中各待处理数据对应的排序结果,确定与所述目标待处理数据对应的邻域待处理数据;如果所述邻域待处理数据的数量超过预设密度阈值,则将所述目标待处理数据作为核心数据,并基于所述核心数据和所述邻域待处理数据,确定聚类数据集。本发明实施例解决了线性扫描方法搜索域大的问题,降低了算法的空间复杂度,提高了算法执行效率。
Description
技术领域
本发明实施例涉及样本聚类技术领域,尤其涉及一种聚类方法、装置、设备及存储介质。
背景技术
聚类分析算法是研究样品或指标分类问题的一种统计分析方法,同时也是用于数据挖掘的一种重要算法。聚类算法需要对事先未定义类别的一组数据集进行分类得到类型簇,保证一个类型簇中的数据点之间存在相似性,不同类型簇中的数据点之间存在差异性。
现有聚类算法大多通过计算数据点之间的距离对数据点进行分类,将距离满足预设距离阈值的至少一个数据点作为一个类型簇。计算数据点之间的距离主要采用线性扫描法和构建数据索引法两种方法。
在实现本发明的过程中,发现现有技术中至少存在以下技术问题:
线性扫描方法需要通过穷举搜索数据集中每个数据点到当前数据点之间的距离,当数据集较大时会大大提高计算成本和降低计算效率。构建数据索引方法中索引树的构建算法复杂,增加了聚类算法的空间复杂度。
发明内容
本发明实施例提供了一种聚类方法、装置、设备及存储介质,以降低聚类算法的搜索域以及空间复杂度,提高聚类算法的执行效率。
第一方面,本发明实施例提供了一种聚类方法,该方法包括:
获取待处理数据集,并基于预设排序算法对所述待处理数据集中的待处理数据进行排序,得到排序数据集;
将所述排序数据集中满足预设选取规则的待处理数据作为目标待处理数据,并根据所述排序数据集中各待处理数据对应的排序结果,确定与所述目标待处理数据对应的邻域待处理数据;其中,所述邻域待处理数据与所述目标待处理数据之间的数据距离小于预设半径;
如果所述邻域待处理数据的数量超过预设密度阈值,则将所述目标待处理数据作为核心数据,并基于所述核心数据和所述邻域待处理数据,确定聚类数据集。
第二方面,本发明实施例还提供了一种聚类装置,该装置包括:
排序数据集确定模块,用于获取待处理数据集,并基于预设排序算法对所述待处理数据集中的待处理数据进行排序,得到排序数据集;
邻域待处理数据确定模块,用于将所述排序数据集中满足预设选取规则的待处理数据作为目标待处理数据,并根据所述排序数据集中各待处理数据对应的排序结果,确定与所述目标待处理数据对应的邻域待处理数据;其中,所述邻域待处理数据与所述目标待处理数据之间的数据距离小于预设半径;
聚类数据集确定模块,用于如果所述邻域待处理数据的数量超过预设密度阈值,则将所述目标待处理数据作为核心数据,并基于所述核心数据和所述邻域待处理数据,确定聚类数据集。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述所涉及的任一所述的聚类方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行上述所涉及的任一所述的聚类方法。
上述发明中的实施例具有如下优点或有益效果:
本发明实施例通过对待处理数据集进行排序得到排序数据集,并基于排序数据集中各待处理数据对应的排序结果,确定与目标待处理数据对应的邻域待处理数据,通过对邻域待处理数据的数量进行判断确定聚类数据集,解决了线性扫描方法搜索域大的问题,降低了聚类算法的空间复杂度,从而提高了算法执行效率。
附图说明
图1是本发明实施例一提供的一种聚类方法的流程图;
图2是本发明实施例一提供的一种聚类数据集的示意图;
图3是本发明实施例二提供的一种聚类方法的流程图;
图4是本发明实施例二提供的一种两种聚类方法的算法时间的对比图;
图5是本发明实施例三提供的一种聚类装置的示意图;
图6是本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种聚类方法的流程图,本实施例可适用于对样本数据进行聚类分析的情况,该方法可以由聚类装置来执行,该装置可采用软件和/或硬件的方式实现,该装置可以配置于终端设备中,示例性的,终端设备可以是移动终端、笔记本电脑、台式机、服务器和平板电脑等智能终端。
具体包括如下步骤:
S110、获取待处理数据集,并基于预设排序算法对待处理数据集中的待处理数据进行排序,得到排序数据集。
其中,待处理数据集为后续进行聚类分析的数据集。示例性的,待处理数据集可以是一维数据集,当然,也可以是多维数据集。举例而言,在选择快递网点地理位置的场景中,一维待处理数据集中的待处理数据均为一维待处理数据,如用户的地理位置。多维待处理数据集中的待处理数据均为多维待处理数据,如一个待处理数据包含用户的地理位置、用户的特征信息和用户的购买信息等等。
在一个实施例中,当待处理数据集为一维数据集时,则基于预设一维排序算法对待处理数据集中的一维待处理数据进行排序。示例性的,预设一维排序算法包括但不限于冒泡排序算法、插入排序算法、计数排序算法、桶排序算法、基数排序算法、快速排序算法、希尔排序算法、归并排序算法和堆排序算法等等。
在另一个实施例中,当待处理数据集为多维数据集时,基于预设排序算法对待处理数据集中的待处理数据进行排序,包括:基于预设一维排序算法对其中一个维度的数据对待处理数据集进行排序;或者,对待处理数据集中的待处理数据进行降维处理,得到一维数据集,基于预设一维排序算法对一维数据集中的一维数据进行排序;或者,基于预设多维排序算法对待处理数据集中的待处理数据进行排序。
S120、将排序数据集中满足预设选取规则的待处理数据作为目标待处理数据,并根据排序数据集中各待处理数据对应的排序结果,确定与目标待处理数据对应的邻域待处理数据。
其中,示例性的,预设选取规则可以是当聚类初始化时,在排序数据集中随机选择一个待处理数据作为目标待处理数据,当存在至少一个聚类数据集时,则在排序数据集中随机选择一个不属于任何一个聚类数据集的待处理数据作为目标待处理数据。当然,预设选取规则也可以是在不属于任何一个聚类数据集的待处理数据中,选择最大待处理数据作为目标待处理数据,或者选择最小待处理数据作为目标待处理数据,或者选择中值待处理数据作为目标待处理数据等等,此处对预设选取规则不作限定。
在本实施例中,邻域待处理数据与目标待处理数据之间的数据距离小于预设半径。在一个实施例中,可选的,根据排序数据集中各待处理数据对应的排序结果,确定与目标待处理数据对应的邻域待处理数据,包括:获取与目标待处理数据对应的至少一个待处理数据,并根据各待处理数据相对于目标待处理数据的排序结果,将各待处理数据依次作为参考待处理数据;如果当前参考待处理数据与目标待处理数据之间的数据距离小于等于预设半径,则将当前参考待处理数据作为邻域待处理数据,并获取下一参考待处理数据;如果当前参考待处理数据与目标待处理数据之间的数据距离大于预设半径,则生成结束指令;其中,结束指令用于指示停止执行数据距离的判断操作。
其中,与目标待处理数据对应的至少一个待处理数据,示例性的,待处理数据为排序数据集中位于目标待处理数据之前以及之后的待处理数据,此处对获取的待处理数据的数量不作限定。
其中,具体的,参考待处理数据之间的顺序与待处理数据相对于目标待处理数据的排序结果对应。举例而言,假设排序数据集包含[1,2,4,7,9],目标待处理数据为“4”,则“2”、“7”、“1”和“9”依次被作为参考待处理数据。
以上述举例为例,假设预设半径为2,则“2”被作为目标待处理数据“4”的邻域待处理数据,“7”与“4”之间的数据距离大于预设半径2,因此,后续“1”和“9”均无需计算与目标待处理数据之间的数据距离。
S130、如果邻域待处理数据的数量超过预设密度阈值,则将目标待处理数据作为核心数据,并基于核心数据和邻域待处理数据,确定聚类数据集。
在一个实施例中,可选的,基于核心数据和邻域待处理数据,确定聚类数据集,包括:将核心数据和邻域待处理数据构成的数据集作为聚类数据集。
在另一个实施例中,可选的,基于核心数据和邻域待处理数据,确定聚类数据集,包括:将核心数据作为当前核心数据;判断当前核心数据对应的邻域待处理数据中是否存在属于下一核心数据的邻域待处理数据;如果是,则将下一核心数据作为当前核心数据,重复执行判断当前核心数据对应的邻域待处理数据中是否存在属于下一核心数据的邻域待处理数据的操作;如果否,则基于至少一个核心数据和各核心数据分别对应的邻域待处理数据,确定聚类数据集。
其中,具体的,依次将当前核心数据对应的至少一个邻域待处理数据作为目标待处理数据,基于上述记载的内容,判断当前邻域待处理数据是否属于核心数据。如果当前核心数据对应的邻域待处理数据存在至少一个核心数据,则将至少一个核心数据依次作为当前核心数据,继续执行判断当前核心数据对应的邻域待处理数据中是否存在属于下一核心数据的邻域待处理数据的操作,直到当前核心数据对应的邻域待处理数据中不存在属于下一核心数据的邻域待处理数据。
图2是本发明实施例一提供的一种聚类数据集的示意图。具体的,以预设密度阈值为2为例。图2中的黑色实心表示排序数据集中待处理数据,最左边的圆形中的圆心表示随机选择的待处理数据A,将待处理数据A作为目标待处理数据。基于上述记载的方法,确定与待处理数据A对应的邻域待处理数据包括待处理数据B和待处理数据B’。以待处理数据B为例,将待处理数据B作为目标待处理数据,基于上述记载的方法,确定与待处理数据B对应的邻域待处理数据包括待处理数据C和待处理数据C’。以待处理数据C为例,将待处理数据C作为目标待处理数据,基于上述记载的方法,确定与待处理数据C对应的邻域待处理数据包括待处理数据D和待处理数据E,基于上述记载的方法,确定待处理数据D和待处理数据E均不属于核心数据。具体的,从图2所示的实线圆形可以得到,与待处理数据D之间的数据距离小于等于预设半径的邻域待处理数据仅包含待处理数据C,且与待处理数据E之间的数据距离小于等于预设半径的邻域待处理数据仅包含待处理数据C。
需要说明的是,图2仅以数据线为A-B-C-D及A-B-C-E为例进行举例说明,当然,数据线还包括与A-B’对应的数据线以及与A-B-C’对应的数据线,此处未列举说明所有聚类的步骤,因此最终得到的聚类数据集至少包括待处理数据A、待处理数据B、待处理数据B’、待处理数据C、待处理数据C’、待处理数据D和待处理数据E。
本实施例的技术方案,通过对待处理数据集进行排序得到排序数据集,并基于排序数据集中各待处理数据对应的排序结果,确定与目标待处理数据对应的邻域待处理数据,通过对邻域待处理数据的数量进行判断确定聚类数据集,解决了线性扫描方法搜索域大的问题,降低了聚类算法的空间复杂度,从而提高了算法执行效率。
实施例二
图3是本发明实施例二提供的一种聚类方法的流程图,本实施例的技术方案是上述实施例的基础上的进一步细化。可选的,所述获取与所述目标待处理数据对应的至少一个待处理数据,包括:以所述目标待处理数据为圆心,依次获取与至少一个预设角度范围分别对应的至少一个待处理数据;其中,各预设角度范围之间角度不相交。
本实施例的具体实施步骤包括:
S210、获取待处理数据集,并基于预设排序算法对待处理数据集中的待处理数据进行排序,得到排序数据集。
在上述实施例的基础上,可选的,基于预设排序算法对待处理数据集中的待处理数据进行排序,得到排序数据集,包括:如果待处理数据包含多维坐标数据,则基于预设编码规则,将多维坐标数据转换为一维坐标数据;基于一维坐标数据对待处理数据集中的待处理数据进行排序,得到排序数据集。
其中,示例性的,多维坐标数据为二维经纬度坐标数据,具体的,多维数据包括经度数据和纬度数据。预设编码规则可以是纬度范围[-90°,0°)用二进制0代表,(0°,90°]用二进制1代表,经度范围[-180°,0°)用二进制0代表,(0°,180°]用二进制1代表。则所有的经纬度被划分为4部分,即01、11、00和10。同样的,基础上述类似编码规则可继续对上述4部分进行进一步划。以多维坐标数据为(39°,116°)为例,由于39°小于90°且小于45°,则纬度编码结果为1和0。由于116°小于180°且大于90°,则经度编码结果为1和1。经纬度编码结果合并得到一维坐标数据为1110。
S220、将排序数据集中满足预设选取规则的待处理数据作为目标待处理数据,并以目标待处理数据为圆心,依次获取与至少一个预设角度范围分别对应的至少一个待处理数据。
在上述实施例的基础上,可选的,预设选取规则包括待处理数据的标识信息为未标识,相应的,方法还包括:将排序数据集中与聚类数据集对应的待处理数据的标识信息修改为已标识,以及将邻域待处理数据的数量未超过预设密度阈值的目标待处理数据的标识信息修改为已标识。
其中,具体的,在聚类初始化时,排序数据集中的所有待处理数据的标识信息均为未标识。在第一次聚类后,将选取的目标待处理数据的标识信息修改为已标识,并在当前聚类数据集完成后,将述排序数据集中与当前聚类数据集对应的待处理数据的标识信息修改为已标识。在执行下一次聚类时,选取排序数据集中标识信息为未标识的待处理数据作为下一目标待处理数据。
这样设置的好处在于,保证每次聚类开始时选取的目标待处理数据不属于任一聚类数据集,避免对同一待处理数据进行聚类计算,进而提高聚类的执行效率。
在本实施例中,各预设角度范围之间角度不相交。其中,具体的,以目标待处理数据为圆心画圆形,基于至少一个预设角度范围对该圆形进行划分。示例性的,当预设角度范围为一个时,该预设角度范围可以是[0°,360°]。当预设角度范围为多个时,则预设角度范围可以包括(0°,90°]、[91°,180°]、[181°,270°]和[271°,360°]。此处对预设角度范围的具体角度范围取值不作限定。
在一个实施例中,可选的,依次获取与至少一个预设角度范围分别对应的至少一个待处理数据,包括:获取与第一预设角度范围对应的至少一个待处理数据;当检测到与第一预设角度范围对应的结束指令时,获取与第二预设角度范围对应的至少一个待处理数据,直到预设角度范围的数量达到预设数量阈值或者预设角度范围之和满足预设角度阈值。
其中,具体的,获取与第一预设角度范围对应的至少一个待处理数据,根据各待处理数据相对于目标待处理数据的排序结果,将各待处理数据依次作为参考待处理数据,并将参考待处理数据与目标待处理数据之间的数据距离与预设半径进行比较。当当前参考待处理数据与目标待处理数据之间的数据距离大于预设半径,则生成结束指令,即结束与第一预设角度范围对应的待处理数据的数据距离的判断操作。获取与第二预设角度范围对应的至少一个待处理数据,重复执行上述数据距离的判断操作。
其中,示例性的,预设数量阈值可以是5个或10个,预设角度阈值可以是360°,此处对预设数量阈值和预设角度阈值的具体数据不作限定。
S230、根据各待处理数据相对于目标待处理数据的排序结果,将各待处理数据依次作为参考待处理数据。
S240、判断当前参考待处理数据与目标待处理数据之间的数据距离是否小于等于预设半径,如果是,则执行S250,如果否,则执行S260。
S250、将当前参考待处理数据作为邻域待处理数据,将下一参考待处理数据作为当前参考待处理数据,并执行S240。
S260、生成结束指令。
S270、如果邻域待处理数据的数量超过预设密度阈值,则将目标待处理数据作为核心数据,并基于核心数据和邻域待处理数据,确定聚类数据集。
图4是本发明实施例二提供的一种两种聚类方法的算法时间的对比图。具体的,图4所示的对比图中的横坐标表示算法输入数据量,纵坐标表示算法时间(单位:s),黑色柱形表示基于线性扫描算法确定的聚类算法时间,灰度值较大的柱形表示基于本技术方案提供的聚类算法确定的聚类算法时间。从图4可以看出,本技术方案提供的聚类算法确定的聚类算法时间低于基于线性扫描算法确定的聚类算法时间,且随着数据量增大,二者之间的差值越大。说明本技术方案可明显提高聚类算法的执行效率。
本实施例的技术方案,基于预设角度范围,对与目标待处理数据对应的待处理数据进行划分,并对每个划分单元内的待处理数据分别执行数据距离的判断操作,解决了待处理数据获取范围较大的问题,降低了确定待处理数据相对于目标待处理数据的排序结果的计算量,从而进一步提高了聚类算法的执行效率。
实施例三
图5是本发明实施例三提供的一种聚类装置的示意图。本实施例可适用于对样本数据进行聚类分析的情况,该装置可采用软件和/或硬件的方式实现,该装置可以配置于终端设备。该聚类装置包括:排序数据集确定模块310、邻域待处理数据确定模块320和聚类数据集确定模块330。
其中,排序数据集确定模块310,用于获取待处理数据集,并基于预设排序算法对待处理数据集中的待处理数据进行排序,得到排序数据集;
邻域待处理数据确定模块320,用于将排序数据集中满足预设选取规则的待处理数据作为目标待处理数据,并根据排序数据集中各待处理数据对应的排序结果,确定与目标待处理数据对应的邻域待处理数据;其中,邻域待处理数据与目标待处理数据之间的数据距离小于预设半径;
聚类数据集确定模块330,用于如果邻域待处理数据的数量超过预设密度阈值,则将目标待处理数据作为核心数据,并基于核心数据和邻域待处理数据,确定聚类数据集。
本实施例的技术方案,通过对待处理数据集进行排序得到排序数据集,并基于排序数据集中各待处理数据对应的排序结果,确定与目标待处理数据对应的邻域待处理数据,通过对邻域待处理数据的数量进行判断确定聚类数据集,解决了线性扫描方法搜索域大的问题,降低了聚类算法的空间复杂度,从而提高了算法执行效率。
在上述技术方案的基础上,可选的,邻域待处理数据确定模块320,包括:
参考待处理数据确定单元,用于获取与目标待处理数据对应的至少一个待处理数据,并根据各待处理数据相对于目标待处理数据的排序结果,将各待处理数据依次作为参考待处理数据;
邻域待处理数据确定单元,用于如果当前参考待处理数据与目标待处理数据之间的数据距离小于等于预设半径,则将当前参考待处理数据作为邻域待处理数据,并获取下一参考待处理数据;
结束指令生成单元,用于如果当前参考待处理数据与目标待处理数据之间的数据距离大于预设半径,则生成结束指令;其中,结束指令用于指示停止执行数据距离的判断操作。
在上述技术方案的基础上,可选的,参考待处理数据确定单元,包括:
待处理数据获取子单元,用于以目标待处理数据为圆心,依次获取与至少一个预设角度范围分别对应的至少一个待处理数据;其中,各预设角度范围之间角度不相交。
在上述技术方案的基础上,可选的,待处理数据获取子单元,具体用于:
获取与第一预设角度范围对应的至少一个待处理数据;
当检测到与第一预设角度范围对应的结束指令时,获取与第二预设角度范围对应的至少一个待处理数据,直到预设角度范围的数量达到预设数量阈值或者预设角度范围之和满足预设角度阈值。
在上述技术方案的基础上,可选的,预设选取规则包括待处理数据的标识信息为未标识,相应的,该装置还包括:
标识信息修改模块,用于将排序数据集中与聚类数据集对应的待处理数据的标识信息修改为已标识,以及将邻域待处理数据的数量未超过预设密度阈值的目标待处理数据的标识信息修改为已标识。
在上述技术方案的基础上,可选的,排序数据集确定模块310,具体用于:
如果待处理数据包含多维坐标数据,则基于预设编码规则,将多维坐标数据转换为一维坐标数据;
基于一维坐标数据对待处理数据集中的待处理数据进行排序,得到排序数据集。
在上述技术方案的基础上,可选的,聚类数据集确定模块330,具体用于:
将核心数据作为当前核心数据;
判断当前核心数据对应的邻域待处理数据中是否存在属于下一核心数据的邻域待处理数据;
如果是,则将下一核心数据作为当前核心数据,重复执行判断当前核心数据对应的邻域待处理数据中是否存在属于下一核心数据的邻域待处理数据的操作;
如果否,则基于至少一个核心数据和各核心数据分别对应的邻域待处理数据,确定聚类数据集。
本发明实施例所提供的聚类装置可以用于执行本发明实施例所提供的聚类方法,具备执行方法相应的功能和有益效果。
值得注意的是,上述聚类装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例四
图6是本发明实施例四提供的一种电子设备的结构示意图,本发明实施例为本发明上述实施例的聚类方法的实现提供服务,可配置上述实施例中的聚类装置。图6示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图6显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MAC)总线、增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的聚类方法。
通过上述电子设备,解决了线性扫描方法搜索域大的问题,降低了聚类算法的空间复杂度,从而提高了算法执行效率。
实施例五
本发明实施例五还提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种聚类方法,该方法包括:
获取待处理数据集,并基于预设排序算法对待处理数据集中的待处理数据进行排序,得到排序数据集;
将排序数据集中满足预设选取规则的待处理数据作为目标待处理数据,并根据排序数据集中各待处理数据对应的排序结果,确定与目标待处理数据对应的邻域待处理数据;其中,邻域待处理数据与目标待处理数据之间的数据距离小于预设半径;
如果邻域待处理数据的数量超过预设密度阈值,则将目标待处理数据作为核心数据,并基于核心数据和邻域待处理数据,确定聚类数据集。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的聚类方法中的相关操作。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种聚类方法,其特征在于,包括:
获取待处理数据集,并基于预设排序算法对所述待处理数据集中的待处理数据进行排序,得到排序数据集;
将所述排序数据集中满足预设选取规则的待处理数据作为目标待处理数据,并根据所述排序数据集中各待处理数据对应的排序结果,确定与所述目标待处理数据对应的邻域待处理数据;其中,所述邻域待处理数据与所述目标待处理数据之间的数据距离小于预设半径;
如果所述邻域待处理数据的数量超过预设密度阈值,则将所述目标待处理数据作为核心数据,并基于所述核心数据和所述邻域待处理数据,确定聚类数据集。
2.根据权利要求1所述的方法,其特征在于,所述根据所述排序数据集中各待处理数据对应的排序结果,确定与所述目标待处理数据对应的邻域待处理数据,包括:
获取与所述目标待处理数据对应的至少一个待处理数据,并根据所述各待处理数据相对于目标待处理数据的排序结果,将各所述待处理数据依次作为参考待处理数据;
如果当前参考待处理数据与目标待处理数据之间的数据距离小于等于预设半径,则将所述当前参考待处理数据作为邻域待处理数据,并获取下一参考待处理数据;
如果当前参考待处理数据与目标待处理数据之间的数据距离大于预设半径,则生成结束指令;其中,所述结束指令用于指示停止执行数据距离的判断操作。
3.根据权利要求2所述的方法,其特征在于,所述获取与所述目标待处理数据对应的至少一个待处理数据,包括:
以所述目标待处理数据为圆心,依次获取与至少一个预设角度范围分别对应的至少一个待处理数据;其中,各预设角度范围之间角度不相交。
4.根据权利要求3所述的方法,其特征在于,所述依次获取与至少一个预设角度范围分别对应的至少一个待处理数据,包括:
获取与第一预设角度范围对应的至少一个待处理数据;
当检测到与所述第一预设角度范围对应的结束指令时,获取与第二预设角度范围对应的至少一个待处理数据,直到预设角度范围的数量达到预设数量阈值或者预设角度范围之和满足预设角度阈值。
5.根据权利要求1所述的方法,其特征在于,所述预设选取规则包括待处理数据的标识信息为未标识,相应的,所述方法还包括:
将所述排序数据集中与所述聚类数据集对应的待处理数据的标识信息修改为已标识,以及将邻域待处理数据的数量未超过预设密度阈值的目标待处理数据的标识信息修改为已标识。
6.根据权利要求1所述的方法,其特征在于,所述基于预设排序算法对所述待处理数据集中的待处理数据进行排序,得到排序数据集,包括:
如果所述待处理数据包含多维坐标数据,则基于预设编码规则,将所述多维坐标数据转换为一维坐标数据;
基于所述一维坐标数据对所述待处理数据集中的待处理数据进行排序,得到排序数据集。
7.根据权利要求1所述的方法,其特征在于,所述基于所述核心数据和所述邻域待处理数据,确定聚类数据集,包括:
将所述核心数据作为当前核心数据;
判断所述当前核心数据对应的邻域待处理数据中是否存在属于下一核心数据的邻域待处理数据;
如果是,则将所述下一核心数据作为当前核心数据,重复执行判断所述当前核心数据对应的邻域待处理数据中是否存在属于下一核心数据的邻域待处理数据的操作;
如果否,则基于至少一个核心数据和各所述核心数据分别对应的邻域待处理数据,确定聚类数据集。
8.一种聚类装置,其特征在于,包括:
排序数据集确定模块,用于获取待处理数据集,并基于预设排序算法对所述待处理数据集中的待处理数据进行排序,得到排序数据集;
邻域待处理数据确定模块,用于将所述排序数据集中满足预设选取规则的待处理数据作为目标待处理数据,并根据所述排序数据集中各待处理数据对应的排序结果,确定与所述目标待处理数据对应的邻域待处理数据;其中,所述邻域待处理数据与所述目标待处理数据之间的数据距离小于预设半径;
聚类数据集确定模块,用于如果所述邻域待处理数据的数量超过预设密度阈值,则将所述目标待处理数据作为核心数据,并基于所述核心数据和所述邻域待处理数据,确定聚类数据集。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的聚类方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的聚类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110363314.8A CN113065597A (zh) | 2021-04-02 | 2021-04-02 | 一种聚类方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110363314.8A CN113065597A (zh) | 2021-04-02 | 2021-04-02 | 一种聚类方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113065597A true CN113065597A (zh) | 2021-07-02 |
Family
ID=76565579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110363314.8A Pending CN113065597A (zh) | 2021-04-02 | 2021-04-02 | 一种聚类方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065597A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113516112A (zh) * | 2021-09-14 | 2021-10-19 | 长沙鹏阳信息技术有限公司 | 一种基于聚类的规则排列物体自动识别及编号方法 |
-
2021
- 2021-04-02 CN CN202110363314.8A patent/CN113065597A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113516112A (zh) * | 2021-09-14 | 2021-10-19 | 长沙鹏阳信息技术有限公司 | 一种基于聚类的规则排列物体自动识别及编号方法 |
CN113516112B (zh) * | 2021-09-14 | 2021-11-30 | 长沙鹏阳信息技术有限公司 | 一种基于聚类的规则排列物体自动识别及编号方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992596B (zh) | 一种文本聚类方法、装置、服务器和存储介质 | |
CN112016638B (zh) | 一种钢筋簇的识别方法、装置、设备及存储介质 | |
CN112528025A (zh) | 基于密度的文本聚类方法、装置、设备及存储介质 | |
CN111325156B (zh) | 人脸识别方法、装置、设备和存储介质 | |
CN110503682B (zh) | 矩形控件识别方法、装置、终端及存储介质 | |
CN111966766A (zh) | 地址信息的检测方法、系统、电子设备和存储介质 | |
CN115223662A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113065597A (zh) | 一种聚类方法、装置、设备及存储介质 | |
WO2022007596A1 (zh) | 图像检索系统、方法和装置 | |
US10346716B2 (en) | Fast joint template machining | |
CN109657060B (zh) | 安全生产事故案例推送方法及系统 | |
CN115544257B (zh) | 网盘文档快速分类方法、装置、网盘及存储介质 | |
CN111738290A (zh) | 图像检测方法、模型构建和训练方法、装置、设备和介质 | |
CN114821272A (zh) | 图像识别方法、系统、介质、电子设备及目标检测模型 | |
CN111783869B (zh) | 训练数据筛选方法、装置、电子设备及存储介质 | |
CN110598122A (zh) | 社交群体挖掘方法、装置、设备及存储介质 | |
CN112380169A (zh) | 存储装置、数据处理方法、装置、设备、介质和系统 | |
CN110059180B (zh) | 文章作者身份识别及评估模型训练方法、装置及存储介质 | |
CN112381458A (zh) | 项目评审方法、项目评审装置、设备及存储介质 | |
CN114881913A (zh) | 图像瑕疵检测方法、装置、电子设备及存储介质 | |
CN112468546A (zh) | 账号位置确定方法、装置、服务器和存储介质 | |
CN114077858A (zh) | 向量数据处理方法、装置、设备及存储介质 | |
CN110796492A (zh) | 一种重要特征的确定方法、装置、设备及存储介质 | |
CN113704417B (zh) | 文档固定追踪和文档章节追踪关系的展示方法及系统 | |
CN113609352B (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 |