一种基于滑动窗口的数据流加权频繁模式挖掘方法

文档序号:6431901阅读:189来源:国知局
专利名称:一种基于滑动窗口的数据流加权频繁模式挖掘方法
技术领域
本发明涉及通信领域,具体涉及一种数据流加权频繁模式挖掘方法。
背景技术
数据挖掘技术已经广泛的应用在Web日志分析、网络安全监控等当中。数据挖掘技术可以有效地、精确的对用户的访问、检索进行有限的扩展,提高用户的效率;还可根据实际用户的浏览情况,挖掘用户的兴趣点,定期为用户推送相关信息,以及调整网站中网页的链接结构和内容,为用户提供个人的定制服务。频繁模式挖掘是发现关联规则的基础,传统的频繁模式挖掘方法认为数据中每个项都是同等重要的。然而在实际应用中,特定的项或模式由于用户对其兴趣度不同,可能比其他项或模式更加重要,例如在零售业中,钻石戒指的支持度可能比发卡的支持度低很多,但销售者显然对前者的知识信息具有较高的兴趣度;又如在生物数据分析中,某些基因对特定的疾病治疗比其他基因更为重要。若采用传统的频繁模式挖掘方法,有较低支持度但较高兴趣度的模式信息将无法被挖掘。因此在频繁模式挖掘中,可以为每个项目赋予不同的权值来反映不同的重要性,以便挖掘出具有较高兴趣度但支持度较低的项或模式。随着hternet以及传感器网络等技术的发展,越来越多应用中的数据以流数据的形式出现。流数据具有连续、流动、高速、无限等特点,当新的数据达到时,数据流所包含的知识信息在不断的变化。与快照窗口和界标窗口相比,滑动窗口模型更关注最近到达的数据,因此在数据流频繁模式挖掘领域被广泛应用。但在基于滑动窗口的数据流挖掘中,不但要增量处理高速到达的新数据,还要及时淘汰过期数据,滑动窗口中的数据既增又减,因此其频繁模式的挖掘具有更大的挑战性。目前尽管对加权频繁模式挖掘问题已经进行了一定的相关研究,但针对具体应用问题的数据流加权频繁模式挖掘的研究还开展的比较少。

