数据挖掘关联浙江大学山西长治郭晋斌.ppt_第1页
数据挖掘关联浙江大学山西长治郭晋斌.ppt_第2页
数据挖掘关联浙江大学山西长治郭晋斌.ppt_第3页
数据挖掘关联浙江大学山西长治郭晋斌.ppt_第4页
数据挖掘关联浙江大学山西长治郭晋斌.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2001-11-6,数据挖掘:概念和技术,1,数据挖掘: 概念和技术 Chapter 6 ,郭晋斌 浙江大学 (国际)数据库研究中心,2001-11-6,数据挖掘:概念和技术,2,第6章:从大数据库中挖掘关联规则,关联规则挖掘 从交易数据库中挖掘一维的布尔形关联规则 从交易数据库中挖掘多层次关联规则 在交易数据库和数据仓库中挖掘多维关联规则 从关联挖掘到相关性分析 基于约束的关联挖掘 小结,2001-11-6,数据挖掘:概念和技术,3,什么是关联挖掘?,关联规则挖掘: 在交易数据、关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式、关联、相关性、或因果结构。 应用: 购物篮分析、交叉销售、产品目录设计、 loss-leader analysis、聚集、分类等。 举例: 规则形式: “Body Head support, confidence”. buys(x, “diapers”) buys(x, “beers”) 0.5%, 60% major(x, “CS”) takes(x, “DB”) grade(x, “A”) 1%, 75%,2001-11-6,数据挖掘:概念和技术,4,关联规则:基本概念,给定: (1)交易数据库 (2)每笔交易是:一个项目列表 (消费者一次购买活动中购买的商品) 查找: 所有描述一个项目集合与其他项目集合相关性的规则 E.g., 98% of people who purchase tires and auto accessories also get automotive services done 应用 * 护理用品 (商店应该怎样提高护理用品的销售?) 家用电器 * (其他商品的库存有什么影响?) 在产品直销中使用附加邮寄 Detecting “ping-pong”ing of patients, faulty “collisions”,2001-11-6,数据挖掘:概念和技术,5,规则度量:支持度与可信度,查找所有的规则 X & Y Z 具有最小支持度和可信度 支持度, s, 一次交易中包含X 、 Y 、 Z的可能性 可信度, c, 包含X 、 Y的交易中也包含Z的条件概率,设最小支持度为50%, 最小可信度为 50%, 则可得到 A C (50%, 66.6%) C A (50%, 100%),买尿布的客户,二者都买的客户,买啤酒的客户,2001-11-6,数据挖掘:概念和技术,6,关联规则挖掘:路线图,布尔 vs. 定量 关联 (基于 处理数据的类型) buys(x, “SQLServer”) buys(x, “DMBook”) buys(x, “DBMiner”) 0.2%, 60% age(x, “3039”) income(x, “4248K”) buys(x, “PC”) 1%, 75% 单维 vs. 多维 关联 (例子同上) 单层 vs. 多层 分析 那个品种牌子的啤酒与那个牌子的尿布有关系? 各种扩展 相关性、因果分析 关联并不一定意味着相关或因果 最大模式和闭合相集 添加约束 如, 哪些“小东西”的销售促发了“大家伙”的买卖?,2001-11-6,数据挖掘:概念和技术,7,第6章:从大数据库中挖掘关联规则,关联规则挖掘 从交易数据库中挖掘一维的布尔形关联规则 从交易数据库中挖掘多层次关联规则 在交易数据库和数据仓库中挖掘多维关联规则 从关联挖掘到相关性分析 基于约束的关联挖掘 小结,2001-11-6,数据挖掘:概念和技术,8,关联规则挖掘一个例子,对于 A C: support = support(A 、C) = 50% confidence = support(A 、C)/support(A) = 66.6% Apriori的基本思想: 频繁项集的任何子集也一定是频繁的,最小值尺度 50% 最小可信度 50%,2001-11-6,数据挖掘:概念和技术,9,关键步骤:挖掘频繁集,频繁集:是指满足最小支持度的项目集合 频繁集的子集也一定是频繁的 如, 如果AB 是频繁集,则 A B 也一定是频繁集 从1到k(k-频繁集)递归查找频繁集 用得到的频繁集生成关联规则,2001-11-6,数据挖掘:概念和技术,10,Apriori算法,连接: 用 Lk-1自连接得到Ck 修剪: 一个k-项集,如果他的一个k-1项集(他的子集 )不是频繁的,那他本身也不可能是频繁的。 伪代码: Ck: Candidate itemset of size k Lk : frequent itemset of size k L1 = frequent items; for (k = 1; Lk !=; k+) do begin Ck+1 = candidates generated from Lk; for each transaction t in database do increment the count of all candidates in Ck+1 that are contained in t Lk+1 = candidates in Ck+1 with min_support end return k Lk;,2001-11-6,数据挖掘:概念和技术,11,Apriori算法 例子,数据库 D,扫描 D,C1,L1,L2,C2,C2,扫描 D,C3,L3,扫描 D,2001-11-6,数据挖掘:概念和技术,12,如何生成候选集,假定 Lk-1 中的项按顺序排列 第一步: 自连接 Lk-1 insert into Ck select p.item1, p.item2, , p.itemk-1, q.itemk-1 from Lk-1 p, Lk-1 q where p.item1=q.item1, , p.itemk-2=q.itemk-2, p.itemk-1 q.itemk-1 第二步: 修剪 forall itemsets c in Ck do forall (k-1)-subsets s of c do if (s is not in Lk-1) then delete c from Ck,2001-11-6,数据挖掘:概念和技术,13,如何计算候选集的支持度,计算支持度为什么会成为一个问题? 候选集的个数非常巨大 一笔交易可能包含多个候选集 方法: 用 hash-tree 存放候选集 树的叶子节点 of存放项集的列表和支持度 内部节点 是一个hash表 Subset 函数: 找到包含在一笔交易中的所有候选集,2001-11-6,数据挖掘:概念和技术,14,生成候选集的例子,L3=abc, abd, acd, ace, bcd 自连接 : L3*L3 abc 和 abd 得到 abcd acd 和 ace 得到 acde 修剪: ade 不在 L3中,删除 acde C4=abcd,2001-11-6,数据挖掘:概念和技术,15,提高Apriori效率的方法,基于Hash的项集计数: 如果一个 k-项集在hash-tree的路径上的一个计数值低于阈值,那他本身也不可能是频繁的。 减少交易记录: 不包含任何频繁k-项集的交易也不可能包含任何大于k的频繁集 分割: 一个项集要想在整个数据库中是频繁的,那么他至少在数据库的一个分割上是频繁的。 采样: 在给定数据的子集上挖掘,使用小的支持度+完整性验证方法 动态项集计数: 在添加一个新的候选集之前,先估计一下是不是他的所有子集都是频繁的。,2001-11-6,数据挖掘:概念和技术,16,Apriori 够快了吗? 性能瓶颈,Apriori算法的核心: 用频繁的(k 1)-项集生成候选的频繁 k-项集 用数据库扫描和模式匹配计算候选集的支持度 Apriori 的瓶颈: 候选集生成 巨大的候选集: 104 个频繁1-项集要生成 107 个候选 2-项集 要找尺寸为100的频繁模式,如 a1, a2, , a100, 你必须先产生2100 1030 个候选集 多次扫描数据库: 如果最长的模式是n的话,则需要 (n +1 ) 次数据库扫描,2001-11-6,数据挖掘:概念和技术,17,挖掘频繁集 不用生成候选集,用Frequent-Pattern tree (FP-tree) 结构压缩数据库, 高度浓缩,同时对频繁集的挖掘又完备的 避免代价较高的数据库扫描 开发一种高效的基于FP-tree的频繁集挖掘算法 采用分而治之的方法学:分解数据挖掘任务为小任务 避免生成关联规则: 只使用部分数据库!,2001-11-6,数据挖掘:概念和技术,18,用交易数据库建立 FP-tree,最小支持度 = 0.5,TID Items bought (ordered) frequent items 100 f, a, c, d, g, i, m, p f, c, a, m, p 200 a, b, c, f, l, m, o f, c, a, b, m 300 b, f, h, j, o f, b 400 b, c, k, s, p c, b, p 500 a, f, c, e, l, p, m, n f, c, a, m, p,步骤: 扫描数据库一次,得到频繁1-项集 把项按支持度递减排序 再一次扫描数据库,建立FP-tree,2001-11-6,数据挖掘:概念和技术,19,FP-tree 结构的好处,完备: 不会打破交易中的任何模式 包含了序列模式挖掘所需的全部信息 紧密 去除不相关信息不包含非频繁项 支持度降序排列: 支持度高的项在FP-tree中共享的机会也高 决不会比原数据库大(如果不计算树节点的额外开销) 例子: 对于 Connect-4 数据库,压缩率超过 100,2001-11-6,数据挖掘:概念和技术,20,用 FP-tree挖掘频繁集,基本思想 (分而治之) 用FP-tree地归增长频繁集 方法 对每个项,生成它的 条件模式库, 然后是它的 条件 FP-tree 对每个新生成的条件FP-tree,重复这个步骤 直到结果FP-tree为空, 或只含维一的一个路径 (此路径的每个子路径对应的相集都是频繁集),2001-11-6,数据挖掘:概念和技术,21,挖掘 FP-tree的主要步骤,为FP-tree中的每个节点生成条件模式库 用条件模式库构造对应的条件FP-tree 递归构造条件 FP-trees 同时增长其包含的频繁集 如果条件FP-tree直包含一个路径,则直接生成所包含的频繁集。,2001-11-6,数据挖掘:概念和技术,22,步骤1: 从 FP-tree 到条件模式库,从FP-tree的头表开始 按照每个频繁项的连接遍历 FP-tree 列出能够到达此项的所有前缀路径,得到条件模式库,条件模式库 item cond. pattern base c f:3 a fc:3 b fca:1, f:1, c:1 m fca:2, fcab:1 p fcam:2, cb:1,2001-11-6,数据挖掘:概念和技术,23,FP-tree支持条件模式库构造的属性,节点裢接 任何包含ai, 的可能频繁集,都可以从FP-tree头表中的ai沿着ai 的节点链接得到 前缀路径 要计算路径P 中包含节点ai 的频繁集,只要考察到达ai 的路径前缀即可,且其支持度等于节点ai 的支持度,2001-11-6,数据挖掘:概念和技术,24,步骤2: 建立条件 FP-tree,对每个模式库 计算库中每个项的支持度 用模式库中的频繁项建立FP-tree,m-条件模是库: fca:2, fcab:1,All frequent patterns concerning m m, fm, cm, am, fcm, fam, cam, fcam,f:4,c:1,b:1,p:1,b:1,c:3,a:3,b:1,m:2,p:2,m:1,头表 Item frequency head f 4 c 4 a 3 b 3 m 3 p 3,2001-11-6,数据挖掘:概念和技术,25,通过建立条件模式库得到频繁集,2001-11-6,数据挖掘:概念和技术,26,第3步: 递归挖掘条件FP-tree,“am”的条件模式库: (fc:3),“cm”的条件模式: (f:3),f:3,cm-条件 FP-tree,“cam”条件模式库: (f:3),f:3,cam-条件 FP-tree,2001-11-6,数据挖掘:概念和技术,27,单FP-tree 路径生成,假定FP-tree T 只包含路径 P P的子路径所有可能组合就是T的包含的所有频繁集,f:3,c:3,a:3,m-条件 FP-tree,包含 m的所有品感激 m, fm, cm, am, fcm, fam, cam, fcam,2001-11-6,数据挖掘:概念和技术,28,特例: FP-tree 中的唯一前缀路径,假定一个 (条件) FP-tree T 又一个共享唯一前缀路径 P 挖掘可分解为如下两个步骤 用一个节点代替此前缀路径P 分别计算这两个部分的结果,+,2001-11-6,数据挖掘:概念和技术,29,频繁集增长的原理,模式增长的特征 令 为DB的一个频繁集, B 为 的条件模式库, 是 B中的一个项,要使 是DB中的频繁集,当且仅当 是 B 的频繁项. “abcdef ” 是频繁集,当且仅当 “abcde ” 是频繁集, 且 “f ” 在包含 “abcde ”的事务中是频繁的。,2001-11-6,数据挖掘:概念和技术,30,为什么 频繁集增长 速度快?,我们的性能研究显示 FP-growth 比A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论