一种基于改进Apriori算法的数据库关联规则挖掘方法_4

文档序号:9564680阅读:来源:国知局
T (AB) = T(A) n T(B) = {6},则项目集{AB}的支持度sup ({AB})= 0. 1。同理可计算候选频繁2项集集合(:2中其它所有成员的支持度如图4所示。
[0081] 6)将候选频繁2项集集合C2中所有成员的支持度与最小支持度min_support = 0. 3进行比较,删除支持度小于最小支持度min_support的成员,得到频繁2项集集合L2 = {{AE},{AF},{BC},{EF}},构造频繁2项集集合对应的正交链表如图5所示。
[0082] 7)将频繁2项集集合L2进行自连接产生候选频繁3项集集合C 3, C3= {{AEF}}。 遍历频繁2项集集合对应正交链表中项集{AE}对应的列,可得包含项目集{AE}的事务集 合T(AE) = {1,6,10},遍历频繁1项集集合对应的正交链表中项集{F}对应的列,可得包含 项目集的的事务集合1'的={1,4,5,6,8,10},则1'細?)=1'細)门1'的={1,6,10}。 根据OLA算法计算可得项目集{AEF}的支持度为0.3,大于等于最小支持度。因此,频繁3 项集集合L 3= {{AEF} },并且构造频繁3项集集合对应正交链表如图6所示。由于频繁3 项集集合1^中只有一个成员,因此其为极大频繁项目集,生成频繁项目集过程结束。
[0083] 8)根据OLA算法产生如图7所示的关联规则。
[0084] 性能:该实例中,运行OLA算法与Apriori算法所获得的频繁项集完全相同, Apriori算法需要扫描事务数据库21次,而OLA算法仅需要扫描数据库1次,大大降低了算 法的运行时间,提高了效率。
[0085] 本发明提供了一种基于改进Apriori算法的数据库关联规则挖掘方法,具体实现 该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技 术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰, 这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有 技术加以实现。
【主权项】
1. 一种基于改进Apriori算法的数据库关联规则挖掘方法,其特征在于:包括w下步 骤: 步骤1,扫描事务数据库D,得到关系矩阵M。; 步骤2,在计算机内部使用正交链表存储步骤1所述关系矩阵M。,该正交链表包含Ξ种 类型的节点,分别为Μ节点、Η节点和E节点;Μ节点为正交链表的表头节点;Η节点为行或 列表头节点,是正交链表中行链表或者列链表的表头节点;Ε节点为关系矩阵中非零元素 对应的节点; 步骤3,根据步骤2的正交链表计算得到频繁1项集集合LiW及频繁1项集集合L1对 应的正交链表; 步骤4,将频繁k-1项集集合Lk1与自身连接产生候选频繁k项集集合Ck,k为区间巧, -)内的自然数; 步骤5,利用Apriori性质对候选频繁k项集集合Ck进行剪枝; 步骤6,遍历频繁k-1项集集合及频繁1项集集合对应的正交链表,得到包含项集句的 事务集合并计算候选频繁k项集集合Ck中成员巧的支持度,其中ii为区间[1,NJ 内的自然数,Nk表示候选频繁k项集集合Ck所包含的成员数目; 步骤7,将候选频繁k项集集合Ck中成员L'f,的支持度与最小支持度min_suppcxrt进行 比较,删除支持度小于最小支持度min_suppcxrt的成员,得到频繁k项集集合Lk,并根据步 骤6中所得事务集合Π£',)构造频繁k项集集合Lk对应的正交链表; 步骤8,重复执行步骤4~步骤7,直到不能发现更大的频繁项目集为止; 步骤9,根据0LA算法最终获得的频繁项集集合为F,则产生关联规则: R= {A-〉B},A为频繁项集集合F中任意成员在的非空子集,B为A的补集,即ΛeF, i2为区间[l,Nf]内的自然数,Nf表示频繁项集集合F所包含的成员数目。2. 如权利要求1所述的一种基于改进Apriori算法的数据库关联规则挖掘方法,其特 征在于:步骤1中,所述关系矩阵M。如下:其中,I= {Ii,I,,…,1|1|}是事务数据库D所包含的项目集合,|1|为数据库D所包 含的项目数,|D|为事务数据库包含的事务数,di,表示矩阵的元素,i为区间[1,|D|]内的 自然数,j为区间[1,|1|]内的自然数。3. 如权利要求2所述的一种基于改进Apriori算法的数据库关联规则挖掘方法,其特 征在于,步骤3中,所述计算过程如下: 遍历步骤2得到的正交链表的列表头节点,得到项目集合I= {Ii,12,…,1|1|}中各 项目成员在所有事务中出现的次数,分别为Ni,N2, 一,Ν?ι?,包含项目集合I,的事务集合为 Τ({I,}),根据W下公式计算得到各项目支持度sup(I,): sup(Ij) =Nj/|D|,je[1, |l|], 将各项目支持度与所设置最小支持度min_suppod进行比较,并删除支持度小于最小 支持度的项目成员,得到频繁1项集集合Li,基于频繁1项集集合Li中各元素对应的事务 集合T({I,}),得到频繁1项集集合Li对应的正交链表。4. 如权利要求3所述的一种基于改进Apriori算法的数据库关联规则挖掘方法,其 特征在于,步骤4中,连接过程如下:设mi和m2是频繁k-1项集集合Lk1的任意两个成员, 成员中的项目按字典次序排序,即对于成员巧.,有巧,川 < 气间μ-1],其中气[7J 表示成员啼中的第?4个项目,其中i3^ {〇, 1},i4^ {1,2, 一,4-11,如果成员mi和m2中 前k-2个项目均相同,成员叫的第k-2个项目小于成员m2的第k-2个项目,即(mjl]= η?2[1])&&(η?ι[2] =η?2[2])&&…&&(mi比-2] = 1? 比-2])&&(mi比-1]<η?2 比-1]),贝ij判定叫和ΠΙ2 是可连接的,连接叫和m2产生的结果是如山,1? [2],......,mjk-l],m2[k-:L]}。5. 如权利要求4所述的一种基于改进Apriori算法的数据库关联规则挖掘方法,其特 征在于,步骤5中,所述剪枝操作过程如下:遍历频繁k-1项集集合对应的正交链表的列表 头节点,对候选k项集集合Ck的成员,若其包含k-1个元素的所有子集均在列表头节点 中,则将成员气保留在候选频繁项集集合Ck中,否则将其从Ck中删除。6. 如权利要求5所述的一种基于改进Apriori算法的数据库关联规则挖掘方法,其特 征在于,步骤6中,计算所述支持度的步骤包括: 候选频繁k项集集合Ck中成员c;,=Ui,12,…,W-==;ii,k,...,lk-i}U<A},则事务集 合T(Ci) =T(ii,i2,...,iki,ik) =T(ii,i2,...,iki)ηT(ik),即包含项集集合吗的事务 集合1'((:1)是包含项集集合{11,12,一,11^1}的事务集合了(11,12,...,11<1)与包含项集集 合{IJ的事务集合T(Ik)的交集,遍历频繁k-1项集集合对应的正交链表中项集集合{Ii, I2,…,IkJ对应的列,得到事务集合τ(?ι,I2,...,Ik1),遍历频繁1项集集合对应的正交链 表中项集集合{IJ对应的列,得到事务集合T(Ik),则通过W下公式计算k项集集合的支 持度sup(化,I2, . . . ,IiJ): sup({Ii, =N(Tdi, ηTdk))/|D|,ke[l,n], 其中,^了(11,12,...,11^1)〇了山))表示事务集合了(11,12,...,11^1)和事务集合了山) 的交集所包含的事务数。
【专利摘要】本发明提出了一种基于改进Apriori算法的数据库关联规则挖掘方法。本方法将事务数据库转化为关系矩阵,转化后的关系矩阵为稀疏矩阵,并使用正交链表存储关系矩阵。频繁项目集的产生过程转化为对应关系矩阵中项目所对应单链表节点集合的运算过程。本方法只需扫描数据库一遍,克服了Apriori及其相关算法产生大量候选集和需多次扫描数据库的缺点,减少了频繁进行I/O操作的时间;其次,生成和发现频繁2-项集时只需要进行节点集合的交运算,耗费时间较少,并且对生成的频繁k-项集构造单链表进行记录,简化了频繁k+1项集的生成过程,避免了Apriori算法复杂的剪枝过程。
【IPC分类】G06F17/30
【公开号】CN105320756
【申请号】CN201510666724
【发明人】赵学健, 袁源, 孙知信, 乔爱锋
【申请人】江苏省邮电规划设计院有限责任公司
【公开日】2016年2月10日
【申请日】2015年10月15日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1