发明内容
本发明的目的在于,提供一种数据流加权频繁模式挖掘方法,所述方法采用SWFP 单元来压缩存储数据流滑动窗口内的加权频繁模式;当流数据流过时,本方法仅对数据进行单遍扫描。而且基于滑动窗口的数据流加权频繁模式挖掘方法采用两种剪枝策略来定期删除模式树种不频繁模式,以便压缩SWFP-Tree的存储空间,减少了维护滑动窗口 SffFP-Tree模式树的时间与空间代价。为实现上述目的,本发明提供了一种数据流加权频繁模式挖掘方法,基于滑动窗口进行操作,所述滑动窗口是数据流上固定个数的事务序列,并随着时间的推进不断向前滑动;将滑动窗口 SW分割成大小相同的η个子窗口,即基本窗口 BW,我们以基本窗口作为更新处理单元,其改进在于,采用SWFP单元来动态维护数据流滑动窗口内的数据的有效数据信息,实现加权频繁模式的数据挖掘,SffFP单元包含一个SWFP-Tree模式树以及一个项头表IHT ;上述挖掘方法包括以下步骤
1.进行项头表和SWFP-Tree的初始化;2.往滑动窗口中加入新到达的基本窗口 ;3.判断滑动窗口是否已经积满,如果判断结果为“是”,则设置当前滑动窗口中最老的基本窗口为过期窗口并删除,在删除过期窗口之后,往滑动窗口继续加入新到达的基本窗口,如果判断结果为“否”,则继续往滑动窗口加入新到达的基本窗口 ;4.当项头表中节点对应的项支持度为0或SWFP-Tree中节点的支持度为0时,按照两种剪枝策略对SWFP-Tree模式树执行剪枝;5.对滑动窗口进行挖掘,输出当前滑动窗口中的加权频繁模式集;其中,在步骤2和步骤3中的往滑动窗口中加入新到达的基本窗口时,将新的基本窗中的数据更新到SWFP-Tree模式树和项头表IHT中,所述更新的数据包括模式信息及权
重信息增量。本发明提供的优选技术方案中,所述SWFP单元中的SWFP-Tree模式树是一棵具有根节点的压缩前缀扩展模式树,由一个根节点和若干由根节点引出的前缀子树组成,用来维护当前滑动窗口的概要数据信息,所述SWFP-Tree模式树中的节点以项的升序进行排列,代表从根节点的直接子节点到该节点路径对应的模式;所述SWFP单元的所述项头表用来保存所述SWFP-Tree模式树中各数据项的支持度计数。本发明提供的第二优选技术方案中,在步骤3中,设所述滑动窗口内包含K个所述基本窗口,当所述基本窗口编号i小于K时,往滑动窗口中加入新到达的基本窗口,当滑动窗口积满后,即新的基本窗口编号i大于K时,先进行过期窗口的删除,再加入新到达的基本窗口。本发明提供的第三优选技术方案中,往所述滑动窗口中加入新到达的基本窗口, 是一个 Inserting_ffeighted_Tree 过禾呈,所述 Inserting_ffeighted_Tree 过禾呈完成将排序后的数据流事务T’中的各项加入SWFP-Tree模式树的任务;所述hserting_Weighted_ Tree过程是对排序后事务的所有项目进行递归式处理直到项目表为空。本发明提供的第四优选技术方案中,步骤4中的所述过期窗口,包含的模式信息是过期信息。本发明提供的第五优选技术方案中,所述步骤5中的两种剪枝策略为第一种自顶向下获取项头表IHT中每个项e,若不加权频繁,则剪枝SWFP-Tree 模式树中所有与e同名的节点以及它们的子孙节点;第二种若节点nd在各基本窗口内修订加权支持度之和小于ε |SW|,则剪枝所述节点nd以及所述节点nd的子孙节点;其中,ε表示允许的误差,|SW|表示滑动窗口的大小。本发明提供的较优选技术方案中,在所述步骤6中,在SWFP-Tree模式树被创建和更新后,采用自底向上的深度优先的遍历算法,递归的挖掘加权频繁模式树,同时将挖掘得到的结果保存到一个加权频繁数据项集中。本发明提供的第二较优选技术方案中,所述hSerting_Weighted_Tree过程的具体步骤为2-1.判断SWFP-Tree模式树的根节点R是否有一个子女N的项名与ρ相同,如果判断结果为“是”,则N的支持度计数加1,并比较所述子女N的当前窗口修订权值与数据流事务T’的真实权值wt的大小关系,若所述wt较大,则将子女N的当前窗口修订权值改为 wt ;如果判断结果为“否”,则创建一个新的节点N,将所述新节点N的计数设置为1,并将所述新节点N的当前窗口的修订权值设置为wt,使所述新节点N链接到根节点R,并通过节点链结构将所述新节点N链接到SWFP-Tree模式树中具有相同item_name的节点;2-2.更新所述项头表中与ρ有关项的支持度计数以及修订权值;2-3.递归调用所述hserting_Weighted_Tree过程,将所述数据流事务T’中剩余的项加入所述SWFP-Tree模式树;其中,ρ是数据流事务T’的第一个元素。与现有技术比,本发明的有益效果是,本发明提供的基于滑动窗口的数据流加权频繁模式挖掘方法具有快速、有效、时空需求稳定性高以及占用系统资源少的特点,使模式树的空间代价减小,在SWFP-Tree模式树的节点域中我们加入修订权值,在进行剪枝时可保证“向下闭合”特性,而且剪枝算法无需遍历SWFP-Tree树上的所有节点,提高了模式树剪枝的速度。


