数据仓库与数据挖掘课件 第二章 关联规则.ppt

数据仓库与数据挖掘课件 第二章 关联规则.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据仓库与数据挖掘课件 第二章 关联规则

第2章 关联规则 《数据挖掘与知识发现》(第2版) 吉林大学计算机科学与技术学院 李雄飞 关联规则 典型的关联规则发现问题是分析超市中的货篮数据,通过发现顾客放入货篮中商品之间的关系,分析顾客的购买习惯。本章主要介绍如下几个方面的内容: 关联规则基本模型 Apriori、LIG、FP等算法 多级关联规则 多维关联规则 关联规则价值衡量 引言 关联规则反映一个事物与其他事物之间的相互依存性和关联性。如果两个或者多个事物之间存在一定的关联关系,那么,其中一个事物就能够通过其他事物预测到。 从商业交易记录中发现数据关联关系,用于商家决策。 商品分类设计 降价经销分析 生产安排 货架摆放策略 典型应用:超市货篮数据(Market Basket)进行分析。通过发现顾客放入货篮中的不同商品之间的关系来分析顾客的购买习惯。 分析以商品C为后件的规则,有助于商家采取相应措施促进该产品的销售; 分析以商品A作为前件的规则,可知终止该商品的销售会影响某些商品销售; 根据货架A上的商品和货架B上的商品之间的关联规则,合理安排货架布局。 关联规则基本模型 IBM公司Almaden研究中心的R.Agrawal首先提出关联规则模型,并给出求解算法AIS。 随后又出现了SETM和Apriori等算法。其中,Apriori是关联规则模型中的经典算法。 设I={i1, i2,…, im}为所有项目的集合,D为事务数据库,事务T是一个项目子集(T?I)。每一个事务具有唯一的事务标识TID。 设A是一个由项目构成的集合,称为项集。事务T包含项集A,当且仅当A?T。 如果项集A中包含k个项目,则称其为k项集。项集A在事务数据库D中出现的次数占D中总事务的百分比叫做项集的支持度。如果项集的支持度超过用户给定的最小支持度阈值,就称该项集是频繁项集(或大项集)。 关联规则是形如X?Y的逻辑蕴含式,其中X?I,Y?I,且X?Y=?。如果事务数据库D中有s%的事务包含X?Y,则称关联规则X?Y的支持度为s%。若项集X的支持度记为support(X),规则的信任度为 support(X?Y)/support(X)。 support(X?Y)=P(X ?Y) confidence(X?Y)=P(Y |X) 关联规则基本模型 关联规则就是支持度和信任度分别满足用户给定阈值的规则。 发现关联规则需要经历如下两个步骤: 1. 找出所有频繁项集。 2. 由频繁项集生成满足最小信任度阈值的规则。 由m个项目形成的不同项集的数目可以达到2m–1个,尤其在海量数据库D中,找频繁项集是一个NP难度的问题。 为了避免计算所有项集的支持度,Apriori算法引入潜在频繁项集的概念。若潜在频繁k项集的集合记为Ck ,频繁k项集的集合记为Lk ,m个项目构成的k项集的集合为 ,则三者之间满足关系 Lk ?Ck ? 。 Apriori算法 关联规则具有如下性质: 性质2.1 频繁项集的子集必为频繁项集。 性质2.2 非频繁项集的超集一定是非频繁的。 发现频繁项集的步骤: 1. 单趟扫描数据库D得到频繁1项集构成的集合L1。 2. 连接步:由JOIN运算得到潜在频繁项集Ck的集合。 3. 剪枝步:当潜在k项集的某个(k–1)子集不是Lk–1中的成员时,可以将该潜在频繁项集从Ck中移去。 4. 单趟扫描数据库D,计算Ck中各个项集的支持度。 5. 将Ck中不满足最小支持度的项集剔除,形成由频繁k项集构成的集合Lk 。 Apriori算法 Apriori算法如下: (1) L1={频繁1项集}; (2) for(k=2;Lk-1??;k++) do begin (3) Ck=apriori_gen(Lk-1); //新的潜在频繁项集 (4) for all transactions t?D do begin (5) Ct=subset(Ck,t); //t中包含的潜在频繁项集 (6) for all candidates c?Ct do (7) c.count++; (8) end; (9) Lk={c?Ck|c.count?minsup} (10) end; (11) Answer= ; Apriori算法 Apriori_gen()函数: 以Lk–1为参数,用Lk–1和Lk–1进行连接操作生成一个超集Ck作为潜在频繁项集。 (1) insert into Ck (2) select p[1], p[2],

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档