一种改进的关联规则的挖掘方法.docVIP

  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文档。上传文档
查看更多
一种改进的关联规则的挖掘方法

一种改进的关联规则挖掘方法 摘 要 从大量事务记录中发现有意义的关联规则,可以帮助做出许多商务决策,如分类设计、交叉购物,从而提高销售额和利润。本文提出了一种基于链表族数据结构的关联规则挖掘的改进方法,性能明显优于Apriori算法。由于该方法只需访问数据库一次,对于挖掘海量数据其性能尤为明显。 关键词 数据挖掘;关联规则;支持度1 问题概述 关联规则的挖掘的形式化描述如下:令I={i1,i2,…im}为项目集(也称为模式),D为事务(又称交易)数据库,其中每个事务T是I中一组项目集合,即T I,并令其有一个唯一的标识符TID。如果对于I中的子集X有X T,则事务包含项目集X。关联规则就是形如XY的逻辑蕴涵式,其中X I,Y I,且X∩Y= 。如果D中S%交易包含XY,关联规则X Y在D中具有支持s。如果D中c%的包含X的交易也同时包含Y,则关联规则X Y在D中可信度c成立。关联规则挖掘一般分为两步:发现所有的频繁项目集,也就是说这些项目集在数据库中的支持计数必须不小于预先设定的一个阈值,即最小支持度;由频繁项目集产生强关联规则,也就是说这些强关联规则必须满足最小支持度和最小可信度。其中第2步,一般采用如下方法:对于一个频繁项目集l的每一个非空子集s如果support_count(1)/ support_count(s)≥min_conf,(其后support_count(1)表示项目集l在数据库中的支持计数,而min_conf表示最小可信度)则规则输出:“s (1-s)”,该规则也称为强关联规则,第2步相对比较简单,目前大部分研究工作都针对第1步,以改进寻找频繁项目集的效率,本文针对第1步提出了一种称为ALT的改进算法。2 研究现状 目前,关联规则挖掘算法中,最有影响的是AGRWAL和SRIKANT于1994年提出的Apriori算法[1]。在许多情况下,Apriori的候选产生-检查方法大幅度压缩了候选项目集的大小,并导致很好的性能,然而,它有两种开销微不足道:可能产生大量候选项目集;可能需要重复地扫描数据库,通过模式匹配检查有一个很大的候选集合,但有一种有趣的称为频繁模式增长(Frequent_Pattern Growth),或简称FP-增长解决了此问题。它采用如下分治策略:将提供频繁项目集的数据库压缩到一棵频繁模式树(FP-树),并仍保留项目集关联信息;然后将这种压缩后的数据库分成一组条件数据库(一种特殊类型的投影数据库),每个关联一个频繁项,并分别挖掘每个数据库。对于挖掘长的和短的频繁模式,FP-树方法都是有效的和可伸缩的,并且比Apriori方法快一个数量级。其它关联规则挖掘方法还有参考文献[1]中讨论且给出的AIS算法,参考文献[2]给出的SETM算法及文献[3]给出的IUA算法。3 ALT算法 Alt算法只需遍历事务数据库一次,用来生成频繁1—项目集。并由此可以得到频繁2—项目集,频繁3—项目集,……,频繁k项目集。对于频繁i(1≤i≤k)—项目集,采用了一种特殊的数据结构——链表簇来存贮。簇中的每一链表用来表示频繁i—项目集各项目的信息,表头节点(patternData)和表节点(tidData)存储结构如图1所示。nextLpatternnewedcountnextP(patternData)tidnextP(tidData)图1 存储结构 图1中nextL是一指针,用来链接簇中下一链表;pattern用来存储频繁i—项目集某一项目;newed用来标示项目集pattern域是否生成了新的频繁项目集,同时也作为最大频繁项目集判断条件,初始值为false,若由pattern域产生了新的频繁项目集,其值变为true,当新的频繁K+1项目集的链表族生成后,若某频繁k项目集对应newed域值仍然为false,则该频繁-k项目集链表对应的pattern域值为一最大频繁项目集;count是该项目集的支持计数;nextP用来链接表节点。对于tidDada,tid是支持项目集pattern的事务标识,保持字典递增有序,nextP用来链接下一个支持项目集pattern节点。 例:有如表1所示事务数据库,最小支持计数为3。 定义:最大频繁项目集——如果某一频繁项目集的所有超集都是非频繁项目集,则该频繁项目集称为最大频繁项目集。 根据定义知:当一个频繁i项目集不能据此生成频繁i+1项目集,该频繁项目集是一最大频繁项目集。 则其频繁1—项目集的链表簇构造如图2所示。图2 频繁1-项目集链表簇构造 性质:频繁项目集的所有子集都是频繁的。 ALT算法的原理在于先求取所有的最大频繁项目集,然后依次求取每一个最大频繁项目集的子集,从而得到频繁项目集。 ALT算法求最大频繁项目集如下: 输入:事务数据库(T),最小支持度(根据最小支持度和项

文档评论(0)

ayangjiayu3 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档