一种基于流数据的聚类方法技术

技术编号:16038136 阅读:48 留言:0更新日期:2017-08-19 19:58
本发明专利技术提供一种基于流数据的聚类方法,所述聚类方法包括:根据预设的算法产生k个随机种子;对所述k个随机种子进行加权k‑均值+;根据加权k‑均值+的结果进行流数据聚类。本发明专利技术实施例,根据预设的算法产生k个随机种子,对k个随机种子进行加权k‑均值+,根据加权k‑均值+的结果进行流数据聚类,使得本发明专利技术可以处理混合数据、多种形状数据,效率较高的处理了流数据聚类问题。

【技术实现步骤摘要】
一种基于流数据的聚类方法
本专利技术涉及电数据处理领域,尤其涉及一种基于流数据的聚类方法。
技术介绍
如今,社会正处于信息大爆炸时代,源源不断的数据以数据流的形式流入。用户在进行服务器登录使用都会产生大量的登录或者使用记录,对于这些记录产生的流数据,利用数据挖掘的方法,可以帮助人们有效的自动识别异常行为操作,如非授权数据使用、异常数据操作、网络攻击等。流数据聚类的数据挖掘方法作为一种有实际意义而且有效的方法,被在各类网站以及平台被广泛应用。流数据聚类算法问题十分具有挑战性。传统的数据聚类算法,是可以对所有的数据进行多次重复的操作,从而可以得到很好效果。但是由于流数据的数据量巨大,保存所有历史数据是不现实的,所以只能对数据进行一次处理,只能保留历史数据的概要信息。
技术实现思路
有鉴于此,本专利技术提供了一种记录流数据的聚类方法,以解决现有对流数据进行聚类困难的问题。具体地,本专利技术是通过如下技术方案实现的:本专利技术提供一种基于流数据的聚类方法,所述聚类方法包括:根据预设的算法产生k个随机种子;对所述k个随机种子进行加权k-均值+;根据加权k-均值+的结果进行流数据聚类。进一步的,所述根据加权k-均值+的结果进行流数据聚类,包括:对于每一个时间片通过加权k-均值+得到k′个微簇,计算每一个微簇和宏簇集中的宏簇最短的距离:如果距离小于预设的阈值,将该微簇分配到最近的宏簇中,如果距离大于预设的阈值,新建一宏簇,并将该微簇分配到该宏簇。计算每两个宏簇之间的距离,将距离小于预设的阈值的宏簇合并。进一步的,所述根据预设的算法产生k个随机种子,包括:1:输入:k:种子(seeds)的数目,D:数据集2:输出:SS:种子的集合3:在D中随机选择一个对象x14:SS←{x1}5:循环6:计算Σa∈SSD(a,xi)对于所有的7:基于求得的距离和给每一个点赋于概率8:根据概率选择下一个种子xj9:SS←SS∪{xj}10:直到|SS|=k11:返回SS。进一步的,所述对所述k个随机种子进行加权k-均值+,包括:1:输入:k:宏簇(macro-cluster)的数目,D:数据集2:输出:返回k′个微簇3:k′=f(k)4:计算ω=[ω1,ω2,...,ωr]通过(7)式5:SS=Generate_Seeds(k′,D)6:循环7:将每一个点分配到最近的中心8:更新k′个中心点信息9:直到收敛10:返回k′个微簇。进一步的,所述根据加权k-均值+的结果进行流数据聚类,包括:1:输入:k:宏簇(macro-cluster)的数目,DS={χ1,χ2,...}:流数据2:初始化宏簇集合MAS=φ,t=13:MAS=CreateMacroClusterSet(Weighted_K-means+(k,χ1))4:循环5:t←t+16:利用算法2得到k′个微簇7:循环8:计算每一个微簇和所有宏簇的距离,记录最小值9:如果10:新建一个宏簇,并将这个微簇分配到这个宏簇11:否则12:将微簇分配到最近的宏簇13:直到遍历当前时间片所有微簇14:循环15:计算两两宏簇之间的最短距离16:如果17:将两个宏簇合并18:直到没有两个宏簇的距离小于阈值b19:为在同一个宏簇的所以微簇赋予统一标签20:直到没有新的数据来临。本专利技术实施例,根据预设的算法产生k个随机种子,对k个随机种子进行加权k-均值+,根据加权k-均值+的结果进行流数据聚类,使得本专利技术可以处理混合数据、多种形状数据,效率较高的处理了流数据聚类问题。附图说明图1是本专利技术一示例性实施例提供的一种基于流数据的聚类方法的流程图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。在本专利技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本专利技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。如图1所示为本专利技术一示例性实施例提供的一种基于流数据的聚类方法的流程图,所述方法包括:步骤S101,根据预设的算法产生k个随机种子。在本专利技术实施例中,在K-均值算法中,需要用户输入一拱顶的整数k,该整数k即为最终聚类结果的簇的数目。在本专利技术的算法中,将k映射到一更大的k′,使用k′代替k得到k′个微簇。其具体的产生算法如下:1:输入:k:种子(seeds)的数目,D:数据集2:输出:SS:种子的集合3:在D中随机选择一个对象x14:SS←{x1}5:循环6:计算∑a∈SSD(a,xi)对于所有的7:基于求得的距离和给每一个点赋于概率8:根据概率选择下一个种子xj9:SS←SS∪{xj}10:直到|SS|=k11:返回SS。步骤S102,对所述k个随机种子进行加权k-均值+。在本专利技术实施例中,在每一个流数据的时间片中,含有s个数据对象。计算k个随机种子中每一个随机种子的不均匀度,该不均匀度用于在计算距离的时候赋权。对于每一个数据对象,计算该数据对象和每一个中心的距离(对于第一次循环,随机种子即为中心),将数据对象赋给距离最近的中心。更新中心点,循环上述两个步骤直到中心不再移动。通过以上步骤可得到k′微簇。所述对所述k个随机种子进行加权k-均值+,包括:1:输入:k:宏簇(macro-cluster)的数目,D:数据集2:输出:返回k′个微簇3:k′=f(k)4:计算ω=[ω1,ω2,...,ωr]通过(7)式5:SS=Generate_Seeds(k′,D)6:循环7:将每一个点分配到最近的中心8:更新k′个中心点信息9:直到收敛10:返回k′个微簇。步骤S103,根据加权k-均值+的结果进行流数据聚类。在本专利技术实施例中,对于第一个时间片,通过加权k-均值+可以产生k′个微簇,每一个微簇都可以看成一个宏簇,将宏簇放入宏簇集。对于每一个时间片通过加权k-均值+得到k′个微簇,计算每一个微簇和宏簇集中的宏簇最短的距离:如果距离小于预设的阈值,将该微簇分配到最近的宏簇中,如果距离大于预设的阈值,新建一宏簇,并将该微簇分配到该宏簇。计算每两个宏簇之间的距离,将距离小于预设的阈值的宏簇合并。所述根据加权k-均值+的结果进行流数据聚类:1:输入:k:宏簇(macro-cluster)的数目,DS={χ1,χ2,...}:流数据2:初始化宏簇集合MAS=φ,t=13:MAS=CreateMacroClusterSet(Weighted_K-means+(k,χ1))4:循环5本文档来自技高网...
一种基于流数据的聚类方法

