一种基于KMeans算法的关联规则方法技术

技术编号:24355361 阅读:19 留言:0更新日期:2020-06-03 02:26
本发明专利技术公开了一种基于KMeans算法的关联规则方法,涉及数据挖掘领域,该方法是对具有时间差数据的关联的一种方法,在现实生活中,很多需要关联的数据具有时间差,如果不考虑时间差因素,将所需要的数据进行关联,不仅会产生数据冗余的问题还会使关联结果的准确率降低,因此,解决上述问题需要考虑时间差因素,将时间差作为关联的时间距离,采用KMeans算法思想将有关的数据进行簇的划分,在簇中进行关联数据,此方法不仅能排除无关紧要的数据参与关联运算而且还会提高关联结果的准确率。

A method of association rules based on kmeans algorithm

【技术实现步骤摘要】
一种基于KMeans算法的关联规则方法
本专利技术属于物联网信息
,尤其对具有时间差的数据信息关联的挖掘方法。
技术介绍
随着改革开放的深入,我国的经济得到空前的发展,城市化水平不断提高,我们进入了数据爆炸式增长即大数据的时代,这些数据被有效的收集,存储,它们具有大量,多样性,高速度和价值等特征。如果能进行很好的挖掘里面数据的信息,将能够极大的促进相关行业的发展以及经济的发展。目前,在大数据背景前提下,挖掘数据里面的信息能为热点,其中之一的算法就是关联算法来挖掘数据里面的信息,但是,普遍的思想就是截取相同的时间段依次计算频繁项的支持度与置信度,而然对于具有时间差的数据,该方法带来的问题就是计算支持度时,重复的计算数据的支持度,这样使得支持度比真实值都要大,关联效果不精确。针对这种问题,本次专利技术提出了基于KMeans聚类算法的关联方法,这样使得计算支持度与置信度的值非常接近真实值。
技术实现思路
本专利技术要解决的技术问题是,提供一种基于KMeans算法的关联规则方法,实现对具有时间差且存在重复数据的两者数据的关联信息的挖掘。区别于现在的一般关联算法,本专利技术在传统的关联算法中应用了聚类算法,将时间差作为聚类中的距离,测量时间距离,然后在某一个簇中挖掘频繁项,不考虑与之无关的其他时间上的数据信息,最后用关联算法得出支持度与置信度,例如,道路上的汽车,要想将车主手机的imsi数据和车牌号数据做关联匹配,通过wifi探针获取imsi数据与摄像头获取车牌号,但是当一辆汽车通过两设备,两设备在获取数据的时候存在着时间差,并且在这时间差中又会获取其他车主与车信息的数据,不考虑获取数据时间差的话,两者的数据关联匹配准确率将很低,因此对于关联具有时间差的数据提出了一种基于KMeans算法的关联规则方法,该方法有效的提高了关联规则结果的准确率。为了实现上述专利技术目的,本专利技术采用的一种基于KMeans算法的关联规则方法,所述方法包括以下步骤:步骤一:设有几条关联正确的数据的样本,分别测量获取每条样本中第一类数据中数据a的时间和获取第二类数据中数据b的时间,两者做时间差,记录时间差,也就是在获取第一类某个数据的时间获取第二类数据中与之有较大关联概率的数据的时间,并计算它们之间的平均数与方差。步骤二:数据处理:获取第一类某数据的时候,也会获取很多第一类其他的数据,第二类数据也如此,所以,在获取两类数据后,将获取的数据分别存放在数据库不同的表格中,将数据进行时间由小到大排序,可能会存在很短时间内重复获取相同的数据,因此需要设置时间t(t的大小,需要看实际情况)将t时间内相同的数据源去重。步骤三:运用KMeans算法,聚类中距离一般是欧式距离,这里改为步骤一中测试获取两类数据的时间差的平均数和方差的结合作为距离,记为T。步骤四:进行簇类的查找,取某个时间第一类数据中数据a同时寻找数据a对应的时间距离查找所有符合距离的数据b,将这些数据b记为B,同时将数据B作为数据a在这个时刻的簇中的数据。步骤五:经过步骤四,可以获得数据a的所有时间上的所有簇数据,通过频次筛选法将所有簇里面的数据出现的总次数较少的删除,将这些删除的数据作为异常数据。步骤六:通过步骤五,将第一类数据中某个数据和它的所有相关的簇数据提取出来,通过关联算法,关联出最有可能的关联数据。可选的,步骤一所述得到时间戳方法包括以下步骤:步骤一:测试m次获取某一时刻第一类任意一个数据和下一时刻获取第二类任意一个数据的时间差,记录所有的时间差信息:T=(t1,t2,t3,t4,…,tm);步骤二:根据步骤一中T数据集,获取平均数与方差,计算公式为:其中,Tavg和Tσ代表时间数据的平均数和方差。可选地,步骤二所述数据处理中的去重与分组过程具体如下:将获得的第一类数据与第二类数据分别存放在两个不同的数据库表格中,获取采集数据起始时间与终止时间,以三分钟为时间段进行数据分段,在每段中去掉重复的数据,两种数据都要进行此方法操作,这样能够排除因设备在短时间内重复采集数据对结果的不利影响。可选地,步骤三所述计算时间戳距离方法如下:T={T|T-Tσ≤T≤T+Tσ}(3)由公式(1)、(2)计算出来的平均数和方差并利用公式(3),公式(3)中的时间戳T是时间段不是某个值,例如获取第一类数据中数据a的某个时间为t,通过时间距离(t+T)和(t-T)这段时间的所有去重过后的第二类数据B(满足时间距离的所有第二类数据的集合)作为数据a在这段时间上的一个簇数据,为后面的数据关联做好准备。可选地,步骤四中簇数据的查找方法为:假设从第一类中获取某一个数据a和获取它时的时间为ta,查找在时间(ta+T)和(ta-T)之间的第二类数据集B作为a在这个时间的一个簇。可选地,步骤五中查找第一类所有数据的所有时间簇数据的方法包括以下步骤:步骤一:以数据a为例,通过数据a能够得到所有数据a出现的时间,设数据a出现的时间为:[t1a,t2a,t3a,…,tma],同时查找车牌A对应时间的簇数据,如下:t1a→B1t2a→B2t3a→B3…tma→Bm其中B1、B2、B3、…、Bm分别为对应时间数据a的簇上的数据集;步骤二:统计B1、B2、B3、…、Bm中所有数据各个出现的总次数,计算它们出现次数的平均值,将低于平均值的数据集B中的数据删除,公式如下:其中ai为数据a所有时间簇中每一个数据b出现的总次数,将低于次数的数据b在数据a对应的所有簇中删除。可选的步骤六中得到的关联数据包括以下具体步骤:步骤一:经过步骤四,得到某数据a在时间上的所有第二类簇数据,具体如下:t1→{a:[b11,b12,b13,…,b1n]、t2→{a:[b21,b22,b23,…,b2n]}、…、tm→{a:[bm1,bm2,bm3,…,bmn]},根据数据a对应的所有B数据,进行关联规则,以数据a为例,具体如下:挖掘频繁项集:挖掘二阶频繁项集将a与对应的时间簇中的数据进行频繁项挖掘,分别得出a出现时其他数据b出现的支持度,计算公式如下:其中,m为a出现的总次数,b为簇中某个数据,所谓支持度,就是在每个簇中a出现时b也出现的次数占a出现总次数的百分比;步骤二:根据上步得到的{项集-支持度}数据集,对每个项集进行可信度计算,计算公式为:可信度反映了关联数据的亲密度的强弱,通过设置合理的可信度阈值,过滤可信度低的关联数据,留下关联度强的数据。附图说明图1是本专利技术所述的一种基于KMeans算法的关联规则方法的流程图。具体实施方式下面结合附图对本专利技术实施例进行详细描述。实施例一通过设备获取的一组第一类数据集和第二类数据集,接下来按照KMeans聚类思想和关联规则对应的步骤对其进本文档来自技高网...

【技术保护点】
1.一种基于KMeans法的关联规则方法,其特征在于,所述方法包括以下步骤:/n步骤一:设有几条关联正确的数据的样本,分别测量获取每条样本中第一类数据中数据a的时间和获取第二类数据中数据b的时间,两者做时间差,记录时间差,也就是在获取第一类某个数据的时间获取第二类数据中与之有较大关联概率的数据的时间,并计算它们之间的平均数与方差。/n步骤二:数据处理:获取第一类某数据的时候,也会获取很多第一类其他的数据,第二类数据也如此,所以,在获取两类数据后,将获取的数据分别存放在数据库不同的表格中,将数据进行时间由小到大排序,可能会存在很短时间内重复获取相同的数据,因此需要设置时间t(t的大小,需要看实际情况)将t时间内相同的数据源去重。/n步骤三:运用KMeans算法,聚类中距离一般是欧式距离,这里改为步骤一中测试获取两类数据的时间差的平均数和方差的结合作为距离,记为T。/n步骤四:进行簇类的查找,取某个时间第一类数据中数据a同时寻找数据a对应的时间距离查找所有符合距离的数据b,将这些数据b记为B,同时将数据B作为数据a在这个时刻的簇中的数据。/n步骤五:经过步骤四,可以获得数据a的所有时间上的所有簇数据,通过频次筛选法将所有簇里面的数据出现的总次数较少的删除,将这些删除的数据作为异常数据。/n步骤六:通过步骤五,将第一类数据中某个数据和它的所有相关的簇数据提取出来,通过关联算法,关联出最有可能的关联数据。/n...

【技术特征摘要】
1.一种基于KMeans法的关联规则方法,其特征在于,所述方法包括以下步骤:
步骤一:设有几条关联正确的数据的样本,分别测量获取每条样本中第一类数据中数据a的时间和获取第二类数据中数据b的时间,两者做时间差,记录时间差,也就是在获取第一类某个数据的时间获取第二类数据中与之有较大关联概率的数据的时间,并计算它们之间的平均数与方差。
步骤二:数据处理:获取第一类某数据的时候,也会获取很多第一类其他的数据,第二类数据也如此,所以,在获取两类数据后,将获取的数据分别存放在数据库不同的表格中,将数据进行时间由小到大排序,可能会存在很短时间内重复获取相同的数据,因此需要设置时间t(t的大小,需要看实际情况)将t时间内相同的数据源去重。
步骤三:运用KMeans算法,聚类中距离一般是欧式距离,这里改为步骤一中测试获取两类数据的时间差的平均数和方差的结合作为距离,记为T。
步骤四:进行簇类的查找,取某个时间第一类数据中数据a同时寻找数据a对应的时间距离查找所有符合距离的数据b,将这些数据b记为B,同时将数据B作为数据a在这个时刻的簇中的数据。
步骤五:经过步骤四,可以获得数据a的所有时间上的所有簇数据,通过频次筛选法将所有簇里面的数据出现的总次数较少的删除,将这些删除的数据作为异常数据。
步骤六:通过步骤五,将第一类数据中某个数据和它的所有相关的簇数据提取出来,通过关联算法,关联出最有可能的关联数据。


2.根据权利要求1所述的一种基于KMeans算法的关联规则方法,其特征在于,步骤一中所得到时间戳方法包括以下步骤:
步骤一:测试m次获取某一时刻第一类任意一个数据和下一时刻获取第二类任意一个数据的时间差,记录所有的时间差信息:T=(t1,t2,t3,t4,…,tm);
步骤二:根据步骤一中T数据集,获取平均数与方差,计算公式为:






其中,Tavg和Tσ代表时间数据的平均数和方差。


3.根据权利要求1所述的一种基于KMeans算法的关联规则方法,其特征在于,步骤二所述的数据处理中的去重与分组过程具体如下:
将获得的第一类数据与第二类数据分别存放在两个不同的数据库表格中,获取采集数据起始时间与终止时间,以三分钟为时间段进行数据分段,在每段中去掉重复的数据,两种数据都要进行此方法操作,这样能够排除因设备在短时间内重复采集数据对结果的不利影响。


4.根据权利要求1所述的一种基于KMeans算法的关联规则方法,其特征在于,步骤三所述计算时间戳距离方法如下:
T...

【专利技术属性】
技术研发人员:张涛秦岭杨小健
申请(专利权)人:南京工业大学
类型:发明
国别省市:江苏;32

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

1