- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
挖掘关联规则的快速算法
(英)Rakesh Agrawal Ramakrishnan Srikant(
IBM阿尔马丁研究中心圣塔克莱拉市650亨利道 95120证AprioriHybrid算法. 按比例增大实验证明AprioriHybrid算法是随着交易数量按线性比例递增的,且它在交易大小和数据库中的项目上也有良好的递推性.
引言
条形码技术的广泛应用使得零售商在收集和存储大量商品的价格数据时十分方便,简称为货篮数据={}是个不同项目的集合,给定一个事务数据库,其中每一个事务是中一些项目的集合,且都与一个唯一的标识符相联. 如果对于中的一个子集,有,我们就说事务包含. 关联规则是形如的蕴含式,其中,且=. 如果事务数据库中有%的事务包含的同时也包含,则称关联规则的置信度为%. 如果事务数据库中,有%的事务包含了,则称关联规则具有支持度%. 这个规则在我们讨论多项集的问题时比[4]中的阐述要简单很多.
给定一个事务集,挖掘关联规则的问题就是产生支持度和置信度分别大于用户给定的最小支持度和最小置信度的关联规则. 我们对事务集的内容属性方面不加以讨论,比如说,可以是一份数据文件,也可以是一张关系表,或者是一个关联表达式的结果.
找出所有关联规则中的算法,我们称文章[4]提出的为AIS算法,文章[13]提出的为SETM算法. 在本文中,我们介绍两种新的算法:Apriori和AprioriTid算法,基本上与先前的算法不同. 我们将用实验结果证明这两种算法优于先前算法. 它们之间的差距主要体现在问题大小的增大及问题范围从小问题的三个到大问题的多个度量的因子上变化. 接着我们讨论由Apriori和AprioriTid算法合并而成的混合算法(AprioriHybrid算法)是如何的优异. 实验证明AprioriHybrid算法具有良好的递推性能,开启了挖掘关联规则在数据库中应用的可行性.
找出关联规则属于数据库挖掘机器学习文献[20]中的KID3算法. 如果应用在查找所有关联规则问题上,这个算法在与假定关联项的数目一样多的数据上进行运算时,运算量非常大. 最近在数据库上的研究工作是由数据出发来定义关联函数[16]. 函数关联规则需要十分严格的条件. 因此,定义一种函数规则为后,在[16]中描述的算法若从规则来考虑,就无法推出. 我们考虑的这些关联规则要符合实际性质. 规则的存在并不意味着也成立,因为后者可能不具备最小支持度. 同样的,规则和的存在也不意味着成立,因为后者可能也不具备最小置信度.
曾有一个关于测定“有用性”或“有趣性”规则的实验[20]. 无论是有用的还是有趣的,通常都是依赖于运用的. 它需要圈内人员去提供材料,让所有人知道规则的发现过程以及让规则清晰明了,如[7,14]. 在本文中,对这些观点我们不加以讨论,除了指出它们在规则发现体系中的必要特征,可以用我们的算法作为发现过程的引擎,找出中所有非空子集,如果就生成关联规则(-). 我们需要考虑所有的子集产生的多种规则的结果. 由于篇幅关系,这里对此问题不做深入探讨,但读者可通过阅读[5]来获取一种快速算法.
第三章,我们就提出的Apriori和AprioriTid算法与AIS算法[4]和SETM算法[13]作出比较. 为了使论文更完善,在这个章节中还对AIS和SETM算法做了简要介绍. 同时我们还阐述了Apriori和AprioriTid算法如何合并形成AprioriHybrid算法,并且演示了这种算法的递推性. 在第四章,我们总结指出许多相关联的开放性问题.
产生频繁项集
产生频繁项集需要在数据上作多步运算. 第一步,需要计算出每个项目的支持度,从而确定哪些是频繁的,换言之,就是具有最小支持度. 在后续的步骤中,都以前一步生成的频繁项集为基础,产生新的候选项集,即潜在的频繁项集,再扫描数据库计算候选项集的支持度,最后确定哪个些候选项集能真正成为频繁项集. 重复上述过程,直到没有新的频繁项集产生为止.
Apriori和AprioriTid算法与AIS算法[4]和SETM算法[13]完全不同之处就在于候选项集的产生方面,前者一步到位而后者在数据扫描时临时产生. 在AIS和SETM算法中,扫描一个数据时候选项集呈飞过式产生. 特别地,浏览一个事务之后,事务中哪一个是前一步生成的频繁项集是确定的. 新的候选项集是将事务中原有的项扩展到这些频繁项集中产生的. 然而,就我们看来,明显的缺陷就是这个结果不一定会产生,而且对候选项集计算的次数太多导致效率低下.
而Apriori和AprioriTid算法只需通过先前事务中前一步找出的频繁项集来产生候选项集,而无需考虑数据库中所有事务. 其基本的思想是任何频繁项集的子集也一定是频繁项集. 因此,就可以通过链接频繁(-1)-
文档评论(0)