CN107273930A - 一种动态流式数据的聚类方法 - Google Patents
一种动态流式数据的聚类方法 Download PDFInfo
- Publication number
- CN107273930A CN107273930A CN201710454380.XA CN201710454380A CN107273930A CN 107273930 A CN107273930 A CN 107273930A CN 201710454380 A CN201710454380 A CN 201710454380A CN 107273930 A CN107273930 A CN 107273930A
- Authority
- CN
- China
- Prior art keywords
- data
- timeslice
- barycenter
- clustering method
- dynamic stream
- 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
- G06F18/232—Non-hierarchical 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
本发明公开了一种动态流式数据的聚类方法,该方法包括以下步骤:将结构化数据转化为时间字段流数据,随之时间字段排序后得到时间片求出并集;构建训练模型,对缺失数据构建HMM预测;检查数据有效性,对重复数据点新增时间片;剔除异常数据,根据全部时间片,检查是否存在波动异常的数据;质心数据聚类。本发明针对数据的特性进行了专项优化、针对缺失数据,使用HMM进行预测、针对同时间片中同一标识的重复数据进行处理,使本发明能够更准确的反应数据的时间变化特性、能够甄别异常数据、自动优化聚类类别个数、得到高质量的聚类结果。
Description
技术领域
本发明涉及一种聚类方法,尤其涉及一种动态流式数据的聚类方法。
背景技术
聚类算法是数据挖掘领域的几大方法之一,如分类、聚类、回归、因素分析。在大数据时代,通过聚类算法分析海量数据,从中得到更好的决策能力,聚类算法的优势可以处理无监督机器学习,对没有标记的数据主动的进行分类。随着对聚类算法的研究不断深入,研究人员提出了越来越多不同的聚类算法,包括基于划分的聚类,基于网格的聚类,以及基于层次的聚类。这些算法针对不同的维度、规模、类型的数据集提出,针对相同的数据集,使用不同的聚类算法,得到的结果可能差异很大。
目前已有的各类聚类方法,主要分两类:一是指定固定的聚类算法,实施聚类算法并返回结果,但有限的算法导致面对复杂的数据结构的时候,最终聚类效果不理想,但其优点是处理的业务场景更加通用广泛。另一类算法是针对特定的应用领域,可以更细致的划分聚类任务和聚类目标,从而更精确的改进完善聚类算法,最终聚类结果也更符合用户目标,但该类方法的缺点是应用范围单一,本发明属于后者,是针对特定的流数据进行更加细致的处理的聚类方法。
在实时流数据的应用场景中,数据通常是以实时流数据形式进入系统,并且数据的个数随着时间不断变化,或者新增、或者减少,或者中途数据变化的情况。如果这些参数或维度字段是相对固定的,如果这些数据随着时间在发生变化,那么可以针对每一个时间点,增加一个时间参数,即在原有数据上增加了一个维度字段,仍使用K-means、X-means等方法进行聚类计算。
但是这些方法是把时间作为一个单独的字段或维度,融入原来数据,实际上只是把原有数据提升了一个维度,来进行聚类计算的。这样会出现一个问题,某些业务场景本来是根据时间在不断变化,而时间仅作为一个普通维度,聚类效果不好,也无法更好的反应数据的分类特性。
综上,在面对数据的个数随着时间不断变化,或者新增、或者减少,或者中途数据变化的情况,使用传统的K-means、X-means等方法无法有效的进行面对以上复杂的情况进行有效的数据聚类,目前业界也尚无一种针对实时流数据的较好的解决方法。
发明内容
本发明的目的在于克服现有技术的不足,提供一种适用于对时间特性数据动态变化的流式数据的聚类方法。本方法针对数据的特性进行了专项优化、针对缺失数据,使用HMM进行预测、针对同时间片中同一标识的重复数据进行处理的方法,使本发明能够甄别异常数据、自动优化聚类类别个数、得到高质量的聚类结果。
本发明的目的是通过以下技术方案来实现的,一种动态流式数据的聚类方法,它包括以下步骤:
S1:提取时间字段,将数据转化为时间字段数据,并单独将时间字段提取出来;
S2:构建时间片,时间字段排序后构建出时间片段;
S3:判定数据点,定位识别每个数据;
S4:时间片、数据求并集,并将没有对应数据的时间片标记出来;
S5:构建训练模型,对缺失数据构建HMM预测;
S6:检查数据有效性,对重复数据点新增时间片;
S7:剔除异常数据,根据全部时间片,检查是否存在波动异常的数据;
S8:质心数据聚类。
在步骤S1中所述的数据是字段、结构清晰的结构化数据;所述的提取时间字段,时间字段在通过结构储存后,原来的数据结构中不再含有时间字段。
在步骤S2中所述的构建时间片是根据时间字段的数值,对每一个数据集升序排序,每一个数据集作为一个时间片,每个时间片内又包含对应的一个数据集,且每个数据在不同的时间片上能够定位和识别,数据在任意时间点上可以缺失,但不存在重复。
在步骤S3中所述的判定数据点目的在于使数据在任意时间点不存在重复,但可以缺失。
在步骤S4中所述的求并集是对所有时间片和数据求并集,即每一个时间片下,包含整时间段的所有数据,如该数据点在该时间片下无对应数据,则标识出来进入步骤S5做出进一步处理。
在步骤S5中所述的构建训练模型是对缺失数据使用HMM构建新模型,并对模型进行训练和预测。
在步骤S6中所述的检查数据有效性,如果出现重复数据则对重复数据进行标记,对时间片以增加副本形式进行标记,是数据处理的每个时间片都没有重复。
在步骤S7中所述的剔除异常数据是根据全部时间片,检查是否有存在波动异常的数据,如存在则剔除该数据。
在步骤S8中所述的质心数据聚类包括以下步骤:
S81:求质心,利用求质心公式,求出每一个数据,在不同时间点下的所有数据的质心;
S82:判定是否设定聚类数目,若有聚类数目则使用K-means算法对质心数据聚类;若没有聚类数目则使用X-means算法对质心数据聚类。
本发明的有益效果是:
1)针对时间特性进行专项优化。本发明中区别于传统的数据聚类,并非将时间作为数据众多维度中的一种,而是单独构建了时间片的概念,每个时间片下又包含数据的张量。
2)对于缺失数据,使用隐形马尔科夫模型构建并训练模型,进行预测。针对在某个时间片上缺失的数据,先根据该数据在其他时间片上已有的数据训练隐形马尔科夫模型模型,使用模型对缺失的数据进行预测模拟,从而使每个时间片都具备完整的数据,使得最终聚类效果更理想。
3)对同时间片中同一标识的重复数据进行处理。在同一时间片中针对同类时间片进行增加副本形式,将数据处理为每个时间片没有重复的标识,这样有效的利用了全部数据,又适配了后续的数据结构便于进行计算。
4)可以甄别异常数据。可以根据全部时间片,检查是否有存在影响聚类,影响聚类效果的异常数据,如有则进行标记。
5)可以自动优化聚类类别个数。如果指定聚类类别的个数,则按照指定个数进行聚类,如果不指定聚类的个数,可自动判断使用几个类别进行划分。
6)最终聚类质量高。本方法中考虑到了针对流式数据聚类的各种情况。并根据各种应用场景进行了方法的特殊处理和优化,这样本方法的适应性更广泛,使结果更加准确。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合具体实施例进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
实施例1
如图1,一种动态流式数据的聚类方法,它包括以下步骤:
S1:提取时间字段,将数据转化为时间字段数据,并单独将时间字段提取出来;
S2:构建时间片,时间字段排序后构建出时间片段;
S3:判定数据点,定位识别每个数据;
S4:时间片、数据求并集,并将没有对应数据的时间片标记出来;
S5:构建训练模型,对缺失数据构建HMM预测;
S6:检查数据有效性,对重复数据点新增时间片;
S7:剔除异常数据,根据全部时间片,检查是否存在波动异常的数据;
S8:质心数据聚类。
在步骤S1中所述的准备被分析数据中数据应当是结构化数据,数据字段和结构应当清晰、有效。具体实施方法如下,假设字段依次为{C1,C2,C3,C4…..Cn}共计n个字段,整个数据的结构应当是:
[{C11,C12,C13,C14…..C1n},
{C21,C22,C23,C24…..C2n},
{C31,C32,C33,C34…..C3n},
…
{Cm1,Cm2,Cm3,Cm4…..Cmn}
]
其中C12的含义是第1个数据中的第2个字段,整个数据集,有m个数据,每个数据有
n个字段。
所述的提取时间片段中,时间字段用结构储存后,原来的数据结构中不再含有时间字段。具体实施方法如下,假设字段依次为{C1,C2,C3,C4…..Cn},共计n个字段,其中C1为时间,则将数据转化为:
[{t1:C11,[C12,C13,C14…..C1n]},
{t2:C21,[C22,C23,C24…..C2n]},
{t3:C31,[C32,C33,C34…..C3n]},
…
{tm:Cm1,[Cm2,Cm3,Cm4…..Cmn]}
]
转化后数据集中,时间字段被单独抽取出来。
在步骤S2中所述的构建时间片是根据时间字段的数值,对每一个数据集升序排序,每一个数据集作为一个时间片,每个时间片内又包含对应的一个数据集,且每个数据在不同的时间片上能够定位和识别,数据在任意时间点上可以缺失,但不存在重复,即根据C11,C21~Cm1的值将所有数据进行排序,例如C11,C21,C31~Cm1的顺序为:C21,C31,C11~Cm1,则整个数据集为:
[{t3:C31,[C32,C33,C34…..C3n]},
{t1:C11,[C12,C13,C14…..C1n]},
{t2:C21,[C22,C23,C24…..C2n]},
…
{tm:Cm1,[Cm2,Cm3,Cm4…..Cmn]}
]
在步骤S3中所述的判定数据点目的在于使数据在任意时间点不存在重复,但可以缺失,即:抽取C12,C22,~Cm2,作为数据A1,依次抽出数据A1~AM。
在步骤S4中所述的求并集是对所有时间片和数据求并集,即每一个时间片下,包含整时间段的所有数据,如该数据点在该时间片下无对应数据,则标识出来进入步骤S5做出进一步处理,例如,在{t:C21,[C22,C23,C24…..C2n]},这个数据中,没有C25这个数据,则在构造A5的时候,仍然添加C25数据,只是将其值标记为*,等待后续处理。A5数据集为{C15,C25:*,C35,C45~Cm5}。
在步骤S5中所述的构建训练模型是对缺失数据使用HMM构建新模型,并对模型进行训练和预测,具体实施方法如下,针时间片和数据求并集,数据集A5缺乏数据C25的情况,构建训练数据集AX5:{t1:C15,t3:C35,t4C45~t5:Cm5},其中C25的值缺少而缺少{t2:C25},使用AX5数据集训练隐形马尔科夫模型,训练好后,将t2作为输入。
在步骤S6中所述的检查数据有效性,如果出现重复数据则对重复数据进行标记,对时间片以增加副本形式进行标记,是数据处理的每个时间片都没有重复,具体实施方法如下,假设t2时间片的数据为{t2:C21,[C22,C23,C24,C’24,C25…..C2n]},其中C24,C’24均属于数据集A4,则构建出{t2,t,2}两个时间片:
{t2:C21,[C22,C23,C24,C25…..C2n]}
{t’2:C21,[C22,C23,C’24,C25…..C2n]}
确保同一时间片内无重复归属的数据。
在步骤S7中所述的剔除异常数据是根据全部时间片,检查是否有存在波动异常的数据,如存在则剔除该数据。具体实施方法如下:假设数据在同一个时间片内重复次数为FN次,若FN>3则判定位异常数据,例如假设t2时间片的数据为:
{t2:C21,[C22,C23,C24,C’24,C”24,C”’24,C25…..C2n]},其中C24,C’24,C”24,C”’24数据均属于数据集,该数据多次重复出现,则认为该数据为异常数据。
在步骤S8中所述的质心数据聚类包括以下步骤:
S81:求质心,利用求质心公式构建出数据集X:[X1,X2,X3,X4…..Xm],求出每一个数据,在不同时间点下的所有数据的质心;
S82:判定是否设定聚类数目,若有聚类数目K则使用K-means算法对质心数据聚类,则针对数据集X:[X1,X2,X3,X4…..Xm],进行聚类数目为K的聚类,得到聚类结果;若没有聚类数目则使用X-means算法将自动选择聚类质心数据,则针对数据集X:[X1,X2,X3,X4…..Xm]进行聚类,得到聚类结果。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (12)
1.一种动态流式数据的聚类方法,其特征在于,通过构建出时间片的概念,利用HMM进行预测得到理想的聚类结果,它包括以下步骤:
S1:提取时间字段:提取流式数据集的时间字段,并将时间字段单独用结构存储,原有流式数据结构中不再含有时间字段;
S2:构建时间片:根据时间字段数值,对每一个数据集按设定的排序规则进行排序,每一个数据集作为一个时间片,每个时间片内包含一个对应的数据集;
S3:判定数据点:定位识别不同时间片上的每个数据,数据在任意时间片上允许缺失,但不存在重复;
S4:时间片、数据求并集:每一个时间片下,包含整时间段的所有数据,如该数据点在该时间片下无对应数据,则标识出来等待后续进一步处理;
S5:检查数据有效性:如果出现重复数据进行标记,对时间片进行增加副本形式,将数据处理为每个时间片没有重复;
S6:剔除异常数据,针对全部时间片,检查是否有存在波动异常的异常数据,如存在则剔除该数据;
S7:对数据求出质心:利用求质心计算公式,求出每一个数据在不同时间点下的所有数据的质心,并构建出新的数据集X;
S8:聚类处理:根据不同的聚类数目,选择相应的聚类算法对新数据集X进行聚类处理,得到聚类结果。
2.根据权利要求1所述的一种动态流式数据的聚类方法,其特征在于,所述的数据集包括m个数据,每个数据有n个字段。
3.根据权利要求1所述的一种动态流式数据的聚类方法,其特征在于,所述的数据集的字段数允许有缺失或增加。
4.根据权利要求1所述的一种动态流式数据的聚类方法,其特征在于,所述的排序规则为升序排序。
5.根据权利要求1所述的一种动态流式数据的聚类方法,其特征在于,所述的排序规则为降序排序。
6.根据权利要求1所述的一种动态流式数据的聚类方法,其特征在于,还包括缺失数据处理步骤,采用设定的预测模型构建训练模型并对缺失数据进行预测。
7.根据权利要求6所述的一种动态流式数据的聚类方法,其特征在于,所述的预测模型为隐形马尔科夫模型。
8.根据权利要求1所述的一种动态流式数据的聚类方法,其特征在于,数据在同一个时间片内重复次数大于设定阈值,则判定为异常数据。
9.根据权利要求8所述的一种动态流式数据的聚类方法,其特征在于,所述的阈值为3。
10.根据权利要求1所述的一种动态流式数据的聚类方法,其特征在于,所述的质心计算公式为:其中Xm为质心,Xmi为数据集中数据,N为设定的聚类数。
11.根据权利要求1所述的一种动态流式数据的聚类方法,其特征在于,步骤S8中所述的聚类数目为K时则使用K-means算法对质心数据聚类;否则使用X-means算法对质心数据聚类。
12.根据权利要求1所述的一种动态流式数据的聚类方法,其特征在于,在步骤S8中,包括如下子步骤:
S81:求质心,利用求质心公式构建出数据集X:[X1,X2,X3,X4…..Xm],求出每一个数据,在不同时间点下的所有数据的质心;
S82:判定是否设定聚类数目,若有聚类数目K则使用K-means算法对质心数据聚类,则针对数据集X:[X1,X2,X3,X4…..Xm],进行聚类数目为K的聚类,得到聚类结果;若没有聚类数目则使用X-means算法将自动选择聚类质心数据,则针对数据集X:[X1,X2,X3,X4…..Xm]进行聚类,得到聚类结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710454380.XA CN107273930A (zh) | 2017-06-14 | 2017-06-14 | 一种动态流式数据的聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710454380.XA CN107273930A (zh) | 2017-06-14 | 2017-06-14 | 一种动态流式数据的聚类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107273930A true CN107273930A (zh) | 2017-10-20 |
Family
ID=60066845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710454380.XA Pending CN107273930A (zh) | 2017-06-14 | 2017-06-14 | 一种动态流式数据的聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273930A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108305158A (zh) * | 2017-12-27 | 2018-07-20 | 阿里巴巴集团控股有限公司 | 一种训练风控模型和风控的方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102177049A (zh) * | 2008-10-10 | 2011-09-07 | 本田技研工业株式会社 | 用于车辆故障诊断的基准值的生成 |
CN102245437A (zh) * | 2008-12-10 | 2011-11-16 | 本田技研工业株式会社 | 车辆的故障诊断装置 |
CN104679834A (zh) * | 2015-02-06 | 2015-06-03 | 北京工商大学 | 一种时序数据清洗方法及系统 |
CN105243396A (zh) * | 2015-11-06 | 2016-01-13 | 百度在线网络技术(北京)有限公司 | 用户位置信息生成方法和装置 |
-
2017
- 2017-06-14 CN CN201710454380.XA patent/CN107273930A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102177049A (zh) * | 2008-10-10 | 2011-09-07 | 本田技研工业株式会社 | 用于车辆故障诊断的基准值的生成 |
CN102245437A (zh) * | 2008-12-10 | 2011-11-16 | 本田技研工业株式会社 | 车辆的故障诊断装置 |
CN104679834A (zh) * | 2015-02-06 | 2015-06-03 | 北京工商大学 | 一种时序数据清洗方法及系统 |
CN105243396A (zh) * | 2015-11-06 | 2016-01-13 | 百度在线网络技术(北京)有限公司 | 用户位置信息生成方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108305158A (zh) * | 2017-12-27 | 2018-07-20 | 阿里巴巴集团控股有限公司 | 一种训练风控模型和风控的方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107633255B (zh) | 一种深度学习模式下的岩石岩性自动识别分类方法 | |
WO2018014610A1 (zh) | 基于c4.5决策树算法的特定用户挖掘系统及其方法 | |
CN107292330B (zh) | 一种基于监督学习和半监督学习双重信息的迭代式标签噪声识别算法 | |
CN104834940A (zh) | 一种基于支持向量机的医疗影像检查疾病分类方法 | |
CN103617429A (zh) | 一种主动学习分类方法和系统 | |
CN104573669A (zh) | 图像物体检测方法 | |
CN105373606A (zh) | 一种改进c4.5决策树算法下的不平衡数据抽样方法 | |
CN110751121B (zh) | 基于聚类与sofm的无监督雷达信号分选方法 | |
CN110047506B (zh) | 一种基于卷积神经网络和多核学习svm的关键音频检测方法 | |
CN111161814A (zh) | 一种基于卷积神经网络的DRGs自动分组方法 | |
CN1561503A (zh) | 通过模型集合体的对象分类 | |
CN109598307A (zh) | 数据筛选方法、装置、服务器及存储介质 | |
CN110348486A (zh) | 基于采样与特征简约的非平衡数据集转换方法及系统 | |
CN103617435A (zh) | 一种主动学习图像分类方法和系统 | |
CN105389480A (zh) | 多类不平衡基因组学数据迭代集成特征选择方法及系统 | |
CN109598292A (zh) | 一种不同辅助样本正负比例的迁移学习方法 | |
CN109960808A (zh) | 一种文本识别方法、装置、设备及计算机可读存储介质 | |
CN110390358A (zh) | 一种基于特征聚类的深度学习方法 | |
CN111160959A (zh) | 一种用户点击转化预估方法及装置 | |
Gohar et al. | Terrorist group prediction using data classification | |
CN103177264B (zh) | 基于视觉词典全局拓扑表达的图像分类方法 | |
CN108509588B (zh) | 一种基于大数据的律师评估方法及推荐方法 | |
CN107273930A (zh) | 一种动态流式数据的聚类方法 | |
CN112766384A (zh) | 一种基于深度学习的藻类絮体去除率评估方法 | |
CN110706004B (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 |