关联规则与关联分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 2.使用Apriori性质剪枝:频繁项集的所有子集必须是频 繁项的:,对候选项C3,我们可以删除其子集为非频繁的选
– {元A,素B,,C}所的以2项删子除集这是个{选A,项B};,{A,C},{B,C},其中{A,B}不是L2的
–
{A,C,E}的2项子集是{A,C},{A,E},{C,E},其中{A,E} 元素,所以删除这个选项;
购买的item A,B,C A,C A,D B,E,F
– 置信度c是指D中包含A 的事务同时也包含B的百 分比
confidence(A B) P(B | A) P(A B) / P(A)
• 假设最小支持度为50%, 最小置信度为50%,则 有如下关联规则
– A C (50%, 66.6%) – C A (50%, 100%)
关联规则挖掘分类 (1)
• 关联规则有多种分类:
– 根据规则中所处理的值类型
• 布尔关联规则
computer financial_ management_ software
• 量化关联规则(规则描述的是量化的项或属性间的关联性)
age ( X , "30...39") income( X , "42k...48k") buys ( X , "computer")
关联来自百度文库则挖掘的基本过程与分类
• 关联规则挖掘的基本过程 • 关联规则挖掘的分类
关联规则挖掘的基本过程
• 给定事务的集合T,关联规则发现是指找出 支持度大于等于minsup,并且置信度大于 等于minconf的所有规则,其中minsup和 minconf是对应的支持度和置信度的阈值。
原始关联规则挖掘方法:
=50%
• 置信度 confidence(A C) P(C | A) P(A C) / P(A) sup port(A C) / sup port(A) 66.6%
Apriori算法 (1)
• Apriori算法是挖掘布尔关联规则频繁项集的算法
• Apriori算法利用的是Apriori性质:频繁项集的所 有非空子集也必须是频繁的。 – A B 模式不可能比A更频繁的出现
– 先找到频繁1-项集集合L1,然后用L1找到频繁2项集集合L2,接着用L2找L3,直到找不到频繁 k-项集,找每个Lk需要一次数据库扫描。
Apriori算法步骤
• Apriori算法由连接和剪枝两个步骤组成。 • 连项– 集接L条k-件的:1中是集为的合了两个,找元该Lk素,候L通1选和过kL项2L可k集-1以与记执自为行己C连k连接。接操作产生l1 候选l2的k-
(l1[1] l2[1]) (l1[2] l2[2]) ... (l1[k 2] l2[k 2]) (l1[k 1] l2[k 1])
• C是此k可所是以有Lk的通频超过繁集扫的,描k-项即数集它据都的库在成,C员通k中可过(能计为不算什是每么频个?繁k-项)的集。,的因但 支持度来得到Lk 。
购物篮事务的例子
TID
项集
1
{面包,牛奶}
2
{面包,尿布,啤酒,鸡蛋}
3
{牛奶,尿布,啤酒,可乐}
4
{面包,牛奶,尿布,啤酒}
5
{面包,牛奶,尿布,可乐}
第一节 关联规则基本概念和关联规则挖掘分类
• 关联规则的基本概念 • 关联规则挖掘的基本过程与分类
关联规则的基本概念
• 令I={i1, i2, ……,id}是购物篮数据中所 有项的集合,而T={t1, t2, ……,tn}是所 有事务的集合。
联规则的挖掘。
Transaction ID Items Bought
最小支持度 50%
2000 A,B,C
最小置信度 50%
1000 A,C
4000 A,D
Frequent Itemset Support
5000 B,E,F
{A}
{B}
75% 50%
{C}
50%
{A,C}
50%
• 对规则A C,支持度 sup port(A C) P(A C)
• 计算每一个可能规则的支持度和置信度。 但是这种方法由于过高的代价而让人望而 却步。
关联规则挖掘任务的步骤
• 找出所有频繁项集:其目标是发现满足最 小支持度阈值的所有项集,这些项集称作 频繁项集(frequent itemset)
• 由频繁项集产生强关联规则:其目标是从 上一步发现的频繁项集中提取所有高置信 度的规则,这些规则称作强规则(strong rule)
– 为了减少计算量,可以使用Apriori性质,即如果一个k项可集以的直(接k-从1)C-子k删集除不。在Lk-1中,则该候选不可能是频繁的,
最小支持计数:2
Apriori算法——示例Itemset sup
Database TDB
{A}
2
Tid Items
C1
{B}
3
10 20
A, C, D B, C, E
– 根据关联挖掘的各种扩充
• 挖掘最大的频繁模式(该模式的任何真超模式都是非频 繁的)
• 挖掘频繁闭项集(一个项集c是频繁闭项集,如果不存在 其真超集c’,使得每个包含c的事务也包含c’)
• (最大的频繁模式和频繁闭项集可以用来减少挖掘中产
由事务数据库挖掘单维布尔关联规
则
• 最简单的关联规则挖掘,即单维、单层、布尔关
1st scan
{C} {D}
3 1
30 A, B, C, E
{E}
3
L1
Itemset sup
{A}
2
{B}
3
{C}
3
{E}
3
40
B, E
L2 Itemset sup
{A, C} 2 {B, C} 2 {B, E} 3 {C, E} 2
C2 Itemset sup
{A, B} 1 {A, C} 2 {A, E} 1 {B, C} 2 {B, E} 3 {C, E} 2
• 关联规则的两个兴趣度度量 – 支持度 buys ( X , "computer") buys ( X , "software") – 置信度 [sup port 2%, confidence 60%]
• 关联(association):两个或多个变量的取值之 间存在某种规律性。
• 关联规则(association rule):指在同一个事件 中出现的不同项的相关性。
• 关联分析(association analysis):用于发现隐 藏在大型数据集中的令人感兴趣的联系。所发现 的联系可以用关联规则或者频繁项集的形式表示。 关联规则挖掘就是从大量的数据中挖掘出描述数 据项之间相互联系的有价值的有关知识。
• 应用:购物篮分析、生物信息学、医疗诊断、 Web挖掘、科学数据分析、分类设计、捆绑销售 和亏本销售分析
• 每个事务ti包含的项集都是I的子集。 • 在关联分析中,包含0个或者多个项的集合
被称为项集(itemset) • 如果一个项集包含k个项,则称它为k-项集。
例如{啤酒,尿布,牛奶}是一个3-项集。 • 空集是指不包含任何项的项集。
• 事务的宽度定义为事务中出现项的个数。
• 如果项集X是事务tj的子集,则称事务tj包含 项集X。
不是L2的
– {B,C,E}的2项子集是{B,C},{B,E},{C,E},它的所有2-项子集 都是L2的元素,因此保留这个选项。
• 3.这样,剪枝后得到C3={{B,C,E}}
由频繁项集产生关联规则
• 同时满足最小支持度和最小置信度的才是 强关联规则,从频繁项集产生的规则都满 足支持度要求,而其置信度则可由一下公 式计算:confidence( A B) P( A | B) sup port _ count( A B)
什么是关联规则挖掘?
• 关联规则挖掘:
– 从事务数据库,关系数据库和其他信息存储中 的大量数据的项集之间发现有趣的、频繁出现 的模式、关联和相关性。
• 应用:
– 购物篮分析、分类设计、捆绑销售等
“尿布与啤酒”——典型关联分析 案例
• 采用关联模型比较典型的案例是“尿布与 啤酒”的故事。在美国,一些年轻的父亲 下班后经常要到超市去买婴儿尿布,超市 也因此发现了一个规律,在购买婴儿尿布 的年轻父亲们中,有30%~40%的人同时 要买一些啤酒。超市随后调整了货架的摆 放,把尿布和啤酒放在一起,明显增加了 销售额。同样的,我们还可以根据关联规 则在商品销售方面做各种促销活动。
• 多层关联规则可以分为同层关联规则和层 间关联规则,同层关联规则是指处于同概 念层的关联规则;层间关联规则是指不同 概念层的关联规则。
• 多层关联规则基本上可以沿用“支持度-置 信度”的框架,但是在设置问题上有一些 要考虑的东西
• 统一的最小支持度:对于不同层次,都使 用一个最小支持度。这样对于用户和算法 实现来讲都比较容易,但是弊端也是显然 的。
购物篮分析
• 如果问题的全域是商店中所有商品的集合,则对 每种商品都可以用一个布尔量来表示该商品是否 被顾客购买,则每个购物篮都可以用一个布尔向 量表示;而通过分析布尔向量则可以得到商品被 频繁关联或被同时购买的模式,这些模式就可以 用关联规则表示(0001001100,这种方法丢失了什么信息?)
规则度量:支持度和置信度
Customer buys both
Customer buys diaper
• 对所有满足最小支持度 和置信度的关联规则
– 支持度s是指事务集D中 包含 A B 的百分比
sup port(A B) P(A B)
Customer buys beer
TID 2000 1000 4000 5000
• 项集的一个重要性质就是它的支持度计数, 即包含特定项集的事务个数,数学上,项 集X的支持度计数σ(X)可以表示为: σ (X)=|{ti|X≤ti,ti∈T}|
• 关联规则是形如X→Y的蕴含表达式,其中 X和Y是不相交的项集。
• 关联规则的强度可以用它的支持度 (support)和置信度(confidence)度量。 支持度确定了规则可以用于给定数据集的 频繁程度,而置信度确定了Y包含X的事务 中出现的频繁程度。
C2 2nd scan
Itemset {A, B} {A, C} {A, E} {B, C} {B, E}
C3 Itemset
{B, C, E}
3rd scan
L3 Itemset sup
{B, C, E} 2
{C, E}
使用Apiori性质由L2产生C3
• 1 .连接:
– C3=L2 L2= {{A,C},{B,C},{B,E}{C,E}} {{A,C},{B,C},{B,E}{C,E}} = {{A,B,C},{A,C,E},{B,C,E}}
– Apriori算法是反单调的,即一个集合如果不能通过测试, 则该集合的所有超集也不能通过相同的测试。
– Apriori性质通过减少搜索空间,来提高频繁项集逐层产 生的效率
Apriori算法 (2)
• Apriori算法利用频繁项集性质的先验知识 (prior knowledge),通过逐层搜索的迭 代方法,即将k-项集用于探察(k+1)-项集, 来穷尽数据集中的所有频繁项集。
sup port _ count( A)
• 每个关联规则可由如下过程产生:
– 对于每个频繁项集l,产生l的所有非空子集;
– 对于每个非空子集s,如果
sup port _ count(l) min_ conf sup port _ count(s)
则输出规则“s (l s) ”
多层关联规则挖掘
– 根据规则中涉及的数据维
• 单维关联规则 • (仅涉及buys这个维)
buys (X , "computer") buys (X , "software")
• 多维关联规则
关联规则挖掘分类 (2)
– 根据规则集所涉及的抽象层
• 单层关联规则 • 多层关联规则 (在不同的抽象层发现关联规则)
age ( X , "30...39") buys ( X , "computer") age ( X , "30...39") buys ( X , "laptop_ computer")
第四章 关联规则与关联分析
摘要
• 关联规则挖掘是数据挖掘中成果颇丰而且 比较活跃的研究分支。本章主要介绍了关 联规则挖掘的基本概念及其分类,以单维 单层布尔关联规则的挖掘理论为切入点, 介绍关联规则挖掘理论模型以及算法方面 的内容,并简单扼要介绍了多层关联规则 挖掘、多维关联规则挖掘的相关内容,最 后通过一个实例给出了关联分析的医学应 用。