基于滑动窗口数据流频繁项集挖掘方法.docVIP

基于滑动窗口数据流频繁项集挖掘方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于滑动窗口数据流频繁项集挖掘方法

基于滑动窗口数据流频繁项集挖掘方法   摘 要: 数据流的特点要求挖掘算法只能经过一次扫描获得挖掘结果,并且要求较低的空间复杂度。结合数据流的特点,提出一种基于滑动窗口的数据流频繁项集挖掘新算法MFIM。该算法采用二进制向量矩阵表示滑动窗口中的事务序列,以这种新的结构来记录频繁项集的动态变化,有效地挖掘数据流频繁项集。理论分析与实验结果表明该算法能获得较好的时间复杂度与空间复杂度。   关键词: 数据流;数据挖掘;频繁项集;滑动窗口;二进制向量   中图分类号:TP311.13 文献标识码:A 文章编号:1671-7597(2012)0310152-020 引言   数据流是指连续产生的、快速、实时变化的有序数据序列。为了及时得到最有用的信息,很多领域中对于数据流的处理已经成为人们关注的热点,比如网络监控、商品销售分析、股票的交易数据分析等。由于数据流的大量性和瞬时性的特点,数据流频繁项信息会随着新数据的到达而不断发生变化,在有限的内存中无法存储全部数据,对于它的挖掘和存储都有一定的难度。   数据流的特点要求挖掘算法只能经过一次扫描获得挖掘结果,并且要求较低的空间复杂度。因此,数据流挖掘面临着重大的挑战。挖掘数据流的频繁模式是数据挖掘重要的研究领域,陆续提出了一系列的相关算法。Chang与Lee在BTS算法的基础上,提出了基于滑动窗口模型挖掘最近的频繁项集算法SWM[1][2];Manku与Motwani提出了基于界标窗口的数据流频繁项的挖掘算法,该算法在扫描一次数据的基础上得到整个数据流频繁项集[3];Giannella等人提出挖掘滑动窗口中的频繁集算法[4];张月琴提出了一种改进的滑动窗口频繁项集挖掘方法NSW[7]。   很多时候,人们更需要关注近期数据流的频繁模式信息。因此,挖掘近期数据流的频繁模式成为数据挖掘中一项具有实际意义的工作。基于滑动窗口的数据流频繁项集挖掘满足了人们对最近的信息更感兴趣的需要。本文提出了一种基于滑动窗口的数据流频繁项集挖掘新算法MFIM,它采用一种新的结构来记录频繁项集的动态变化,有效地挖掘数据流频繁项集[8]。   1 问题定义和描述   定义1:设I={I1,I2,…,In}是一个给定的数据项全集,Ii为第i个项(1≤i≤n)。项集X是数据项全集I的子集(X I),含有k个项的项集成为k-项集,数据项全集的一个子集称为模式。   定义2:事务T是一个项集,数据流(Data Steam)可以看成是一个连续到达的事务序列DS={T1,T2,…,TN},Tj为第j个事务,是I的一个子集。设T1是数据流中到来时间最久的事务,TN是数据流中最新到来的事务。DS中所有包含项集X的事务个数称为项集X的支持数,占所有事务数的百分比称为支持度,记为sup(X)。   定义3:设给定的支持度的阈值为s,对于项集X,如果项集X的支持度sup(X) s,则称项集X是频繁项集。如果某一数据项集的数据项不频繁,则该项集一定不频繁。   定义4:将数据流DS分段,每一个分段对应一个数据流子序列且事务数一定,这样的一个数据分段称为一个滑动窗口,记为SW,它的大小为每个窗口能容纳的事务个数,是用户预先设定的大小w。当窗口被事务填满时,每当有一个新事务到达窗口,最旧的事务被滑出窗口。   2 算法描述   2.1 数据结构定义   数据流中的事务数据结构是将每个项由包含它的事务表示,如果该项包含在某个事务中,则对应的二进制位为1,否则为0,即每个项以二进制向量表示,最终构成一个事务矩阵。将表示项的二进制向量的长度制定为滑动窗口的大小。表1为前7个事务序列数据表示;表2为事务数据二进制向量表示方法。      在初始状态下,每个项的二进制向量所有元素均为0。事务数据流开始,当滑动窗口未满时,则新来的事务中每一项都被表示成二进制位向量的形式,更新每个项的二进制向量。当前的事务数超过窗口大小时,窗口开始滑动,将每个项的二进制位向量按位向左移动,这种按位运算,即可移除窗口中最旧的事务,从而大大提高窗口的滑动速度。如果新来的事务中包含对应的项,左移后低位补1,否则补0。   在频繁项集产生阶段,通过位运算得到项集的支持数,降低了挖掘的时间复杂度。并且,在挖掘过程中只存储二进制数据,空间开销相对很小。因而,采用二进制的事务矩阵的方法,能获得较小的时间复杂度与空间复杂度。   2.2 算法基本思想   算法根据Apriori性质产生频繁项集:频繁项集的所有非空子集都必须是频繁的,任何非频繁的(k-1)-项集都不可能是频繁k-项集的子集。利用1-项集和(k-1)-项集的按位与运算产生k-项集的方法挖掘事务矩阵中的频繁项集,并且在产生k-项集的过程中通过删除L1中不在Lk-1中出现的项集。挖掘步骤为

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档