第八讲 挖掘频繁模式、关联和相关
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
厦门大学软件学院 13
The Apriori Algorithm—An Example
Database TDB
Tid
10 20 30 40 Itemset {A} sup 2 Itemset sup 2 3 3 3
Items
A, C, D B, C, E A, B, C, E B, E
C1 1st scan C2
挖掘数据集内在且重要的属性
频繁模式是纵多数据挖掘基本任务的基础
关联、相关与因果分析 序列、结构(如“子图”)分析
时空数据、多媒体数据、时间序列数据、流数据上的模式分析
分类 聚类分析:基于频繁模式的聚类 数据仓库:冰山立方体 基于语义的数据压缩 ……
厦门大学软件学院
4
规则兴趣度的两个度量
支持度(support):事务集中事务包含AB的百分 比。——反映了规则的有用性 Support(A=>B) = P(AB)
最小支持度阈值min_sup 支持度计数
置信度(confidence):事务集中包含A的事务同时 也包含B的百分比——反映了规则的确定性 Confidence(A =>B) = P(B|A)
根据规则中所涉及的数据维(谓词)
根据规则集所涉及的抽象层:单层、多层
Age(X, ―30~39‖)=>buys(X,‖laptop computer‖) Age(X, ―30~39‖)=>buys(X,‖computer‖)
厦门大学软件学院 5
根据挖掘模式的完全性
频繁项集的完全集、闭频繁项集和极大频繁项集、被约 束的频繁项集、近似频繁项集……
Initially, scan DB once to get frequent 1-itemset Generate length (k+1) candidate itemsets from length k frequent itemsets Test the candidates against DB Terminate when no frequent or candidate set can be generated
最小置信度阈值min_conf
例如: Computer=>financial_management_software [support=2%,confidence=60%]
厦门大学软件学院 9
强规则:满足min_sup和min_conf的规则
有关概念 项集:项的集合。 K-项集:包含k个项的项集 项集的频率:包含项集的事务数 频繁项集:支持度不小于min_sup的项集 挖掘关联规则的过程 找出所有频繁项集(中心问题) 由频繁项集产生强关联规则
根据挖掘的规则类型分类
关联规则、相关规则、强梯度联系等
根据挖掘的模式类型分类
频繁项集挖掘、序列模式挖掘、结构模式挖掘
厦门大学软件学院
6
基本概念
Transaction-id Items bought
项集:Itemset X = {x1, …, xk}
10
20 30 40 50 Customer buys both
abcd from abc and abd acde from acd and ace acde is removed because ade is not in L3
Pruning:
C4={abcd}
厦门大学软件学院
16
How to Generate Candidates?
假设Lk-1中的项已按顺序排列 Step 1: Lk-1 的自连接
哪些商品频繁地被同时购买?— Beer and diapers?! 买了PC机之后客户经常还会购买哪些相关商品? 哪种DNA对这种新病毒很敏感? 我们能自动对Web上的文档进行分类吗? 购物篮分析、交叉销售、目录设计、点击流分析、DNA序列分析……
应用
厦门大学软件学院
3
Why Is Freq. Pattern Mining Important?
{B}
{C} {D} {E} Itemset {A, B} {A, C} {A, E} {B, C} {B, E} {C, E}
3
3 1 3 sup 1 2 1 2 3 2
L1
{A} {B} {C} {E}
L2
Itemset {A, C} {B, C} {B, E} {C, E}
sup 2 2 3 2
厦门大学软件学院 15
Important Details of Apriori
如何产生候选?
Step 1: Lk的自连接
Step 2: 剪枝(候选集的成员可能不是频繁的,剪枝原则?)
候选生成的例子
L3={abc, abd, acd, ace, bcd} Self-joining: L3*L3
厦门大学软件学院 12
Apriori: A Candidate Generation-and-Test Approach
Apriori pruning principle: If there is any itemset which is infrequent, its superset should not be generated/tested! (Agrawal & Srikant @VLDB’94, Mannila, et al. @ KDD’ 94) Method:
厦门大学软件学院
10
Mining Frequent Patterns, Association and Correlations
基本概念和线路图 有效的和可伸缩的频繁项集挖掘方法 挖掘各种类型的关联规则 关联规则到相关分析 基于约束的关联规则
小结
厦门大学软件学院
11
Scalable Methods for Mining Frequent Patterns
A, B, D
A, C, D A, D, E B, E, F B, C, D, E, F
找出满足规则 X Y 的最小支持度与 置信度
Customer buys diaper
support, s, probability that a transaction contains X Y confidence, c, conditional probability that a transaction having X also contains Y
第八讲
挖掘频繁模式、关联和相关
厦门大学软件学院
1
Байду номын сангаас
Mining Frequent Patterns, Association and Correlations
基本概念和线路图 有效的和可伸缩的频繁项集挖掘方法 挖掘各种类型的关联规则(自学) 关联规则到相关分析 基于约束的关联规则(自学)
The downward closure property of frequent patterns Any subset of a frequent itemset must be frequent If {beer, diaper, nuts} is frequent, so is {beer, diaper} i.e., every transaction having {beer, diaper, nuts} also contains {beer, diaper} Scalable mining methods: Three major approaches Apriori (Agrawal & Srikant@VLDB’94) Freq. pattern growth (FPgrowth—Han, Pei & Yin @SIGMOD’00) Vertical data format approach (Charm—Zaki & Hsiao @SDM’02)
Step 2: 剪枝
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
厦门大学软件学院 17
2.由频繁项集产生关联规则
两个步骤 对于每个频繁项集l,产生l的所有非空子集 对于l的每个非空子集s,如果 support_count(l)/support_count(s)≥min_conf 则输出规则s=>(l-s)
关联规则 形如A=>B的蕴涵式(AI, B I, AB=) D={t1,t2,..tk..tn} tk={i1,i2,…im..ip},im称为项目Item I={i1,i2,..,im}是项的集合
规则A=>B在数据集D中成立,具有支持度s和置信 度c
厦门大学软件学院
8
小结
厦门大学软件学院
2
What Is Frequent Pattern Analysis?
频繁模式(Frequent pattern): 频繁地出现在数据集中的模式(项集,子 序列或子结构等)。 提出:Agrawal, Imielinski, and Swami [AIS93] 动机:寻找数据内部隐含的关联
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;
C2 2nd scan
Itemset {A, B} {A, C}
{A, E}
{B, C} {B, E} {C, E}
C3
Itemset
{B, C, E}
3rd scan
L3
Itemset {B, C, E}
sup 2
14
厦门大学软件学院
The Apriori Algorithm
伪码:
Ck: Candidate itemset of size k Lk : frequent itemset of size k
关联规则的分类方法
根据规则中所处理的值类型
布尔关联规则:考虑项的“在与不在” 量化关联规则:量化的项或属性之间的关联 Age(X,‖30~39‖)∧income(X,‖42~48K‖)=>buys(X,‖high _resolution_TV‖)
单维 buys(X,‖computer‖)=>buys(X,‖ financial_management_software‖) 多维 :见上例
厦门大学软件学院
18
3 Challenges of Frequent Pattern Mining (自学)
Challenges
Multiple scans of transaction database
Huge number of candidates Tedious workload of support counting for candidates Reduce passes of transaction database scans Shrink number of candidates Facilitate support counting of candidates
Let supmin = 50%, confmin = 50% Freq. Pat.: {A:3, B:3, D:4, E:3, AD:3}
Customer buys beer
Association rules: A D (60%, 100%) D A (60%, 75%)
厦门大学软件学院 7
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
The Apriori Algorithm—An Example
Database TDB
Tid
10 20 30 40 Itemset {A} sup 2 Itemset sup 2 3 3 3
Items
A, C, D B, C, E A, B, C, E B, E
C1 1st scan C2
挖掘数据集内在且重要的属性
频繁模式是纵多数据挖掘基本任务的基础
关联、相关与因果分析 序列、结构(如“子图”)分析
时空数据、多媒体数据、时间序列数据、流数据上的模式分析
分类 聚类分析:基于频繁模式的聚类 数据仓库:冰山立方体 基于语义的数据压缩 ……
厦门大学软件学院
4
规则兴趣度的两个度量
支持度(support):事务集中事务包含AB的百分 比。——反映了规则的有用性 Support(A=>B) = P(AB)
最小支持度阈值min_sup 支持度计数
置信度(confidence):事务集中包含A的事务同时 也包含B的百分比——反映了规则的确定性 Confidence(A =>B) = P(B|A)
根据规则中所涉及的数据维(谓词)
根据规则集所涉及的抽象层:单层、多层
Age(X, ―30~39‖)=>buys(X,‖laptop computer‖) Age(X, ―30~39‖)=>buys(X,‖computer‖)
厦门大学软件学院 5
根据挖掘模式的完全性
频繁项集的完全集、闭频繁项集和极大频繁项集、被约 束的频繁项集、近似频繁项集……
Initially, scan DB once to get frequent 1-itemset Generate length (k+1) candidate itemsets from length k frequent itemsets Test the candidates against DB Terminate when no frequent or candidate set can be generated
最小置信度阈值min_conf
例如: Computer=>financial_management_software [support=2%,confidence=60%]
厦门大学软件学院 9
强规则:满足min_sup和min_conf的规则
有关概念 项集:项的集合。 K-项集:包含k个项的项集 项集的频率:包含项集的事务数 频繁项集:支持度不小于min_sup的项集 挖掘关联规则的过程 找出所有频繁项集(中心问题) 由频繁项集产生强关联规则
根据挖掘的规则类型分类
关联规则、相关规则、强梯度联系等
根据挖掘的模式类型分类
频繁项集挖掘、序列模式挖掘、结构模式挖掘
厦门大学软件学院
6
基本概念
Transaction-id Items bought
项集:Itemset X = {x1, …, xk}
10
20 30 40 50 Customer buys both
abcd from abc and abd acde from acd and ace acde is removed because ade is not in L3
Pruning:
C4={abcd}
厦门大学软件学院
16
How to Generate Candidates?
假设Lk-1中的项已按顺序排列 Step 1: Lk-1 的自连接
哪些商品频繁地被同时购买?— Beer and diapers?! 买了PC机之后客户经常还会购买哪些相关商品? 哪种DNA对这种新病毒很敏感? 我们能自动对Web上的文档进行分类吗? 购物篮分析、交叉销售、目录设计、点击流分析、DNA序列分析……
应用
厦门大学软件学院
3
Why Is Freq. Pattern Mining Important?
{B}
{C} {D} {E} Itemset {A, B} {A, C} {A, E} {B, C} {B, E} {C, E}
3
3 1 3 sup 1 2 1 2 3 2
L1
{A} {B} {C} {E}
L2
Itemset {A, C} {B, C} {B, E} {C, E}
sup 2 2 3 2
厦门大学软件学院 15
Important Details of Apriori
如何产生候选?
Step 1: Lk的自连接
Step 2: 剪枝(候选集的成员可能不是频繁的,剪枝原则?)
候选生成的例子
L3={abc, abd, acd, ace, bcd} Self-joining: L3*L3
厦门大学软件学院 12
Apriori: A Candidate Generation-and-Test Approach
Apriori pruning principle: If there is any itemset which is infrequent, its superset should not be generated/tested! (Agrawal & Srikant @VLDB’94, Mannila, et al. @ KDD’ 94) Method:
厦门大学软件学院
10
Mining Frequent Patterns, Association and Correlations
基本概念和线路图 有效的和可伸缩的频繁项集挖掘方法 挖掘各种类型的关联规则 关联规则到相关分析 基于约束的关联规则
小结
厦门大学软件学院
11
Scalable Methods for Mining Frequent Patterns
A, B, D
A, C, D A, D, E B, E, F B, C, D, E, F
找出满足规则 X Y 的最小支持度与 置信度
Customer buys diaper
support, s, probability that a transaction contains X Y confidence, c, conditional probability that a transaction having X also contains Y
第八讲
挖掘频繁模式、关联和相关
厦门大学软件学院
1
Байду номын сангаас
Mining Frequent Patterns, Association and Correlations
基本概念和线路图 有效的和可伸缩的频繁项集挖掘方法 挖掘各种类型的关联规则(自学) 关联规则到相关分析 基于约束的关联规则(自学)
The downward closure property of frequent patterns Any subset of a frequent itemset must be frequent If {beer, diaper, nuts} is frequent, so is {beer, diaper} i.e., every transaction having {beer, diaper, nuts} also contains {beer, diaper} Scalable mining methods: Three major approaches Apriori (Agrawal & Srikant@VLDB’94) Freq. pattern growth (FPgrowth—Han, Pei & Yin @SIGMOD’00) Vertical data format approach (Charm—Zaki & Hsiao @SDM’02)
Step 2: 剪枝
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
厦门大学软件学院 17
2.由频繁项集产生关联规则
两个步骤 对于每个频繁项集l,产生l的所有非空子集 对于l的每个非空子集s,如果 support_count(l)/support_count(s)≥min_conf 则输出规则s=>(l-s)
关联规则 形如A=>B的蕴涵式(AI, B I, AB=) D={t1,t2,..tk..tn} tk={i1,i2,…im..ip},im称为项目Item I={i1,i2,..,im}是项的集合
规则A=>B在数据集D中成立,具有支持度s和置信 度c
厦门大学软件学院
8
小结
厦门大学软件学院
2
What Is Frequent Pattern Analysis?
频繁模式(Frequent pattern): 频繁地出现在数据集中的模式(项集,子 序列或子结构等)。 提出:Agrawal, Imielinski, and Swami [AIS93] 动机:寻找数据内部隐含的关联
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;
C2 2nd scan
Itemset {A, B} {A, C}
{A, E}
{B, C} {B, E} {C, E}
C3
Itemset
{B, C, E}
3rd scan
L3
Itemset {B, C, E}
sup 2
14
厦门大学软件学院
The Apriori Algorithm
伪码:
Ck: Candidate itemset of size k Lk : frequent itemset of size k
关联规则的分类方法
根据规则中所处理的值类型
布尔关联规则:考虑项的“在与不在” 量化关联规则:量化的项或属性之间的关联 Age(X,‖30~39‖)∧income(X,‖42~48K‖)=>buys(X,‖high _resolution_TV‖)
单维 buys(X,‖computer‖)=>buys(X,‖ financial_management_software‖) 多维 :见上例
厦门大学软件学院
18
3 Challenges of Frequent Pattern Mining (自学)
Challenges
Multiple scans of transaction database
Huge number of candidates Tedious workload of support counting for candidates Reduce passes of transaction database scans Shrink number of candidates Facilitate support counting of candidates
Let supmin = 50%, confmin = 50% Freq. Pat.: {A:3, B:3, D:4, E:3, AD:3}
Customer buys beer
Association rules: A D (60%, 100%) D A (60%, 75%)
厦门大学软件学院 7
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