CN107506802A - 一种基于网格的聚类算法及其装置 - Google Patents
一种基于网格的聚类算法及其装置 Download PDFInfo
- Publication number
- CN107506802A CN107506802A CN201710977267.XA CN201710977267A CN107506802A CN 107506802 A CN107506802 A CN 107506802A CN 201710977267 A CN201710977267 A CN 201710977267A CN 107506802 A CN107506802 A CN 107506802A
- Authority
- CN
- China
- Prior art keywords
- grid
- gridding
- central
- data
- density
- 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
- 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)
- Image Analysis (AREA)
Abstract
本申请公开了一种基于网格的聚类算法,通过获取数据集,并根据数据集中数据的维度和数量划分多个网格;将数据映射至对应的网格中;选取密度最大的网格作为中心网格,将与中心网格相邻的,且满足密度要求的目标网格与中心网格合并以得到下一轮合并操作的中心网格,直到目标网格不存在为止;另外判断中心网格是否存在边界点;若存在,则将中心网格与边界点所在的边界网格合并;若不存在,则根据中心网格输出数据簇或噪声集。通过将根据数据的维度和数量划分网格作为预先存储的划分规则,从而减少了计算量,使得基于网格的聚类算法更简便。申请还公开了一种基于网格的聚类算法的装置,具有上述有益效果。
Description
技术领域
本发明涉及聚类算法领域,特别涉及一种基于网格的聚类算法,还涉及一种基于网格的聚类算法的装置。
背景技术
聚类算法是一种无监督的机器学习算法,在缺乏先验知识的情况下能够根据数据的相似性进行数据的类别划分,以此来发现大量数据中的潜在价值。
基于网格的聚类方法将数据空间划分为有限个单元(cell)的网格结构,所有的处理都是以单个的网格单元为对象。现有技术中的基于网格的聚类算法有由Wang W等提出的STING,由Agrawal R等提出的CLIQUE等,这些基于网格的聚类算法使用了不同的网格划分方法,并对网格数据结构进行了不同的处理,但是在网格划分时需要人为地设置的网格划分参数,在设置参数之前需要考虑数据集中大量数据的数量或者数据形式等,计算量大且计算繁琐。
因此,如何简便地进行基于网格的聚类算法是本领域技术人员目前需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于网格的聚类算法,能够使基于网格的聚类算法更简便;本发明的另一目的在于提供一种基于网格的聚类算法的装置,具有上述有益效果。
为解决上述技术问题,本发明提供一种基于网格的聚类算法,包括:
获取数据集,并根据数据集中数据的维度和数量划分多个网格;
将所述数据映射至对应的网格中;
选取密度最大的所述网格作为中心网格,将与所述中心网格相邻的,且满足密度要求的目标网格与所述中心网格合并以得到下一轮合并操作的所述中心网格,直到所述目标网格不存在为止;
判断所述中心网格是否存在边界点;
若存在,则将所述中心网格与所述边界点所在的边界网格合并;
若不存在,则根据所述中心网格输出数据簇或噪声集。
优选地,所述选取密度最大的所述网格作为中心网格,将与所述中心网格相邻的,且满足密度要求的目标网格与所述中心网格合并以得到下一轮合并操作的所述中心网格,直到所述目标网格不存在为止具体包括:
选取密度最大的所述网格作为所述中心网格;
计算所述中心网格与所述中心网格的相邻网格的相对密度差,并将所述相对密度差小于预设值的所述相邻网格设置为所述目标网格;
将所述中心网格与所述目标网格合并,得到下一轮合并操作的所述中心网格;
判断是否存在所述目标网格,若是,则继续将所述中心网格与所述目标网格合并,得到下一轮合并操作的所述中心网格;
若否,则结束进程。
优选地,在所述将所述中心网格与所述边界点所在的边界网格合并之后进一步包括:
将所述边界网格进行标记。
优选地,在所述将所述中心网格与所述目标网格合并之后进一步包括:
将所述目标网格进行标记。
优选地,进一步包括:
在所述根据所述中心网格输出数据簇或噪声集之后判断多个所述网格中是否存在未被标记的所述网格,若是,则将未标记的所述网格中密度最大的所述网格设置为所述中心网格。
优选地,进一步包括:
判断所述密度最大的所述网格的密度是否小于预设的最低网格密度;
若是,则将所述密度最大的所述网格进行标记。
优选地,在所述根据合并的所述中心网格输出数据簇或噪声集之后进一步包括:
将所述数据簇设置为数据集,以便下一次根据数据集中的数据的维度和数量划分多个网格。
优选地,进一步包括:
为所述数据簇分配独立的线程。
为解决上述技术问题,本发明还提供一种基于网格的聚类算法的装置,包括:
网格划分模块,用于获取数据集,并根据数据集中数据的维度和数量划分多个网格;
数据分箱模块,用于将所述数据映射至对应的网格中;
第一网格合并模块,用于选取密度最大的所述网格作为中心网格,将与所述中心网格相邻的,且满足密度要求的目标网格与所述中心网格合并以得到下一轮合并操作的所述中心网格,直到所述目标网格不存在为止;
第二网格合并模块,用于判断所述中心网格是否存在边界点;
若存在,则将所述中心网格与所述边界点所在的边界网格合并;
数据输出模块,用于当所述中心网格不存在边界点时,根据所述中心网格输出数据簇或噪声集。
为解决上述技术问题,本发明还提供一种基于网格的聚类算法的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现上述基于网格的聚类算法的步骤。
本发明提供的基于网格的聚类算法,通过获取数据集,并根据数据集中数据的维度和数量划分多个网格;然后将数据映射至对应的网格中;选取密度最大的网格作为中心网格,将与中心网格相邻的,且满足密度要求的目标网格与中心网格合并以得到下一轮合并操作的中心网格,直到目标网格不存在为止;另外判断中心网格是否存在边界点;若存在,则将中心网格与边界点所在的边界网格合并;若不存在,则根据中心网格输出数据簇或噪声集。
可见,本发明是通过将根据数据的维度和数量划分网格作为预先存储的划分规则,在获取数据集后,调用预先存储的划分规则,按照划分规则划分网格。而不需要在每次获取数据集后重新定义划分规则,再划分网格,从而减少了计算量,使得基于网格的聚类算法更简便。
为解决上述技术问题,本发明提供了一种基于网格的聚类算法的装置,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种基于网格的聚类算法的流程图;
图2为本发明实施例提供的一种基于网格的聚类算法的示意图;
图3为图1所示的一种基于网格的聚类算法的步骤S30的具体流程图;
图4为本发明实施例提供的一种基于网格的聚类算法的装置图;
图5为本发明实施例提供的一种基于网格的聚类算法的装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的核心是提供一种基于网格的聚类算法,能够更简便地划分网格,减少计算量;本发明的另一核心是提供一种基于网格的聚类算法的装置,具有上述有益效果。
为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明实施例提供的一种基于网格的聚类算法的流程图;图2为本发明实施例提供的一种基于网格的聚类算法的示意图。如图所示,包括:
S10:获取数据集,并根据数据集中数据的维度和数量划分多个网格。
一般的,数据集中含有多个数据,并且数据集中的数据具有各自对应的维度,根据数据集中数据的维度和数量计算网格的边长,根据网格的边长划分网格。例如,数据集D中的数据个数为M,数据的维度为n维,假设在第i(i=1,2,3,…,n)维上数据值的范围为Ri=[li,hi],则n维数据空间的范围S=R1×R2×...Rn。作为优选的实施方式,设定网格边长为:
则每一维上网格数量为:
需要说明的是,本实施例中,计算每一维上的网格数量后需向上取整,也就是说,如果按照公式计算出网格数量的值含有小数,就取比这个小数大的最接近的整数作为网格的数量。
可以理解的是,经过网格划分,将数据空间中的每一维都划分为长度相等、互不相交的网格。在本实施例中,这些网格在每一维上的范围都是左闭右开的。当然,也可以采取其他取范围值的方式,例如左开右闭等,本实施例对此不做限定。
S20:将数据映射至对应的网格中。
具体的,计算数据集中数据在每一维上的下标,数据的下标即该数据对应的在网格的位置,把数据集中的每个对象映射到对应的网格中,对于每个数据对象X(x1,x2,…,xn),其所对应的网格在每一维上的下标为indexi,所有下标的集合即(index1,index2,...,indexn),就是该数据所属网格的位置。在本实施中,作为优选的实施方式,数据在每一维上的下标计算方式为:
例如,对于数据对象X,其维度为n,其所对应的网格在每一维上的下标为(index1,index2,...,indexn),也就是说,在1至n维空间中,数据X在每一维上的位置分别为(index1,index2,...,indexn)。这样,就能将数据集中的数据唯一对应地映射至划分好的网格中。
在本实施例中,当有数据映射至对应的网格时,可以通过记录网格密度的变量在程序中自动增加,由此计算出每个网格对应的网格密度。例如,对于某一网格gi而言,当有一个数据映射至网格gi中时,其网格密度den(gi),也就是记录网格中数据的变量的个数自动加1,并用增加后得出的数更新其网格密度。当然,也可以通过在数据集中的所有数据都映射至对应的网格后,再通过计数变量计算网格的密度。本实施例对计算网格密度的方法不做限定。
S30:选取密度最大的所网格作为中心网格,将与中心网格相邻的,且满足密度要求的目标网格与中心网格合并以得到下一轮合并操作的中心网格,直到目标网格不存在为止。
具体的,根据每一网格密度比较判断出网格密度最大的网格,并将密度最大的网格设置为中心网格。判断与中心网格相邻的网格是否满足合并的密度要求,若满足,则将相邻网格作为目标网格,并将中心网格和目标网格合并。本实施例中,假设两个网格g1和g2,其中,g1为中心网格,其密度为den(g1),g2为与g1相邻的且满足密度要求的目标网格,其密度为den(g2),将中心网格g1和目标网格g2合并,中心网格g1更新为合并后的大网格区域,且中心网格g1的密度为:
并以此作为合并后的网格密度。其中,Gnum表示已经合并的网格数,如中心网格g1和目标网格g2合并,则Gnum为2。
需要说明的是,以中心网格向外合并满足密度要求的相邻网格,相邻指的是与中心网格的网格边界临接。例如,在二维数据空间中,与中心网格的相邻网格一般为与中心网格的四条边界线相邻的4个网格。判断中心网格与相邻网格是否满足合并的密度要求时,可以同时判断,也可以是依次判断;依次判断时可以是从某一相邻网格开始按照顺时针的顺序依次判断,也可以是按照逆时针的顺序判断,或者可以按照随机的方式判断。本实施例对判断与中心网格相邻的网格是否满足合并的要求的顺序不做限定,但是,为了在合并时不出现差错,一般的,在判断出目标网格后需要合并时采用依次合并的方法。
在一轮合并结束后,判断是否存在目标网格,若存在,则用上述方法继续向外扩展合并网格,直到目标网格不存在为止。
S40:判断中心网格是否存在边界点;
S50:若存在,则将中心网格与边界点所在的边界网格合并。
可以理解的是,首先判断中心网格是否存在边界点,也就是说在不满足合并要求的相邻网格中可能存在中心网格的边界点,边界点所在的网格为边界网格,如果将边界点作为噪声点丢弃,将会造成数据的误差较大,因此,将边界网格与中心网格合并。例如,假设g1为中心网格,其密度为den(g1),g3为中心网格g1相邻的但不满足密度要求的网格,其密度为den(g3),网格g3中有中心网格的边界点,因此,将中心网格g1和边界网格g3合并,中心网格g1的密度为:
并以此作为合并后的中心网格g1的密度。需要说明的是,中心网格与边界网格合并后,将合并后的区域作为新的中心网格,但是不再判断边界网格相邻的网格是否满足合并的条件,也就是说,合并边界网格后,不再判断边界网格相邻的网格是否满足合并的条件;若中心网格的其他边界还没有合并操作,则继续中心网格其他边界的合并操作。例如,如图2所示,在二维数据空间中,网格A为中心网格,网格B、C、D、E为网格A的相邻网格,数据点a,b为中心网格A的边界点,则将数据点a,b所在的网格B与中心网格A合并,并计算合并后的中心网格A1的密度。边界网格B合并后将不再继续判断与之相邻的网格是否满足密度要求,不再向外合并网格,但是如果中心网格A的其他相邻的网格C、D、E满足合并的条件,则继续合并。假设网格D为目标网格,则将中心网格A与目标网格D合并后,再继续判断与网格D相邻的网格是否满足合并的密度要求。
S60:若中心网格不存在边界点,则根据中心网格输出数据簇或噪声集。
可以理解的是,当中心网格不存在边界点时,也就是说,已不存在能够与当前的中心网格合并的网格,则根据中心网格输出数据簇,也就是数据聚类的结果;未被中心网格合并的网格中的点即噪声点,则输出噪声点的集合。
本实施例提供的基于网格的聚类算法,通过获取数据集,并根据数据集中数据的维度和数量划分多个网格;然后将数据映射至对应的网格中;选取密度最大的网格作为中心网格,将与中心网格相邻的,且满足密度要求的目标网格与中心网格合并以得到下一轮合并操作的中心网格,直到目标网格不存在为止;另外判断中心网格是否存在边界点;若存在,则将中心网格与边界点所在的边界网格合并;若不存在,则根据中心网格输出数据簇或噪声集。通过将根据数据的维度和数量划分网格作为预先存储的划分规则,在获取数据集后,调用预先存储的划分规则,按照划分规则划分网格。而不需要在每次获取数据集后重新定义划分规则,再划分网格,从而减少了计算量,使得基于网格的聚类算法更简便。
图3为图1所示的一种基于网格的聚类算法的步骤S30的具体流程图。
本发明实施例公开了一种具体的基于网格的聚类算法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的,请参考图3,步骤S30中选取密度最大的所网格作为中心网格,将与中心网格相邻的,且满足密度要求的目标网格与中心网格合并以得到下一轮合并操作的中心网格,直到目标网格不存在为止具体包括:
S31:选取密度最大的网格作为中心网格。
具体的,根据上述方法计算出网格的密度,并根据网格的密度判断出密度最大的网格,并将密度最大的网格设置为中心网格。
S32:计算中心网格与中心网格的相邻网格的相对密度差,并将相对密度差小于预设值的相邻网格设置为目标网格。
在本实施例中,判断是否满足合并的密度要求具体包括判断中心网格与相邻网格的相对密度差,将计算出的相对密度差与预设值相比较。一般的,计算出的相对密度差的值小于预设值,则表示满足合并的密度要求。具体的,预设值ε是根据实验结果得出的,一般设置为小于1的数,可以设置为0.75至0.79之间的数,本实施例对预设值ε的具体数值不做限定。作为优选的实施方式,假设中心网格g1和与中心网格相邻的相邻网格g2,其网格密度分别为den(g1)和den(g2),两个网格的相对密度差为:
当rgdd(g1,g2)的值小于预设值ε时,即说明相邻网格g2满足合并的要求,则将相邻网格g2设置为目标网格。
S33:将中心网格与目标网格合并,得到下一轮合并操作的中心网格。
需要说明的是,数据聚类一般需要经过多次网格合并的操作,因此,在将中心网格合并后得到新的网格区域,该区域是两个网格区域的面积,其网格密度是两个网格区域的平均密度。将新的网格区域作为下一轮合并操作的中心网格,并用于之后的网格合并操作。
S34:判断是否存在目标网格;
S35:若是,则继续将中心网格与目标网格合并,得到下一轮合并操作的中心网格;
S36:若否,则结束进程。
可以理解的是,中心网格与目标网格合并后,得到新的中心网格,将合并后的整体区域作为中心网格,判断是否存在目标网格,也就是与中心网格相邻的且满足密度要求的网格,若存在,则按照上述步骤继续将中心网格与目标网格合并;若否,则结束进程,进入步骤S40。
可见,通过选取密度最大的所网格作为中心网格,将与中心网格相邻的,且满足密度要求的目标网格与中心网格合并以得到下一轮合并操作的中心网格,直到目标网格不存在为止,可以将所有能够与中心网格合并的网格都进行聚类,使得聚类的结果更准确。
本发明实施例公开了一种具体的基于网格的聚类算法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的,在将中心网格与边界点所在的边界网格合并之后进一步包括:
将边界网格进行标记。
作为优选的实施例,在将中心网格与边界点所在的边界网格合并之后,对边界网格进行标记。具体的,标记的方法可以是在网格上设置标记符号,也可以在程序中记录边界网格,也可以是其他的标记方式,本实施例对此不做限定。具体的,标记的类型可以具体为标记网格内具有边界点的边界网格,或者标记为已进行操作过网格,这样可以避免在之后的合并操作中避免重复合并操作。另外,也可以对没有边界点的边界网格进行操作,这样就可以更方便地辨认网格的类型,避免多次进行判断。本实施例对具体的标记类型不做限定。
本发明实施例公开了一种具体的基于网格的聚类算法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的,在将中心网格与目标网格合并之后进一步包括:
将目标网格进行标记。
具体的,标记的方法可以参照上述标记边界网格的方法,在此不再赘述。标记的类型可以具体为标记为目标网格,或者标记为域内网格,也可以是其他的标记类型,本实施例对此不做限定。
通过标记网格,可以在之后的合并操作中避免对已操作过的网格重复操作,进一步减少了计算量。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化。具体的,进一步包括:
在根据中心网格输出数据簇或噪声集之后判断多个网格中是否存在未被标记的网格,若是,则将未标记的网格中密度最大的网格设置为中心网格。
具体的,网格合并结束,根据中心网格合并的情况输出数据簇,或者输出除数据簇之外的数据点即噪声集之后,判断数据空间中的网格是否存在未被标记的网格。需要说明的是,判断是否存在未被标记的网格的方式可以通过检测数据空间中的所有网格,根据标记情况检测未被标记的网格。若存在未被标记的网格,则再在未被标记的网格中选取密度最大的网格,并将密度最大的网格设置为中心网格。
通过上述方法,在一次输出数据簇之后再次选取中心网格进行聚类,能够输出多个数据簇,能够在数据分散的情况下避免将网格中的数据误判为噪声点,对数据的聚类更科学。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化。具体的,进一步包括:
判断密度最大的网格的密度是否小于预设的最低网格密度;
若是,则将密度最大的网格进行标记。
具体的,预先设置最低网格密度,在数据空间存在未被标记的网格,并从未被标记的网格中选取密度最大的网格后,将选取的密度最大的网格的密度与预先设置的最低网格密度作比较,当密度最大的网格的密度大于或等于预设的最低网格密度时,将这个网格设置为中心网格,并按照上述的合并方法进行操作;当密度最大的网格的密度小于预设的最低网格密度时,将选取的密度最大的网格进行标记。也就是说,虽然还存在剩余的未被标记的网格,但是其网格密度都低于最低网格密度,因此,可以将些网格中的点作为噪声点输出,不需要再进行网格合并。
通过判断密度最大的网格的密度是否小于预设的最低网格密度,可以在密度最大的网格的密度小于预设的最低网格密度时结束聚类的进程,这样可以简化聚类算法的进程,减少计算量。
本发明实施例提供了另一种基于网格的聚类算法,具体的,在上述实施例的基础上,在根据合并的中心网格输出数据簇或噪声集之后进一步包括:
将数据簇设置为数据集,以便下一次根据数据集中的数据的维度和数量划分多个网格。
可以理解的是,在数据空间内的网格都不能再合并时,输出合并的结果即数据聚类的结果,将输出的数据簇设置为数据集,这样,相当于在输出的数据簇的基础上开启了新的聚类算法:将一个数据簇作为一个数据集,再根据数据集中数据的维度和数量划分网格,也就是再次调取预先存储的划分的规则划分网格并进行后续的操作。但是,需要说明的是,由于第二次网格划分时的数据相对与第一次划分网格时的数据来说更聚集,因此第一次网格划分时采用的划分粒度较高,再次对已输出的数据簇进行网格划分时的网格划分参数的粒度相对于第一次网格划分将更细。当然,可以理解的是,还可以对二次网格划分后进行数据聚类并输出的第二数据簇进行第三次划分。划分的次数可以根据实际需要进行,且划分的粒度一般是逐渐减小。
可见,经过多次网格划分,可以剥离网格边缘的噪声数据,使数据聚类更精确。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化。具体的,进一步包括:
为数据簇分配独立的线程。
也就是说,在输出数据簇后,需要再次划分网格时,对多个数据簇分别分配独立的线程,数据簇在各自独立的线程中进行网格划分、网格合并等操作。
这样,采用并行的计算方式,多个线程中时间最长的时间即为操作时间,而不需要在某一合并操作过程结束后再进行操作,操作时间为所有合并操作时间的总和,因此节省了聚类的时间,加快了聚类的速度,加强了聚类的效率。
上文对于本发明提供的一种基于网格的聚类算法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的基于网格的聚类算法的装置,由于装置部分的实施例与方法部分的实施例相互照应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图4为本发明实施例提供的一种基于网格的聚类算法的装置图,包括:
网格划分模块41,用于获取数据集,并根据数据集中数据的维度和数量划分多个网格;
数据分箱模块42,用于将数据映射至对应的网格中;
第一网格合并模块43,用于选取密度最大的网格作为中心网格,将与中心网格相邻的,且满足密度要求的目标网格与中心网格合并以得到下一轮合并操作的中心网格,直到目标网格不存在为止;
第二网格合并模块44,用于判断中心网格是否存在边界点;若存在,则将中心网格与边界点所在的边界网格合并;
数据输出模块45,用于当所述中心网格不存在边界点时,根据中心网格输出数据簇或噪声集。
本实施例提供的基于网格的聚类算法的装置,具有上述基于网格的聚类算法的有益效果。
图5为本发明实施例提供的一种基于网格的聚类算法的装置图,包括:
存储器51,用于存储计算机程序;
处理器52,用于执行计算机程序以实现如下步骤:
获取数据集,并根据数据集中数据的维度和数量划分多个网格;
将数据映射至对应的网格中;
选取密度最大的网格作为中心网格,将与中心网格相邻的,且满足密度要求的目标网格与中心网格合并以得到下一轮合并操作的中心网格,直到目标网格不存在为止;
判断中心网格是否存在边界点;若存在,则将中心网格与边界点所在的边界网格合并;
若不存在,则根据中心网格输出数据簇或噪声集。
本实施例提供的基于网格的聚类算法的装置,具有上述基于网格的聚类算法的有益效果。
以上对本发明所提供的基于网格的聚类算法进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (10)
1.一种基于网格的聚类算法,其特征在于,包括:
获取数据集,并根据数据集中数据的维度和数量划分多个网格;
将所述数据映射至对应的网格中;
选取密度最大的所述网格作为中心网格,将与所述中心网格相邻的,且满足密度要求的目标网格与所述中心网格合并以得到下一轮合并操作的所述中心网格,直到所述目标网格不存在为止;
判断所述中心网格是否存在边界点;
若存在,则将所述中心网格与所述边界点所在的边界网格合并;
若不存在,则根据所述中心网格输出数据簇或噪声集。
2.根据权利要求1所述的基于网格的聚类算法,其特征在于,所述选取密度最大的所述网格作为中心网格,将与所述中心网格相邻的,且满足密度要求的目标网格与所述中心网格合并以得到下一轮合并操作的所述中心网格,直到所述目标网格不存在为止具体包括:
选取密度最大的所述网格作为所述中心网格;
计算所述中心网格与所述中心网格的相邻网格的相对密度差,并将所述相对密度差小于预设值的所述相邻网格设置为所述目标网格;
将所述中心网格与所述目标网格合并,得到下一轮合并操作的所述中心网格;
判断是否存在所述目标网格;
若是,则继续将所述中心网格与所述目标网格合并,得到下一轮合并操作的所述中心网格;
若否,则结束进程。
3.根据权利要求1所述的基于网格的聚类算法,其特征在于,在所述将所述中心网格与所述边界点所在的边界网格合并之后进一步包括:
将所述边界网格进行标记。
4.根据权利要求2所述的基于网格的聚类算法,其特征在于,在所述将所述中心网格与所述目标网格合并之后进一步包括:
将所述目标网格进行标记。
5.根据权利要求3或4所述的基于网格的聚类算法,其特征在于,进一步包括:
在所述根据所述中心网格输出数据簇或噪声集之后判断多个所述网格中是否存在未被标记的所述网格,若是,则将未标记的所述网格中密度最大的所述网格设置为所述中心网格。
6.根据权利要求5所述的基于网格的聚类算法,其特征在于,进一步包括:
判断所述密度最大的所述网格的密度是否小于预设的最低网格密度;
若是,则将所述密度最大的所述网格进行标记。
7.根据权利要求1所述的基于网格的聚类算法,其特征在于,在所述根据合并的所述中心网格输出数据簇或噪声集之后进一步包括:
将所述数据簇设置为数据集,以便下一次根据数据集中的数据的维度和数量划分多个网格。
8.根据权利要求7所述的基于网格的聚类算法,其特征在于,进一步包括:
为所述数据簇分配独立的线程。
9.一种基于网格的聚类算法的装置,其特征在于,包括:
网格划分模块,用于获取数据集,并根据数据集中数据的维度和数量划分多个网格;
数据分箱模块,用于将所述数据映射至对应的网格中;
第一网格合并模块,用于选取密度最大的所述网格作为中心网格,将与所述中心网格相邻的,且满足密度要求的目标网格与所述中心网格合并以得到下一轮合并操作的所述中心网格,直到所述目标网格不存在为止;
第二网格合并模块,用于判断所述中心网格是否存在边界点;
若存在,则将所述中心网格与所述边界点所在的边界网格合并;
数据输出模块,用于当所述中心网格不存在边界点时,根据所述中心网格输出数据簇或噪声集。
10.一种基于网格的聚类算法的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至8任一项所述基于网格的聚类算法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710977267.XA CN107506802A (zh) | 2017-10-19 | 2017-10-19 | 一种基于网格的聚类算法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710977267.XA CN107506802A (zh) | 2017-10-19 | 2017-10-19 | 一种基于网格的聚类算法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107506802A true CN107506802A (zh) | 2017-12-22 |
Family
ID=60702117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710977267.XA Pending CN107506802A (zh) | 2017-10-19 | 2017-10-19 | 一种基于网格的聚类算法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107506802A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109389172A (zh) * | 2018-10-11 | 2019-02-26 | 中南大学 | 一种基于无参数网格的无线电信号数据聚类方法 |
CN110161464A (zh) * | 2019-06-14 | 2019-08-23 | 成都纳雷科技有限公司 | 一种雷达多目标聚类方法及装置 |
CN110309437A (zh) * | 2019-06-26 | 2019-10-08 | 京东数字科技控股有限公司 | 一种信息推送方法和装置 |
CN110488259A (zh) * | 2019-08-30 | 2019-11-22 | 成都纳雷科技有限公司 | 一种基于gdbscan的雷达目标分类方法及装置 |
CN111127062A (zh) * | 2018-11-01 | 2020-05-08 | 中国移动通信集团广东有限公司 | 一种基于空间搜索算法的群体欺诈识别方法及装置 |
CN111460878A (zh) * | 2019-01-22 | 2020-07-28 | 斯特拉德视觉公司 | 利用网格生成器的神经网络运算方法及使用该方法的装置 |
CN111460879A (zh) * | 2019-01-22 | 2020-07-28 | 斯特拉德视觉公司 | 利用网格生成器的神经网络运算方法及使用该方法的装置 |
CN117131149A (zh) * | 2023-10-26 | 2023-11-28 | 四川国蓝中天环境科技集团有限公司 | 一种基于运渣车gps轨迹的土石方点位和运输网络识别方法 |
-
2017
- 2017-10-19 CN CN201710977267.XA patent/CN107506802A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109389172B (zh) * | 2018-10-11 | 2022-05-20 | 中南大学 | 一种基于无参数网格的无线电信号数据聚类方法 |
CN109389172A (zh) * | 2018-10-11 | 2019-02-26 | 中南大学 | 一种基于无参数网格的无线电信号数据聚类方法 |
CN111127062A (zh) * | 2018-11-01 | 2020-05-08 | 中国移动通信集团广东有限公司 | 一种基于空间搜索算法的群体欺诈识别方法及装置 |
CN111127062B (zh) * | 2018-11-01 | 2023-08-18 | 中国移动通信集团广东有限公司 | 一种基于空间搜索算法的群体欺诈识别方法及装置 |
CN111460879A (zh) * | 2019-01-22 | 2020-07-28 | 斯特拉德视觉公司 | 利用网格生成器的神经网络运算方法及使用该方法的装置 |
CN111460878A (zh) * | 2019-01-22 | 2020-07-28 | 斯特拉德视觉公司 | 利用网格生成器的神经网络运算方法及使用该方法的装置 |
CN111460879B (zh) * | 2019-01-22 | 2023-09-26 | 斯特拉德视觉公司 | 利用网格生成器的神经网络运算方法及使用该方法的装置 |
CN111460878B (zh) * | 2019-01-22 | 2023-11-24 | 斯特拉德视觉公司 | 利用网格生成器的神经网络运算方法及使用该方法的装置 |
CN110161464B (zh) * | 2019-06-14 | 2023-03-10 | 成都纳雷科技有限公司 | 一种雷达多目标聚类方法及装置 |
CN110161464A (zh) * | 2019-06-14 | 2019-08-23 | 成都纳雷科技有限公司 | 一种雷达多目标聚类方法及装置 |
CN110309437A (zh) * | 2019-06-26 | 2019-10-08 | 京东数字科技控股有限公司 | 一种信息推送方法和装置 |
CN110488259A (zh) * | 2019-08-30 | 2019-11-22 | 成都纳雷科技有限公司 | 一种基于gdbscan的雷达目标分类方法及装置 |
CN117131149A (zh) * | 2023-10-26 | 2023-11-28 | 四川国蓝中天环境科技集团有限公司 | 一种基于运渣车gps轨迹的土石方点位和运输网络识别方法 |
CN117131149B (zh) * | 2023-10-26 | 2024-01-23 | 四川国蓝中天环境科技集团有限公司 | 一种基于运渣车gps轨迹的土石方点位和运输网络识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506802A (zh) | 一种基于网格的聚类算法及其装置 | |
CN109948641A (zh) | 异常群体识别方法及装置 | |
CN109214462A (zh) | 一种基于分布式增量型dbscan算法的空间数据流在线聚类方法 | |
CN109658509A (zh) | 一种狭长图斑分块方法、装置、计算机设备和存储介质 | |
WO2017161646A1 (zh) | 大数据量预测的三层联合动态选择最优模型方法 | |
CN105205052B (zh) | 一种数据挖掘方法及装置 | |
CN113722314B (zh) | 一种空间连接查询方法、装置、电子设备及存储介质 | |
CN107479856A (zh) | 反正切函数数据结构及建立方法、函数值获取方法和装置 | |
CN115758938B (zh) | 面向粘性边界流场数值模拟的附面层网格生成方法 | |
Molchanov et al. | Overcoming the Curse of Dimensionality When Clustering Multivariate Volume Data. | |
CN109033365A (zh) | 一种数据处理方法及相关设备 | |
CN106095843B (zh) | 社交账号挖掘方法及装置 | |
CN111508054A (zh) | 地形构建方法、装置及设备 | |
CN107480771A (zh) | 基于深度学习的激活函数的实现方法及装置 | |
CN108170837A (zh) | 数据离散化方法、装置、计算机设备及存储介质 | |
CN109189343A (zh) | 一种元数据落盘方法、装置、设备及计算机可读存储介质 | |
CN107346350A (zh) | 集成电路版图数据处理任务的分配方法、装置和集群系统 | |
CN108510010A (zh) | 一种基于预筛选的密度峰值聚类方法及系统 | |
CN110427341A (zh) | 一种基于路径排序的知识图谱实体关系挖掘方法 | |
CN110275895A (zh) | 一种缺失交通数据的填充设备、装置及方法 | |
CN107276807A (zh) | 一种基于社区动态紧密度的层次化网络社区树剪枝方法 | |
CN106780747A (zh) | 一种快速分割cfd计算网格的方法 | |
Mondal et al. | A new approach to GraphMaps, a system browsing large graphs as interactive maps | |
Brodal et al. | Computing the quartet distance between evolutionary trees in time O (n log2 n) | |
CN104932982B (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: 20171222 |