一种基于有序复合树结构的数据流最大频繁项集挖掘方法

文档序号:8528189阅读:289来源:国知局
一种基于有序复合树结构的数据流最大频繁项集挖掘方法
【技术领域】
[0001]本发明涉及人工智能、数据挖掘技术领域知识,具体为一种基于有序复合树结构的数据流最大频繁项集挖掘方法。适用于金融数据时序挖掘、商业数据流关联分析等众多领域。
技术背景
[0002]随着大数据时代的来临,数据挖掘及其相关技术得到了越来越多的关注。数据挖掘是指以某种方式分析数据源,从中发现一些潜在的有用的信息,所以数据挖掘又称作知识发现,而关联规则挖掘则是数据挖掘中的一个很重要的课题,顾名思义,它是从数据背后发现事物之间可能存在的关联或者联系。最经典的例子莫过于啤酒和尿布的案例。随着大型连锁零售商店在零售市场上份额的增加,越来越多的超市或连锁店都迫切希望发现其庞大的交易数据库中隐含的相关销售信息。不仅如此,当人们对相关事务之间联系的探宄越发深入之后,关联规则挖掘的应用范围也变得越来越广。诸如电商企业通过对消费者一段时期内的购物记录分析,采用关联规则挖掘找出事物之间隐含的联系,从而分析消费者可能的偏好;在金融领域,研宄人员对不同的金融数据流进行关联规则分析,预测未来的发展走势。
[0003]这里需要注意关联规则是单向的,是指某类项目或特征与另一类项目或特征间所存在的单向影响关系。一般相关系数对两类特征或项目的描述都是对称的,而且只能处理定序以上层次的数据。而实际经济生活中常会出现两方面的关系并不对称或者数据仅仅是定类层次的情况。此时用关联规则来描述相当有效,而且对经济决策也相当有用。
[0004]关联规则的挖掘,通常是指定支持度、置信度、增益这三个标准的最小值(支持度有时还限定最大值),三个标准的取值都大于临界值的关联规则就被列出。关联规则挖掘的算法有很多,其基本思路一般是采用递推算法,首先将满足支持度要求的规则列出作为候选集(称为频繁项集),然后在候选集中产生满足置信度或增益要求的规则。为了提高挖掘效率,人们又从几个方面提高产生频繁项集的效率,比如划分原数据,采用并行算法产生频繁项集、对数据进行抽样以减少计算量等,从而产生了许多优化的计算方法。由于最大频繁项集中隐含了所有频繁项集,因此对其挖掘具有更加重要的意义。
[0005]本发明针对目前存在的最大频繁项集挖掘方法执行效率偏低、内存消耗过多等问题,提出一种基于有序复合树结构的数据流最大频繁项集挖掘方法。通过该方法能够科学合理有效快速得对各领域的数据流进行关联规则分析。

【发明内容】

[0006]本发明要克服现有最大频繁项集挖掘方法存在的不足,提供一种基于有序复合树结构的数据流最大频繁项集挖掘方法,采用滑动窗口处理数据流,分割滑动窗口为若干个基本单位,更新获取数据流片段信息,单遍扫描片段信息得到频繁项集并存储于频繁项集列表内。
[0007]本发明方法构建的有序FP-tree,随项集的插入,动态调整树型结构,合并同一分支中支持度相等的邻接结点,压缩生成有序复合FP-tree。该方法能够高效、快速得对数据流进行最大频繁项集挖掘。
[0008]本发明提出的基于有序复合树结构的数据流最大频繁项集挖掘方法,包括以下步骤:
[0009]I)频繁项集列表的构建:获取基本滑动窗口中的数据流片段信息,设ε为允许偏差因子,S为最小支持度。为了减小误差,在实际操作中取S-ε为最小支持度阈值,单遍扫描基本窗口中的项目数据集得到按支持度由高到低排序(当支持度相等时,按一定的文法顺序排序,通常按字典顺序)的一项集头表及剔除非频繁项目的频繁项集列表。其中,频繁项集列表的特征简述如下:频繁项集列表中的项集按项目的长度排序,长度相同时,按首字母排序(首字母的顺序遵循头表中的排序);项目内元素按支持度高低排序。
[0010]2)有序复合树结构的创建:新建有序FP-tree的根结点root,初始化为null,将频繁项集列表中的项目依次插入该树中。插入时,递归调用insert_tree([i 11], T)方法,其中i指向当前插入的项目,I为项集列表中剩余的项目集合,T为有序FP-tree,初始时T即为根结点root。生成有序FP-tree后,合并同一分支中支持度相等的邻接结点,压缩生成有序复合FP-tree。
[0011]insert_tree([i 11], T)方法描述如下:按频繁项集列表中项目顺序依次插入该多叉树。新项目中的元素插入时,遇到结点不同时,并不直接产生分支,而是继续搜索当前路径,向下比较。比较的原则为:设当前搜索到的结点为i,待插入结点j,若j与i不相同,且j在一项集头表中的位置位于i的下方,则向i的子树搜索,直至找到相同结点或搜索到的结点在头表中的位置位于j的下方,停止,而后产生分支。
[0012]结点调整方式:在依次插入的过程中,对上一次插入的结点进行调整,设同一路径中两结点为i,j。i是j的父结点,若j的支持度大于i的支持度,则进行调整,将i的父结点作为j的父结点,i作为j的孩子结点。
[0013]3)最大频繁项集的存储:挖掘出最大频繁项集,并存储于MFP_tree[]中,对新到达基本窗口的项目或者离开的旧项目,采用增量更新方法进行处理。
[0014]挖掘有序复合FP-tree中最大频繁项集的方法为按支持度由低到高的顺序搜索有序复合FP-tree中的每一层结点,在同一层按照从左向右的顺序。由于有序复合FP-tree的结构特性,搜索到第一个支持度大于最小支持度的结点时,即停止对该结点的前缀结点进行最小支持度的比较,直接将该结点以及它的前缀结点存于MFP-tree[]中。
[0015]说明:对于某结点j,j有孩子结点,且j的支持度大于或等于最小支持度,但其孩子结点支持度之和不等于j,则不将该计入父结点构成的最大频繁项集中。
[0016]增量更新方法:新项目到达基本窗口时,根据步骤I)更新一项集头表和频繁项集列表,根据步骤2)更新有序复合FP-tree,同时更新MFP-tree[]中的最大频繁项集。
[0017]本发明采用滑动窗口处理数据流,分割滑动窗口为若干个基本单位,更新获取数据流片段信息,单遍扫描片段信息得到频繁项集并存储于频繁项集列表内。方法构建的有序FP-tree,随项集的插入,动态调整树型结构,合并同一分支中支持度相等的邻接结点,压缩生成有序复合FP-tree。该发明能够很好的对海量数据流进行快速得频繁项集挖掘,并具有良好的鲁棒性。
[0018]本发明的有益效果在于:
[0019]本发明大大提高了数据流频繁项集的挖掘速度,仅消耗较小的内存,具有良好的应用价值。
【附图说明】
[0020]图1是本发明的基于滑动窗口的FP-tree结构的示意图。
[0021]图2是本发明的基于滑动窗口的有序FP-tree结构的示意图。
[0022]图3是本发明的有序复合FP-
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1