CN110555144A - 一种流聚类的方法、装置、电子设备及介质 - Google Patents
一种流聚类的方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN110555144A CN110555144A CN201910844459.2A CN201910844459A CN110555144A CN 110555144 A CN110555144 A CN 110555144A CN 201910844459 A CN201910844459 A CN 201910844459A CN 110555144 A CN110555144 A CN 110555144A
- Authority
- CN
- China
- Prior art keywords
- cluster
- point
- sample point
- sample
- points
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- 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/23211—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with adaptive number of clusters
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种流聚类的方法、装置、电子设备及介质,涉及聚类技术领域,以实现对新增样本的实时聚类。本发明实施例的方案包括:若检测到数据库中存在新增样本点,则判断是否存在与所述新增样本点之间的距离小于预设距离的目标质心,其中,质心为所述数据库中的簇包括的预设数量个样本点的特征平均值,若存在与所述新增样本点之间的距离小于预设距离的目标质心,则将所述新增样本点加入所述目标质心对应的簇。
Description
技术领域
本发明涉及聚类技术领域,特别是涉及一种流聚类的方法、装置、电子设备及介质。
背景技术
目前,随着数据库中的数据不断增加,需要对数据库中的对象进行聚类处理,其中,聚类是指对数据库中的对象按照数据的特征进行分类。分类后的每类数据分别称为一簇,目前有很多已经很成熟的聚类方法,例如,基于密度的聚类方法,快速聚类方法等。
但是,目前使用现有技术对数据库中的对象进行聚类时,如果有新的对象进入数据库,需要对数据库中的新的对象与已经聚类完成的对象重新进行一次聚类,这样不仅耗时,而且浪费聚类使用的处理资源。
发明内容
本发明实施例的目的在于提供一种流聚类的方法、装置、电子设备及介质,以实现对新增样本的实时聚类,具体方案如下:
第一方面,本发明实施例提供一种流聚类的方法,包括:
若检测到数据库中存在新增样本点,则判断是否存在与所述新增样本点之间的距离小于预设距离的目标质心,其中,质心为所述数据库中的簇包括的预设数量个样本点的特征平均值;
若存在与所述新增样本点之间的距离小于预设距离的目标质心,则将所述新增样本点加入所述目标质心对应的簇。
在一种可能实现的方式中,将所述新增样本点加入所述目标质心对应的簇,包括:
若所述目标质心的数量为1,则将所述新增样本点加入所述目标质心对应的簇;
若所述目标质心的数量大于1,则将所述新增样本点加入其中一个目标质心对应的簇,并将各目标质心对应的簇合并为一个簇。
在一种可能实现的方式中,所述方法还包括:
若不存在与所述新增样本点之间的距离小于所述预设距离的目标质心,且所述新增样本点与所述数据库中的临时离散点满足聚类条件,则将所述新增样本点与所述数据库中的临时离散点聚为一簇,所述临时离散点为不属于所述数据库中任何一个簇的样本点;
若不存在与所述新增样本点之间的距离小于所述预设距离的目标质心,且所述新增样本点与所述数据库中的临时离散点不满足聚类条件,则确定所述新增样本点为临时离散点。
在一种可能实现的方式中,将所述新增样本点加入所述目标质心对应的簇之后,所述方法还包括:
重新确定所述目标质心对应的簇的质心;
若存在与重新确定的质心之间的距离小于所述预设距离的质心,则将与重新确定的质心之间的距离小于所述预设距离的质心对应的簇,与所述目标质心对应的簇合并为一个簇。
在一种可能实现的方式中,所述方法还包括:
若接收到样本点删除指令,则判断所述样本点删除指令指示删除的待删除样本点是否为临时离散点;
若所述待删除样本点是临时离散点,则删除所述待删除样本点;
若所述待删除样本点不是临时离散点,则删除所述待删除样本点,并判断所述待删除样本点所属簇中的剩余样本点数量是否小于预设样本点数量阈值;
若所述待删除样本点所属簇中的剩余样本点数量不小于预设样本点数量阈值,则重新计算所述待删除样本点所属簇的质心;
若所述待删除样本点所属簇中的剩余样本点数量小于预设样本点数量阈值,则确定所述待删除样本点所属簇中剩余样本点为临时离散点。
在一种可能实现的方式中,所述方法还包括:
获取所述数据库中临时离散点的数量;
若所述临时离散点的数量大于或等于预设数量阈值,则将所述数据库中的临时离散点删除。
第二方面,本发明实施例提供一种流聚类的装置,包括:
判断模块,用于若检测到数据库中存在新增样本点,则判断是否存在与所述新增样本点之间的距离小于预设距离的目标质心,其中,质心为所述数据库中的簇包括的预设数量个样本点的特征平均值;
加入模块,用于若存在与所述新增样本点之间的距离小于预设距离的目标质心,则将所述新增样本点加入所述目标质心对应的簇。
在一种可能实现的方式中,所述加入模块,具体用于:
若所述目标质心的数量为1,则将所述新增样本点加入所述目标质心对应的簇;
若所述目标质心的数量大于1,则将所述新增样本点加入其中一个目标质心对应的簇,并将各目标质心对应的簇合并为一个簇。
在一种可能实现的方式中,所述装置还包括:聚类模块和确定模块;
所述聚类模块,用于若不存在与所述新增样本点之间的距离小于所述预设距离的目标质心,且所述新增样本点与所述数据库中的临时离散点满足聚类条件,则将所述新增样本点与所述数据库中的临时离散点聚为一簇,所述临时离散点为不属于所述数据库中任何一个簇的样本点;
所述确定模块,还用于若不存在与所述新增样本点之间的距离小于所述预设距离的目标质心,且所述新增样本点与所述数据库中的临时离散点不满足聚类条件,则确定所述新增样本点为临时离散点。
在一种可能实现的方式中,所述装置还包括:合并模块;
所述确定模块,还用于重新确定所述目标质心对应的簇的质心;
所述合并模块,用于若存在与重新确定的质心之间的距离小于所述预设距离的质心,则将与重新确定的质心之间的距离小于所述预设距离的质心对应的簇,与所述目标质心对应的簇合并为一个簇。
在一种可能实现的方式中,所述装置还包括:样本删除模块,用于:
若接收到样本点删除指令,则判断所述样本点删除指令指示删除的待删除样本点是否为临时离散点;
若所述待删除样本点是临时离散点,则删除所述待删除样本点;
若所述待删除样本点不是临时离散点,则删除所述待删除样本点,并判断所述待删除样本点所属簇中的剩余样本点数量是否小于预设样本点数量阈值;
若所述待删除样本点所属簇中的剩余样本点数量不小于预设样本点数量阈值,则重新计算所述待删除样本点所属簇的质心;
若所述待删除样本点所属簇中的剩余样本点数量小于预设样本点数量阈值,则确定所述待删除样本点所属簇中剩余样本点为临时离散点。
在一种可能实现的方式中,所述装置还包括:
获取模块,用于获取所述数据库中临时离散点的数量;
删除模块,用于若所述临时离散点的数量大于或等于预设数量阈值,则将所述数据库中的临时离散点删除。
第三方面,本发明还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述流聚类的方法步骤。
第四方面,在本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述流聚类的方法步骤。
第五方面,在本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中任一流聚类的方法步骤。
采用本发明实施例提供的流聚类的方法,若检测到数据库中存在新增样本点,则判断是否存在与所述新增样本点之间的距离小于预设距离的目标质心,其中,质心为所述数据库中的簇包括的预设数量个样本点的特征平均值,若存在与所述新增样本点之间的距离小于预设距离的目标质心,则将所述新增样本点加入所述目标质心对应的簇。可见,应用本发明实施例,当数据库中有新增样本点加入时,通过判断新增样本点与各簇的质心之间的距离确定目标质心,可以将新增样本点加入与该新增样本点之间的距离小于预设距离的目标质心对应的簇,而无需对数据库中所有的样本点重新聚类,可以提高聚类效率,减小聚类过程所使用的处理资源。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种流聚类的方法的流程图;
图2为本发明实施例提供的一种流聚类的方法的示例性示意图;
图3为本发明实施例提供的一种流聚类的方法的流程图;
图4为本发明实施例还提供的另一种流聚类的方法的流程图;
图5为本发明实施例提供的一种流聚类的装置的示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,图1为本发明实施例的流聚类方法的一种流程图,该流程应用于电子设备,包括如下步骤:
S101、若检测到数据库中存在新增样本点,则判断是否存在与新增样本点之间的距离小于预设距离的目标质心。
其中,质心为数据库中的簇包括的预设数量个样本点的特征平均值。
可选的,每个簇的质心的确定方法为:从簇中选出预设数量个样本点,将预设数量个样本点的特征值的平均值所表示的样本点作为该簇的质心。
例如:预设数量为30个,则从数据库中其中一个簇中选出30个样本点,将这30个样本点的特征值的平均值所对应的点作为该簇的质心。
可选的,可在簇中设置一个标志位,若簇中有新增样本点时,则更新该簇的标志位,当标志位发生变化时,需要重新计算质心;若簇中没有新增样本点,则标志位不会发生改变,质心保持不变。
在本申请实施例中,在从簇中选出预设数量个样本点后,可确定预设数量个样本点中,与质心之间距离最长的样本点,进而根据将该样本点与与质心之间距离确定预设距离。
例如,对于从簇中选出的30个样本点,若确定其中的样本点A与质心之间的距离最长,且该距离为S,则将S的0.8倍作为预设距离。或者,也可以将上述距离S作为预设距离。
其中,数据库中的簇可通过具有噪声的基于密度的聚类方法(Density-BasedSpatial Clustering of Applications with Noise,DBSCAN)、广义的具有噪声的基于密度的聚类方法(Generic Density-Based Spatial Clustering of Applications withNoise,GDBSCAN)或排序点以识别集群结构聚类方法(Ordering points to identify theclustering structure,OPTICS)聚类得到。
以下示例性地以DBSCAN和OPTICS两种聚类方法对确定目标质心的方法进行说明。
DBSCAN聚类方法如下:
电子设备根据数据库中各对象的特征值将各对象转换为样本点。可选地,特征值的维度可以为128维。
对于数据库中的每个样本点,分别进行以下操作:
以样本点A为例,判断样本点A的E邻域内的样本点数量是否大于等于样本点数量阈值,若大于等于样本点数量阈值,则将样本点A作为核心点。例如,样本点数量阈值可以为5。
其中,如图2所示,样本点A的E邻域是指以样本点A为中心,以E为半径组成的圆的区域。
如果在样本点A的E邻域内存在一个样本点B,则称样本点B对样本点A直接密度可达。如果样本点B的E邻域内存在一个样本点C,且样本点B为核心点,则称样本点C对样本点B直接密度可达,那么样本点C对样本点A密度可达。
基于此,可将数据库中与样本点A直接密度可达的样本点,以及与样本点A密度可达的样本点聚为一簇。
OPTICS聚类方法如下:
在DBSCAN的基础上,引入核心距离和可达距离,仍以样本点A为例,核心距离为使得样本点A能够被作为核心点的最小邻域半径。
样本点B对样本点A的可达距离为:使得样本点A为核心点,以及样本点B对样本点A直接密度可达这两个条件同时成立的最小邻域半径。
首先,对数据库中的样本点聚类时,建立两个队列,有序队列和结果队列。其中,有序队列包括核心点以及该核心点的直接密度可达的点,结果队列包括数据库中的核心点。
例如,选取数据库中的样本点1,若样本点1不为核心点,则重新选取数据库中的样本点。
若该样本点1为核心点,将样本点1放入结果队列,样本点1的直接密度可达的样本点放入有序队列,在有序队列中将直接密度可达的样本点按可达距离升序排列。
从有序队列中选取第一个样本点2,若该样本点2为核心点,则将该样本点2存入结果队列中,并找到样本点2所有密度可达的点,并将样本点2所有密度可达的点放入有序队列,且将有序队列中的点按可达距离升序排列。
若样本点2不为核心点,则重新选取有序队列中的点,直到有序队列为空。
从结果队列中取出样本点1以外样本点,并判断样本点的可达距离是否大于半径E。若该样本点的可达距离不大于半径E,则确定该样本点仍属于当前类别;若样本点的可达距离大于半径E,则进一步判断该样本点的核心距离是否大于半径E,若该样本点的核心距离大于半径E,则确定该样本点为噪声,删除该样本点;若该样本点的核心距离不大于半径E,则将该样本点放入数据库中重新聚类。
上述过程中当结果队列中的样本点全部选取后,完成了对样本点1以及可以与样本点1聚为一类的样本点的聚类,结果队列中当前剩余的样本点聚为一簇。
然后,清空有序队列和结果队列,从数据库中选取未分类的样本点进行上述操作,直到数据库中的数据全部选取完成。
可以理解的是,在采用上述任意一种方法进行聚类后,可计算聚类后得到的各簇的质心。
当检测数据库中有新的对象加入,根据新的对象的特征值按照预设的维度转换成新增样本点,本实施例中以128维为例,计算新增样本点与各质心之间的距离,并判断是否存在与新增样本点之间的距离小于预设距离的质心,将与新增样本点之间的距离小于预设距离的质心作为目标质心。
S102、若存在与新增样本点之间的距离小于预设距离的目标质心,则将新增样本点加入目标质心对应的簇。
采用本发明实施例提供的流聚类的方法,若检测到数据库中存在新增样本点,则判断是否存在与新增样本点之间的距离小于预设距离的目标质心,若存在与新增样本点之间的距离小于预设距离的目标质心,则将新增样本点加入目标质心对应的簇。可见,应用本发明实施例,当数据库中有新增样本点时,由于本申请实施例引入了簇的质心,通过判断新增样本点与各簇的质心之间的距离确定目标质心,可以将新增样本点加入与该新增样本点之间的距离小于预设距离的目标质心对应的簇,而无需对数据库中所有的样本点重新聚类,可以提高聚类效率,减小聚类过程所使用的处理资源。
可以理解的是,在上述S101中,确定的与新增样本点之间的距离小于预设距离的目标质心的数量可能为1个或多个。具体地,上述步骤S102具体实现为:
若目标质心的数量为1,则将新增样本点加入目标质心对应的簇。
例如,若确定的目标质心为簇A的质心,则将新增样本点加入簇A。
若目标质心的数量大于1,则将新增样本点加入其中一个目标质心对应的簇,并将各目标质心对应的簇合并为一个簇。
例如,新增样本点为样本点1,目标质心的数量为2,且两个目标质心对应的簇分别为簇1、簇2。则可将簇1中的样本点、簇2中的样本点以及该新增样本点聚为一簇。换言之,也可以理解为,将新增样本点加入簇1,再将簇1和簇2合并,或者将新增样本点加入簇2,再将簇1和簇2合并。
采用本发明实施例提供的流聚类的方法,若目标质心的数量为1,则将新增样本点加入目标质心对应的簇;若目标质心的数量大于1,则将新增样本点加入其中一个质心对应的簇,并将各目标质心对应的簇合并为一个簇。可见,将新增样本点加入目标质心对应的簇,不需要对数据库中的样本重新进行聚类分簇,节约了聚类过程中使用的资源。
其中,在图1对应的实施例中,描述了确定新增样本点对应的一个或多个目标质心后的聚类方法,在本申请实施例的另一种可能的实现方式中,还存在未从数据库中查找到与新增样本点之间的距离小于预设距离的目标质心的可能,基于此,如图3所示,本申请实施例提供的流聚类的方法具体包括S301-S307。
其中,S301-S302与上述S101-S102相同,可参考上述S101-S102中的相关描述。
S303、若不存在与新增样本点之间的距离小于预设距离的目标质心,判断新增样本点与数据库中的临时离散点是否满足聚类条件。
若为是,则执行S304;若为否,则执行S305。
S304、将新增样本点与数据库中的临时离散点聚为一簇。
其中,临时离散点为不属于数据库中任何一个簇的样本点。
其中,聚类条件可为现有技术中任一聚类方法中的聚类条件,例如DBSCAN、GDBSCAN、OPTICS等以密度聚类方法中的聚类条件。
具体地,若聚类方法为上述DBSCAN方法,则聚类条件为某一样本点的E邻域内的样本点的数量大于预设样本点数量阈值。基于该聚类条件,若不存在与新增样本点之间的距离小于预设距离的目标质心,说明新增样本点不能加入数据库中的所有簇,所以该新增样本点可能为临时离散点。
可以理解的是,在本申请实施例中,若新增样本点为临时离散点,则可判断这些临时离散点是否可以聚为一簇,即分别将每一个临时离散点假设为核心点,判断核心点的E邻域内的样本点数量是否大于预设样本点数量阈值,若大于,则将该被假设为核心点的临时离散点的E邻域内的样本点聚为一簇。即,若新增样本点与数据库中的临时离散点满足聚类条件,则将新增样本点与数据库中的临时离散点聚为一簇。
S305、确定新增样本点为临时离散点。
即,分别将每一个临时离散点假设为核心点之后,每个核心点的E邻域内的样本点数量均不大于预设样本点数量阈值,则说明新增样本点与数据库中的临时离散点不满足聚类条件,进而确定新增样本点为临时离散点。
可选的,对于上述S305在确定新增样本点为临时离散点之后,数据库中的临时离散点的数量将增多。由于当数据库中的临时离散点数量过多时,会影响聚类的速度,所以为了加快聚类速度,在S305之后,还可执行S306-S307。
S306、获取数据库中临时离散点的数量。
S307、若临时离散点的数量大于或等于预设数量阈值,则将数据库中的临时离散点删除。
其中,预设数量阈值可根据经验值设置,例如预设数量阈值可以为60,即当数据库中临时离散点的数量大于60时,将数据库中的临时离散点删除。
采用本发明实施例提供的流聚类方法,当数据库中有新增样本点时,由于本申请实施例引入了簇的质心,通过新增样本点与各簇的质心之间的距离,可以将新增样本点加入与该新增样本点之间的距离小于预设距离的目标质心对应的簇,而无需对数据库中所有的样本点重新聚类,并且当新增样本点与各簇的质心的距离大于预设距离,即不存在目标质心时,通过判断新增样本点与临时离散点是否满足聚类条件,当满足聚类条件时,将新增样本点与临时离散点聚类,提高了聚类的准确性。且本发明实施例当临时离散点的数量大于预设数量阈值时,删除临时离散点,避免了临时离散点过多导致聚类速度降低。可见采用本发明实施例提供的方法,可以提高聚类的效率,减少聚类过程所使用的处理资源。
可选的,在将新增样本点加入目标质心对应的簇之后,簇中的样本点的数量发生变化,所以需要重新确定该簇的质心。
即从该簇中重新选出预设数量个样本点,计算该预设数量个样本点的特征值的平均值,并将该平均值所表示的样本点作为该簇的质心。
需要说明的是,重新确定的质心可能与该簇原来的质心相同或不同。
进一步地,在重新确定的质心与该簇原来的执行不同的情况下,若存在与重新确定的质心之间的距离小于预设距离的质心,则将与重新确定的质心之间的距离小于预设距离的质心对应的簇,与目标质心对应的簇合并为一个簇。
例如,若在新增样本点加入簇A之前,簇A的质心与簇B的质心之间的距离大于预设距离,而在新增样本点加入簇A之后,簇A的质心发生变化,使得簇A的质心与簇B的质心之间的距离小于预设距离,则可将簇A与簇B合并为一个簇。
采用本发明实施例提供的流聚类的方法,在将新增样本点加入目标质心对应的簇之后,重新确定目标质心对应的簇的质心,若存在与重新确定的质心之间的距离小于预设距离的质心,则将与重新确定的质心之间的距离小于预设距离的质心对应的簇,与目标质心对应的簇合并为一个簇。可见,应用本发明实施例,在将新增样本点加入目标质心对应的簇之后,重新确定该簇的质心,提高了聚类的准确性。
可以理解的是,数据库中的样本点可能增加,也可能减少,例如由于数据库中存在错误数据,或者用户需要删除数据库中的部分数据,则会导致数据库中的样本点减少,基于此,如图4所示,本实施例提供的另一种流聚类的方法具体包括S401-S406。
S401、若接收到样本点删除指令,则判断样本点删除指令指示删除的待删除样本点是否为临时离散点。
若为是,则执行步骤S402;若为否,则执行步骤S403。
S402、删除待删除样本点。
S403、删除待删除样本点,并执行步骤S404。
S404、判断待删除样本点所属簇中的剩余样本点数量是否小于预设样本点数量阈值。
若为是,则执行步骤S405;若为否,则执行步骤S406。
S405、确定待删除样本点所属簇中剩余样本点为临时离散点。
S406、重新计算待删除样本点所属簇的质心。
其中,聚类条件可为现有技术中任一聚类方法中的聚类条件,例如DBSCAN、GDBSCAN、OPTICS等以密度聚类方法中的聚类条件。
具体地,若被删除的数据对应的样本点不是临时离散点,则将该样本点删除后,判断该样本点所属簇中的剩余样本点数量是或否小于预设样本点数量阈值,若剩余样本点数量小于预设样本点数量阈值,则确定该簇中剩余的样本点将均变为临时离散点,即样本点被删除后,该簇中的剩余样本点不能作为一个簇;若剩余样本点数量不小于预设样本点数量阈值,则该簇中的剩余样本点仍为一簇,并重新计算该簇的质心。
需要说明的是,若待删除样本点所属簇中的剩余样本点数量小于预设样本点数量阈值,则确定待删除样本点所属簇中剩余样本点为临时离散点,会导致数据中的临时离散点数量增多,所以在执行样本点删除指令之后,还需要确定临时离散点的数量是否大于预设数量阈值,若临时离散点的数量大于预设数量阈值,则删除数据库中的临时离散点。
采用本发明实施例提供的流聚类的方法,当接收样本点删除指令时,删除样本点删除指令指示的待删除样本点,对数据库中的错误数据或者用户不需要的数据进行删除,避免了对错误数据或者用户不需要的数据进行聚类,提高了聚类的准效率,减小聚类过程所使用的处理资源。
若数据库中同时加入多个新增样本点{Q1,Q2,...Qs},以s为30,即30个新增样本点为例,假设数据库中总样本点数量为m,存在n个簇及k个临时离散点。电子设备计算n个簇分别对应的质心{B1,B2,...Bn}。其中,质心的计算方法为:从每一个簇中随机选取30个样本点,将这30个样本点的特征值的平均值所对应的点作为该簇的质心。
分别判断30个新增样本点{Q1,Q2,...Qs}与n个质心之间的距离是否小于预设距离,若新增样本点Qi与质心Bj之间的距离小于预设距离,i≤30,j≤n。则将Qi并入簇j。
若30个新增样本点中存在部分新增样本点(例如10个新增样本点)与n个质心之间的距离均大于预设距离,则将上述10个新增样本点假设为临时离散点,并判断k+10个临时离散点之间是否满足聚类条件。其中,聚类条件可为现有技术中任一聚类方法中的聚类条件,例如DBSCAN、GDBSCAN、OPTICS等以密度聚类方法中的聚类条件。若k+10个临时离散点中存在满足聚类条件的临时离散点,则将满足聚类条件的临时离散点归为一簇,将不满足聚类条件的临时离散点中的新增样本点确定为临时离散点。
可以理解的是,当有30个新增样本点{Q1,Q2,...Qs}时,每个新增样本点只会与n个质心{B1,B2,...Bn}、s-1个新增样本点和k个临时离散点进行聚类,最多只会有n+90个样本点参与聚类,这样的聚类速度是非常快的;同时,当簇中存在大量样本点时,随机选取30个样本点来确定质心,并通过判断新增样本点与质心距离进行聚类,大大减少了新样本点与簇中样本点聚类的次数,极大的提高了聚类的速度。
基于相同的发明构思,本申请实施例还提供了流聚类的装置,如图5所示,该装置包括:判断模块501,加入模块502。
判断模块501,用于若检测到数据库中存在新增样本点,则判断是否存在与新增样本点之间的距离小于预设距离的目标质心,其中,质心为数据库中的簇包括的预设数量个样本点的特征平均值。
加入模块502,用于若存在与新增样本点之间的距离小于预设距离的目标质心,则将新增样本点加入目标质心对应的簇。
在一种可能实现的方式中,加入模块502,具体用于:
若目标质心的数量为1,则将新增样本点加入目标质心对应的簇;
若目标质心的数量大于1,则将新增样本点加入其中一个质心对应的簇,并将各目标质心对应的簇合并为一个簇。
可选的,该装置还包括:聚类模块和确定模块;
聚类模块,用于若不存在与新增样本点之间的距离小于预设距离的目标质心,且新增样本点与数据库中的临时离散点满足聚类条件,则将新增样本点与数据库中的临时离散点聚为一簇,临时离散点为不属于数据库中任何一个簇的样本点;
确定模块,还用于若不存在与新增样本点之间的距离小于预设距离的目标质心,且新增样本点与数据库中的临时离散点不满足聚类条件,则确定新增样本点为临时离散点。
可选的,该装置还包括:合并模块;
确定模块,还用于重新确定目标质心对应的簇的质心;
合并模块,用于若存在与重新确定的质心之间的距离小于预设距离的质心,则将与重新确定的质心之间的距离小于预设距离的质心对应的簇,与目标质心对应的簇合并为一个簇。
可选的,该装置还包括:样本删除模块,用于:
若接收到样本删除指令,则判断样本删除指令对应的样本点是否为临时离散点;
若样本删除指令对应的样本点是临时离散点,则直接删除样本删除指令对应的样本点;
若样本删除指令对应的样本点不是临时离散点,则删除样本删除指令对应的样本点,并判断样本删除指令对应的样本点所在簇中的剩余样本点数量是否小于预设样本点数量阈值;
若样本删除指令对应的样本点所在簇中的剩余样本点数量大于预设样本点数量阈值,则重新计算该簇的质心;
若样本删除指令对应的样本点所在簇中的剩余样本点数量小于预设样本点数量阈值,则将该簇中剩余样本点确定为临时离散点。
可选的,该装置还包括:
获取模块,用于获取数据库中临时离散点的数量;
删除模块,用于若临时离散点的数量大于或等于预设数量阈值,则将数据库中的临时离散点删除。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述方法实施例中由终端执行的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一流聚类方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一流聚类方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种流聚类的方法,其特征在于,包括:
若检测到数据库中存在新增样本点,则判断是否存在与所述新增样本点之间的距离小于预设距离的目标质心,其中,质心为所述数据库中的簇包括的预设数量个样本点的特征平均值;
若存在与所述新增样本点之间的距离小于预设距离的目标质心,则将所述新增样本点加入所述目标质心对应的簇。
2.根据权利要求1所述的方法,其特征在于,将所述新增样本点加入所述目标质心对应的簇,包括:
若所述目标质心的数量为1,则将所述新增样本点加入所述目标质心对应的簇;
若所述目标质心的数量大于1,则将所述新增样本点加入其中一个目标质心对应的簇,并将各目标质心对应的簇合并为一个簇。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若不存在与所述新增样本点之间的距离小于所述预设距离的目标质心,且所述新增样本点与所述数据库中的临时离散点满足聚类条件,则将所述新增样本点与所述数据库中的临时离散点聚为一簇,所述临时离散点为不属于所述数据库中任何一个簇的样本点;
若不存在与所述新增样本点之间的距离小于所述预设距离的目标质心,且所述新增样本点与所述数据库中的临时离散点不满足聚类条件,则确定所述新增样本点为临时离散点。
4.根据权利要求1-3任一项所述的方法,其特征在于,将所述新增样本点加入所述目标质心对应的簇之后,所述方法还包括:
重新确定所述目标质心对应的簇的质心;
若存在与重新确定的质心之间的距离小于所述预设距离的质心,则将与重新确定的质心之间的距离小于所述预设距离的质心对应的簇,与所述目标质心对应的簇合并为一个簇。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到样本点删除指令,则判断所述样本点删除指令指示删除的待删除样本点是否为临时离散点;
若所述待删除样本点是临时离散点,则删除所述待删除样本点;
若所述待删除样本点不是临时离散点,则删除所述待删除样本点,并判断所述待删除样本点所属簇中的剩余样本点数量是否小于预设样本点数量阈值;
若所述待删除样本点所属簇中的剩余样本点数量不小于预设样本点数量阈值,则重新计算所述待删除样本点所属簇的质心;
若所述待删除样本点所属簇中的剩余样本点数量小于预设样本点数量阈值,则确定所述待删除样本点所属簇中剩余样本点为临时离散点。
6.根据权利要求3或5所述的方法,其特征在于,所述方法还包括:
获取所述数据库中临时离散点的数量;
若所述临时离散点的数量大于或等于预设数量阈值,则将所述数据库中的临时离散点删除。
7.一种流聚类的装置,其特征在于,包括:
判断模块,用于若检测到数据库中存在新增样本点,则判断是否存在与所述新增样本点之间的距离小于预设距离的目标质心,其中,质心为所述数据库中的簇包括的预设数量个样本点的特征平均值;
加入模块,用于若存在与所述新增样本点之间的距离小于预设距离的目标质心,则将所述新增样本点加入所述目标质心对应的簇。
8.根据权利要求7所述的装置,其特征在于,所述加入模块,具体用于:
若所述目标质心的数量为1,则将所述新增样本点加入所述目标质心对应的簇;
若所述目标质心的数量大于1,则将所述新增样本点加入其中一个目标质心对应的簇,并将各目标质心对应的簇合并为一个簇。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:聚类模块和确定模块;
所述聚类模块,用于若不存在与所述新增样本点之间的距离小于所述预设距离的目标质心,且所述新增样本点与所述数据库中的临时离散点满足聚类条件,则将所述新增样本点与所述数据库中的临时离散点聚为一簇,所述临时离散点为不属于所述数据库中任何一个簇的样本点;
所述确定模块,用于若不存在与所述新增样本点之间的距离小于所述预设距离的目标质心,且所述新增样本点与所述数据库中的临时离散点不满足聚类条件,则确定所述新增样本点为临时离散点。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述装置还包括:合并模块;
所述确定模块,还用于重新确定所述目标质心对应的簇的质心;
所述合并模块,用于若存在与重新确定的质心之间的距离小于所述预设距离的质心,则将与重新确定的质心之间的距离小于所述预设距离的质心对应的簇,与所述目标质心对应的簇合并为一个簇。
11.根据权利要求6所述的装置,其特征在于,所述装置还包括:样本删除模块,用于:
若接收到样本点删除指令,则判断所述样本点删除指令指示删除的待删除样本点是否为临时离散点;
若所述待删除样本点是临时离散点,则删除所述待删除样本点;
若所述待删除样本点不是临时离散点,则删除所述待删除样本点,并判断所述待删除样本点所属簇中的剩余样本点数量是否小于预设样本点数量阈值;
若所述待删除样本点所属簇中的剩余样本点数量不小于预设样本点数量阈值,则重新计算所述待删除样本点所属簇的质心;
若所述待删除样本点所属簇中的剩余样本点数量小于预设样本点数量阈值,则确定所述待删除样本点所属簇中剩余样本点为临时离散点。
12.根据权利要求9或11所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取所述数据库中临时离散点的数量;
删除模块,用于若所述临时离散点的数量大于或等于预设数量阈值,则将所述数据库中的临时离散点删除。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910844459.2A CN110555144A (zh) | 2019-09-06 | 2019-09-06 | 一种流聚类的方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910844459.2A CN110555144A (zh) | 2019-09-06 | 2019-09-06 | 一种流聚类的方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110555144A true CN110555144A (zh) | 2019-12-10 |
Family
ID=68739540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910844459.2A Pending CN110555144A (zh) | 2019-09-06 | 2019-09-06 | 一种流聚类的方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110555144A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242040A (zh) * | 2020-01-15 | 2020-06-05 | 佳都新太科技股份有限公司 | 一种动态人脸聚类方法、装置、设备和存储介质 |
CN112115180A (zh) * | 2020-09-11 | 2020-12-22 | 国网山东省电力公司枣庄供电公司 | 一种基于大数据的电网事故预测方法 |
CN112560947A (zh) * | 2020-12-14 | 2021-03-26 | 国网青海省电力公司 | 基于能源供需结构分析的聚类方法及装置 |
CN113298103A (zh) * | 2020-05-27 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 向量聚类训练方法及装置 |
-
2019
- 2019-09-06 CN CN201910844459.2A patent/CN110555144A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242040A (zh) * | 2020-01-15 | 2020-06-05 | 佳都新太科技股份有限公司 | 一种动态人脸聚类方法、装置、设备和存储介质 |
WO2021143237A1 (zh) * | 2020-01-15 | 2021-07-22 | 佳都新太科技股份有限公司 | 一种动态人脸聚类方法、装置、设备和存储介质 |
CN111242040B (zh) * | 2020-01-15 | 2022-08-02 | 佳都科技集团股份有限公司 | 一种动态人脸聚类方法、装置、设备和存储介质 |
CN113298103A (zh) * | 2020-05-27 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 向量聚类训练方法及装置 |
CN112115180A (zh) * | 2020-09-11 | 2020-12-22 | 国网山东省电力公司枣庄供电公司 | 一种基于大数据的电网事故预测方法 |
CN112560947A (zh) * | 2020-12-14 | 2021-03-26 | 国网青海省电力公司 | 基于能源供需结构分析的聚类方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555144A (zh) | 一种流聚类的方法、装置、电子设备及介质 | |
US8738721B1 (en) | System and method for detecting spam using clustering and rating of E-mails | |
CN110083475B (zh) | 一种异常数据的检测方法及装置 | |
US10742670B1 (en) | Detecting and preventing execution of a malicious computer application using utility driven graph summarization | |
CN113591068B (zh) | 一种在线登录设备管理方法、装置及电子设备 | |
CN114116065A (zh) | 获取拓扑图数据对象的方法、装置、及电子设备 | |
CN114490160A (zh) | 一种数据倾斜优化因子自动调整方法、装置、设备和介质 | |
CN114281648A (zh) | 一种数据采集方法、装置、电子设备及存储介质 | |
CN108021713B (zh) | 一种文档聚类的方法和装置 | |
CN107391627B (zh) | 数据的内存占用分析方法、装置及服务器 | |
CN111274012B (zh) | 服务调度方法、装置、电子设备及存储介质 | |
CN117130979A (zh) | 一种业务资源的迁移方法、装置及电子设备 | |
CN110768865B (zh) | 一种深度报文检测引擎激活方法、装置及电子设备 | |
CN113132261B (zh) | 一种流量数据包分类方法、装置及电子设备 | |
CN113127693A (zh) | 一种流量数据包统计方法、装置、设备及存储介质 | |
CN113347173B (zh) | 一种包过滤方法、装置及电子设备 | |
CN115292303A (zh) | 数据处理方法及装置 | |
CN114115696B (zh) | 内存重删方法、装置及存储介质 | |
CN113837807A (zh) | 热度预测方法、装置、电子设备及可读存储介质 | |
WO2021012211A1 (zh) | 一种为数据建立索引的方法以及装置 | |
CN113568877A (zh) | 一种文件合并方法、装置、电子设备及存储介质 | |
CN112395510A (zh) | 基于活跃度确定目标用户的方法和装置 | |
CN110909171B (zh) | 一种数据调度方法、装置、终端及存储介质 | |
CN111666733B (zh) | 一种文档中的单元格处理方法和装置 | |
CN111400320B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191210 |