【技术保护点】
一种基于流数据的聚类方法,其特征在于,所述聚类方法包括:根据预设的算法产生k个随机种子;对所述k个随机种子进行加权k‑均值+;根据加权k‑均值+的结果进行流数据聚类。

【技术特征摘要】
1.一种基于流数据的聚类方法,其特征在于,所述聚类方法包括:根据预设的算法产生k个随机种子;对所述k个随机种子进行加权k-均值+;根据加权k-均值+的结果进行流数据聚类。2.如权利要求1所述的聚类方法,其特征在于,所述根据加权k-均值+的结果进行流数据聚类,包括:对于每一个时间片通过加权k-均值+得到k′个微簇,计算每一个微簇和宏簇集中的宏簇最短的距离:如果距离小于预设的阈值,将该微簇分配到最近的宏簇中,如果距离大于预设的阈值,新建一宏簇,并将该微簇分配到该宏簇。计算每两个宏簇之间的距离,将距离小于预设的阈值的宏簇合并。3.如权利要求1所述的聚类方法,其特征在于,所述根据预设的算法产生k个随机种子,包括:1:输入:k:种子(seeds)的数目,D:数据集2:输出:SS:种子的集合3:在D中随机选择一个对象x14:SS←{x1}5:循环6:计算∑a∈SSD(a,xi)对于所有的7:基于求得的距离和给每一个点赋于概率8:根据概率选择下一个种子xj9:SS←SS∪{xj}10:直到|SS|=k11:返回SS。4.如权利要求1所述的聚类方法,其特征在于,所述对所述k个随机种子进行加权k-均值+,包括:1:输入:k:...

【专利技术属性】
技术研发人员:李翠微王昌栋梁文斌
申请(专利权)人:广州天锐锋信息科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1