一种基于数据压缩的改进的Apriori算法的制作方法

文档序号:6353951阅读:564来源:国知局
专利名称:一种基于数据压缩的改进的Apriori算法的制作方法
技术领域
本发明涉及对一种Apriori算法的改进算法。
背景技术
关联规则挖掘用来发现大量数据中项集之间的有趣的关联或相关联系,它在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。关联规则挖掘的一个典型例子是购物篮分析。关联规则研究有助于发现交易数据库中不同商品(项)之间的联系,找出顾客购买行为模式,如购买了某一商品对购买其他商品的影响。分析结果可以应用于商品货架布局、货存安排以及根据购买模式对用户进行分类。Agrawal等于1994年提出了一个挖掘顾客交易数据库中项集间的关联规则的重要方法Apriori,其核心是基于两阶段频繁集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。该算法的基本思想是:首先找出所有的频繁项集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频繁集产生强关联规则,这些规则必须满足最小支持度和最小可信度。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频繁项集,使用了递推的方法。Apriori的总体性能由第一步决定,第二步相对容易实现。传统的Apriori算法具有两个主要的缺陷:1.会产生大量的候选集;2.会重复地扫描数据库;为解决上述问题,本发明利用数据库中数据的特点,提出一种基于数据压缩的Apriori算法的改进算法,同时在候选集的选择上进行预先判断,以减少所产生的候选集的数目。本发明的再一目的是减少扫描数据库的次数,以提高查询的速度。发明概述为了实现上述目的,本发明采用了压缩数据库的办法。设有由m个项{Λ,、...、}组成的数据集合,数据库中的每一项均由该集合中的元素组成,即Tk= U1, I2...1j,数据库共包含N条事务记录,数据库中所有组合的总数为:M = Cim +C2m +Cl+...+ Ckm+...+CZ = 2m-1当N > M时,对数据库进行压缩,提取出数据库中的有效信息,生成数据库项和该数据项数量的映射表DB_Map_Tbale,映射函数为H(key)。这里引入转换函数f (X),F (X)的作用是将数据库项转换为DB_Map_Tbale中该项对应的键值。如:对于Tk = (I1, I2...1jlF (Tk) = keyk进一步,对DB_Map_Tbale中内容排序,将该映射表DB_Map_TabIe中的所有健值对〈key, value)按 key 的大小升序排列,即 KEY = {key1; key2,...keyj , Icey1 < key2< …< keym。进一步,使用Apriori算法,由n—1项频繁集合并生成η项候选集In (η > 2)。每次从η-1项频繁集中选出没有合并过的两个频繁集Ιχ,Ιγ,如果Ix,Iy这两个集合的前η-2项相同,第η-1项不同,则它们符合原始算法的合并条件。本发明在此基础上额外加入新的判断条件,判断将要合并的两个频繁集Ix,Iy中不同的两项ix,、所组成的2项集ixy = {ix,iy}是否是2项频繁集IF的子集,若4 c ^,则将Ιχ U Iy加入候选集的集合In中。根据Apriori算法的原理,当在第一个阶段要计算每一个候选集合Ik = U1,I2-..Ιχ}的支持度SUP(Ik)时,从处开始顺序扫描DB_Map_Tbale,引入函数(Kkey1),(Kkey1) =I= (I1, I2,...1j那么
权利要求
1.一种基于数据压缩的改进的Apriori算法,包括步骤: 判断数据库中的事物记录条数N大于该数据库中所有数据项的所有可能的组合数M时,生成数据库项与该数据项数量的映射表DB_Map_Table ; 将该映射表DB_Map_Table中的所有健值对〈key, value)按key的大小升序排列,即KEY = {key1; key2,...keyj , keyi < key2 <...< keym ; 利用Apriori算法从DB_Map_Table表的第化处开始扫描该DB_Map_Table表,以计算每个候选集Ik = U1, I2-..IJ的支持度。
2.根据权利要求1的基于数据压缩的改进的Apriori算法,其特征在于生成所述映射表DB_Map_Table的过程包括以下步骤:设置长度为 m 的 bitmask = <0000...0〉; 顺序读取数据库的每一项,对于所读取的数据库的项Tk = {Ix,Iy,...1J,调用f(X),将bitmask = <0000...0〉对应的x, y,…z位设置为I,生成Tk对应的bitvector =<01x____Ir.lz0> ; bitvector = <01x....1y..lz0>转化为对应的十进制键值keyk ; 调用count = H(keyk),若返回的结果为O,则H(keyk) = I,若返回值大于0,H(keyk)=count+1 ; 重复以上步骤直至扫描完整个数据库。
3.根据权利要求 1或2的基于数据压缩的改进的Apriori算法,其特征在于还包括:引入函数(Kkey1), (Kkey1) =I= (I1, I2,...1j ,并且根据公式 mSUP(4) = Y.HUKdikey,) e d(z+))计算每个候选集合的支持度。keyk
4.根据前述权利要求之一的基于数据压缩的改进的Apriori算法,其特征在于还包括:使用Apriori算法生成I (I > 2)项候选集时,判断将要合并的两个频繁集Ix,Iy中不同的两项ix,iy所组成的2项集ixy = {ix,iy}是否是2项频繁集If的子集,若‘ c/f,则将Ix U Iy加入候选集的集合In中。
全文摘要
一种基于数据压缩的改进的Apriori算法,包括步骤判断数据库中的事物记录条数N大于该数据库中所有数据项的所有可能的组合数M时,生成数据库项与该数据项数量的映射表DB_Map_Table;将该映射表DB_Map_Table中的所有健值对<key,value>按照key的大小升序排列;使用Apriori算法生成I(I>2)项候选集时,判断将要合并的两个频繁集中不同的项所组成的二项集是否为2项频繁集的子集,如果是,则将将要合并的两个频繁集的合集加入候选集。本发明的效果在于,减小了原有事务数据库的大小,减少了数据库的扫描次数,减少了算法运行过程中候选集的生成,从而在保证算法正确的同时有效地提高了算法的速度和效率。
文档编号G06F17/30GK103176976SQ201110430528
公开日2013年6月26日 申请日期2011年12月20日 优先权日2011年12月20日
发明者高海洋, 沈强, 张轩溢, 唐朝伟, 赵志军, 慈松, 唐晖 申请人:中国科学院声学研究所, 无锡中科智能信息处理研发中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1