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