图1为本发明数据流加权频繁模式挖掘方法的流程图。图2为SWFP-Tree模式树的结构示意图。 图3为从SWFP-Tree模式树中对D同名的节点及其子孙节点剪枝前的SWFP-Tree 模式树的结构示意图。图4为应用了第一种剪枝策略,从SWFP-Tree模式树中对D同名的节点及其子孙节点剪枝后的SWFP-Tree模式树的结构示意图。图5表示了对图3中SWFP-1Tree模式树应用了第二种剪枝策略后的SWFP-1Tree模式树的结构示意图。
具体实施例方式如图1所示,本发明提供了一种数据流加权频繁模式挖掘方法,基于滑动窗口进行操作,所述滑动窗口是数据流上固定个数的事务序列,并随着时间的推进不断向前滑动; 将滑动窗口 SW分割成大小相同的η个子窗口,即基本窗口 BW,我们以基本窗口作为更新处理单元,其改进在于,采用SWFP单元来动态维护数据流滑动窗口内的数据的有效数据信息,实现加权频繁模式的数据挖掘,SffFP单元包含一个SWFP-Tree模式树以及一个项头表 IHT ;上述挖掘方法包括以下步骤1.进行项头表和SWFP-Tree的初始化;2.往滑动窗口中加入新到达的基本窗口 ;3.判断滑动窗口是否已经积满,如果判断结果为“是”,则设置当前滑动窗口中最老的基本窗口为过期窗口并删除,在删除过期窗口之后,往滑动窗口继续加入新到达的基本窗口,如果判断结果为“否”,则继续往滑动窗口加入新到达的基本窗口 ;4.按照两种剪枝策略对SWFP-Tree模式树执行剪枝;5.对滑动窗口进行挖掘,输出当前滑动窗口中的加权频繁模式集;其中,在步骤2和步骤3中的往滑动窗口中加入新到达的基本窗口时,将新的基本窗中的数据更新到SWFP-Tree模式树和项头表IHT中,所述更新的数据包括模式信息及权
重信息增量。如图2所示,所述SWFP单元中的SWFP-Tree模式树是一棵具有根节点的压缩前缀扩展模式树,由一个根节点和若干由根节点引出的前缀子树组成,用来维护当前滑动窗口的概要数据信息,所述SWFP-Tree模式树中的节点以项的升序进行排列,代表从根节点的直接子节点到该节点路径对应的模式;所述SWFP单元的所述项头表用来保存所述 SffFP-Tree模式树中各数据项的支持度计数。SffFP-Tree模式树中除了根节点外每个树节点拥有以下5个域item_name表示该节点对应的项目名;sup_COimt记录该节点对应的模式在当前滑动窗口内的总的支持度计数;refinecLweight记录该节点对应模式的修订权值;nod^parent为指向父节点的指针; nodejink链接到树中具有相同项目名称的下一个节点,若下一个节点不存在,则为null ; bw_list是长度为η的列表,η为滑动窗口内包含的基本窗口的数目,列表中的元组表示为 <cnt, refinecLweight〉,分别表示该节点对应的模式在此基本窗口内的支持度计数以及该节点对应模式在此基本窗口内的修订权值。项头表IHT记录各数据项在滑动窗口内的支持度计数,其中每个元素包含以下5 个域item_name表示项目名称;Sup_Coimt表示该项在当前滑动窗口内的支持度总计数; weight存储该项目的权值;refinecLweight记录该节点对应模式的修订权值;headpoint 指向模式树中与itenuiame对应的第一个节点的指针。SffFP-Tree是一种改进的前缀模式树,它继承了 FP-Tree结构紧凑的优点,但又对模式树FP-Tree节点的存储结构进行了重要改进。SWFP-Tree具有以下适合于增量维护数据流滑动时间窗口加权频繁模式挖掘的性质。(I)FP-Tree将各分枝上的节点按支持度降序排列,但至少需要对数据进行两遍扫描。由于数据流高速流入、数据流过即逝的特点,无法对数据进行多遍扫描,因此SWFP-Tree 中各节点按预定义的全序关系进行排列,我们采用按项的权值升序排列。采用预定义的全序关系来对数据流事务数据中的项进行排序,可以使SWFP-Tree模式树的节点间排列顺序相对固定,不必随流数据的达到而不断调整模式数上的各节点顺序。同时我们采用按项的权值进行升序排列,是因为权值高的项通常出现频率较低,按项的权值升序排列可以使流数据有更多的机会共享相同的前缀,从而使模式树的空间代价减小。(2)在SWFP-Tree模式树中引入“修订权值”和“修订加权支持度”来保证“向下闭合性”。在频繁模式挖掘中,“向下闭合性”是一个重要的性质,可以用来压缩搜索空间。 “向下闭合性”表明,如果一个k-模式1 是非频繁的,则1 的所有超模式Pl即A [ P,(k < /) 都是非频繁模式,即SUPCPOSUPCPO < Smm。k-模式Pk的修订权值可定义为(Pk) = maWPi)),其中k彡i彡1且 Λ c P,(k < /),即若存在沖的超模式的权值大于模式1 的权值,则采用1 的所有超模式中的最大权值定义为1 的修订权值。k-模式Pk的修订加权支持度wsup ‘ (Pk)可定义为wsup ‘ (Pk)= w ‘ (Pk) *sup (Pk) = max (w (Pi)) *sup (Pk),其中 k彡 i 彡 1且 Pi(k < I),采用修订加权支持度,可以在加权频繁模式挖掘中保持“向下闭合”特性。因为k-模式1 与1 的任意超模式P1,都满足SUp0\)彡sup^)。若对于1 采用其修订权值W' (Pk) = maWPi))其中k彡i彡1且八c </),则Pk的修订加权支持度 wsup ‘ (Pk) = w ‘ (Pk) *sup (Pk) = max (w (Pi)Rsup (Pk)彡 w (P1) *sup (P1),即 wsup ‘ (Pk)彡wsup (P1),其中k彡i彡1且Pi(k < I)。因此若k_模式1 是加权非频繁模式,即模式1 的加权支持度小于最小加权支持度阀值wsup' (Pk) <^min,则1 的任意超模式Pl的加权支持度都应小于最小支持度加权阀值,即满足wsup (Pl) <wsmin。因此 W SUP'(A) <胃mm =i> W Sup(Pl) < WS mm,其中A C Pl{k < 0,即在采用修订加权支持度的情况
下,若k-模式1 是加权非频繁模式,则1 的任意超模式也是加权非频繁的。在SWFP-Tree模式树的节点域中我们加入修订权值,在进行剪枝时我们使用模式的修订的加权支持度来可保证“向下闭合”特性。但由于修订权值将模式P的加权支持度进行了放大,因此修订加权支持度大于最小加权支持度阀值WSmin的模式不一定是最终的加权频繁模式,还需要在挖掘的最后阶段用模式P的真实加权支持度来进行判定。下面对方法中的“基本窗口的加入”、“过期窗口删除”、“剪枝策略”和“加权频繁模式挖掘”进行如下详细描述1.基本窗口的加入每当一个新的基本窗口到来时,将新到达的流数据更新到SWFP-Tree和项头表 IHT,其主要步骤如算法1描述如下
权利要求
1. 一种数据流加权频繁模式挖掘方法,所述数据流加权频繁模式挖掘方法基于滑动窗口进行操作,所述滑动窗口是数据流上固定个数的事务序列,并随着时间的推进不断向前滑动;将滑动窗口 SW分割成大小相同的η个子窗口,即基本窗口 BW,我们以基本窗口作为更新处理单元,其特征在于,采用SWFP单元来动态维护数据流滑动窗口内的数据的有效数据信息,实现加权频繁模式的数据挖掘,SffFP单元包含一个SWFP-Tree模式树以及一个项头表IHT ;上述挖掘方法包括以下步骤1.进行项头表和SWFP-Tree的初始化;2.往滑动窗口中加入新到达的基本窗口;3.判断滑动窗口是否已经积满,如果判断结果为“是”,则设置当前滑动窗口中最老的基本窗口为过期窗口并删除,在删除过期窗口之后,往滑动窗口继续加入新到达的基本窗口,如果判断结果为“否”,则继续往滑动窗口加入新到达的基本窗口 ;4.当项头表中节点对应的项支持度为0或SWFP-Tree中节点的支持度为0时,按照两种剪枝策略对SWFP-Tree模式树执行剪枝;5.对滑动窗口进行挖掘,输出当前滑动窗口中的加权频繁模式集;其中,在步骤2和步骤3中的往滑动窗口中加入新到达的基本窗口时,将新的基本窗中的数据更新到SWFP-Tree模式树和项头表IHT中,所述更新的数据包括模式信息及权重信息增量。
2.如权利要求1所述的数据流加权频繁模式挖掘方法,其特征在于,所述SWFP单元中的SWFP-Tree模式树是一棵具有根节点的压缩前缀扩展模式树,由一个根节点和若干由根节点引出的前缀子树组成,用来维护当前滑动窗口的概要数据信息,所述SWFP-Tree模式树中的节点以项的升序进行排列,代表从根节点的直接子节点到该节点路径对应的模式; 所述SWFP单元的所述项头表用来保存所述SWFP-Tree模式树中各数据项的支持度计数。
3.如权利要求1所述的数据流加权频繁模式挖掘方法,其特征在于,在步骤3中,设所述滑动窗口内包含K个所述基本窗口,当所述基本窗口编号i小于K时,往滑动窗口中加入新到达的基本窗口,当滑动窗口积满后,即新的基本窗口编号i大于K时,先进行过期窗口的删除,再加入新到达的基本窗口。
4.如权利要求1所述的数据流加权频繁模式挖掘方法,其特征在于,往所述滑动窗口中加入新到达的基本窗口,是一个hserting_Weighted_Tree过程,所述hserting_ ffeighted_Tree过程完成将排序后的数据流事务T’中的各项加入SWFP-Tree模式树的任务;所述hSerting_Weighted_Tree过程是对排序后事务的所有项目进行递归式处理直到项目表为空。
5.如权利要求1所述的数据流加权频繁模式挖掘方法,其特征在于,步骤4中的所述过期窗口,包含的模式信息是过期信息。
6.如权利要求1所述的数据流加权频繁模式挖掘方法,其特征在于,所述步骤5中的两种剪枝策略为第一种自顶向下获取项头表IHT中每个项e,若不加权频繁,则剪枝SWFP-Tree模式树中所有与e同名的节点以及它们的子孙节点;第二种若节点nd在各基本窗口内修订加权支持度之和小于ε |SW|,则剪枝所述节点 nd以及所述节点nd的子孙节点;其中,ε表示允许的误差,0< ε < 1 ;|SW|表示滑动窗口的大小。
7.如权利要求1所述的数据流加权频繁模式挖掘方法,其特征在于,在所述步骤6中, 在SWFP-Tree模式树被创建和更新后,采用自底向上的深度优先的遍历方法,递归的挖掘加权频繁模式树,同时将挖掘得到的结果保存到一个加权频繁数据项集中。
8.如权利要求4所述的数据流加权频繁模式挖掘方法,其特征在于,所述hserting, ffeighted_Tree过程的具体步骤为2-1.判断SWFP-Tree模式树的根节点R是否有一个子女N的项名与ρ相同,如果判断结果为“是”,则N的支持度计数加1,并比较所述子女N的当前窗口修订权值与数据流事务 Τ’的真实权值wt的大小关系,若所述wt较大,则将子女N的当前窗口修订权值改为wt ;如果判断结果为“否”,则创建一个新的节点N,将所述新节点N的计数设置为1,并将所述新节点N的当前窗口的修订权值设置为wt,使所述新节点N链接到根节点R,并通过节点链结构将所述新节点N链接到SWFP-Tree模式树中具有相同item_name的节点; 2-2.更新所述项头表中与ρ有关项的支持度计数以及修订权值; 2-3.递归调用所述hSerting_Weighted_Tree过程,将所述数据流事务T’中剩余的项加入所述SWFP-Tree模式树;其中,P是数据流事务T’的第一个元素。
全文摘要
本发明提供一种基于滑动窗口的数据流加权频繁模式挖掘方法,该方法采用SWFP单元来压缩存储数据流滑动窗口内的加权频繁模式;当流数据流过时,本方法仅对数据进行单遍扫描,并将数据包含的模式信息及权重信息增量更新到SWFP单元中的SWFP-Tree模式树中,随着新数据不断流入滑动窗口,过期数据被删除,方法采用两种剪枝策略来定期删除模式树种不频繁模式,以便压缩SWFP-Tree模式树的存储空间。本发明提供的数据流加权频繁模式挖掘方法具有快速、有效和时空需求稳定性高的特点,并适用于数据流环境的加权频繁模式挖掘。
文档编号G06F17/30GK102289507SQ20111025277
公开日2011年12月21日 申请日期2011年8月30日 优先权日2011年8月30日
发明者曾宇, 王洁 申请人:曾宇, 王洁
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1