最新第3课-频繁模式及关联规则挖掘技术教学讲义ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3课-频繁模式及关联规则挖 掘技术
内容提纲
关联规则挖掘简介 关联规则基本模型 关联规则价值衡量与发展 参考文献
I. 关联规则简介
关联规则反映一个事物与其他事物之间的相互依 存性和关联性。如果两个或者多个事物之间存在 一定的关联关系,那么,其中一个事物就能够通 过其他事物预测到。
典型的关联规则发现问题是对超市中的货篮数据 (Market Basket)进行分析。通过发现顾客放 入货篮中的不同商品之间的关系来分析顾客的购 买习惯。
I. 关联规则基本模型
IBM公司Almaden研究中心的R.Agrawal 首先提出关联规则模型,并给出求解算法 AIS。随后又出现了SETM和Apriori等算法。 其中,Apriori是关联规则模型中的经典算 法。
给定一组事务 产生所有的关联规则 满足最小支持度和最小可信度
关联规则基本模型(续)
设I={i1, i2,…, im}为所有项目的集合,D为事务数 据库,事务T是一个项目子集(TI)。每一个事 务具有唯一的事务标识TID。设A是一个由项目构 成的集合,称为项集。事务T包含项集A,当且仅 当AT。如果项集A中包含k个项目,则称其为k项 集。项集A在事务数据库D中出现的次数占D中总 事务的百分比叫做项集的支持度。如果项集的支 持度超过用户给定的最小支持度阈值,就称该项 集是频繁项集(或大项集)。
{A} {B}
2 3
L1
{C}
3
{D}
1
{E}
3
Itemset sup
{A}
Apriori算法
(1) L1={频繁1项集};
(2) for(k=2;Lk-1;k++) do begin (3) Ck=apriori_gen(Lk-1); //新的潜在频繁项集
(4) for all transactions tD do begin
(5) (6) (7)
Ct=subset(Ck,t); //t中包含的潜在频繁项集 for all candidates cCt do
confidence (XY)=P (Y | X)
规则度量:支持度与可信度
二者都买 的客户
买啤酒的客户
买尿布的客 户
查找所有的规则 X & Y
具有最小支持度和可信度
Z
支持度, s, 一次交易中包含 {X 、 Y 、 Z}的可能性
可信度, c, 包含{X 、 Y}的交 易中也包含Z的条件概率
交易ID 2000 1000 4000 5000
购买的商品 A,B,C A,C A,D B,E,F
设最小支持度为50%, 最小可 信度为 50%, 则可得到
A C (50%, 66.6%)
C A (50%, 100%)
关联规则基本模型(续)
关联规则就是支持度和信任度分别满足用 户给定阈值的规则。
发现关联规则需要经历如下两个步骤:
找出所有频繁项集。 由频繁项集生成满足最小信任度阈值的规则。
关联规则的性质:
性质1:频繁项集的子集必为频繁项集。 性质2:非频繁项集的超集一定是非频繁的。 Apriori算法运用性质1,通过已知的频繁项集构成
长度更大的项集,并将其称为潜在频繁项集。潜在 频繁k项集的集合Ck 是指由有可能成为频繁k项集的 项集组成的集合。以后只需计算潜在频繁项集的支 持度,而不必计算所有不同项集的支持度,因此在 一定程度上减少了计算量。
通过迭代,检索出事务数据库中的所有频繁项集,即支持 度不低于用户设定的阈值的项集;
利用频繁项集构造出满足用户最小信任度的规则。
挖掘或识别出所有频繁项集是该算法的核心,占整 个计算量的大部分。
频繁项集
为了避免计算所有项集的支持度(实际上频 繁项集只占很少一部分),Apriori算法引入 潜在频繁项集的概念。若潜在频繁k项集的 集合记为Ck ,频繁k项集的集合记为Lk ,m 个项目构成的k项集的集合为 ,则三者之间 满 遵足循关的原系则Lk 是C“k 频繁。C项mk构集成的潜子C在集mk 频必繁为项频集繁所项 集”。
关联规则基本模型(续)
关联规则是形如XY的逻辑蕴含式,其中XI, YI,且XY=。如果事务数据库D中有s%的事 务包含XY,则称关联规则XY的支持度为s%, 实际上,支持度是一个概率值。若项集X的支持度 记为support (X),规则的信任度为support (XY)/ support (X)。这是一个条件概率P (Y | X)。 也就是: support (XY)=P (X Y)
Transaction-id 10
Items bought A, B, C
Min. support 50% Min. confidence 50%
源自文库
20
A, C
30
A, D
40
B, E, F
Frequent pattern {A} {B}
Support 75% 50%
For rule A C:
{C} {A, C}
50% 50%
support = support({A}{C}) = 50%
confidence = support({A}{C})/support({A}) = 66.6%
II. Apriori算法的步骤
Apriori算法命名源于算法使用了频繁项集性质的先 验(Prior)知识。
Apriori算法将发现关联规则的过程分为两个步骤:
Transaction-id 10 20 30 40
Items bought A, B, C A, C A, D B, E, F
Customer buys both
Customer buys diaper
Customer buys beer
Let min_support = 50%, min_conf = 50%: A C (50%, 66.7%) C A (50%, 100%)
c.count++;
(8) end;
(9) Lk={cCk|c.countminsup}
(10) end;
(11) Answer= kLk
实例
Database TDB
Tid Items 10 A, C, D 20 B, C, E 30 A, B, C, E
C1 1st scan
Itemset sup
内容提纲
关联规则挖掘简介 关联规则基本模型 关联规则价值衡量与发展 参考文献
I. 关联规则简介
关联规则反映一个事物与其他事物之间的相互依 存性和关联性。如果两个或者多个事物之间存在 一定的关联关系,那么,其中一个事物就能够通 过其他事物预测到。
典型的关联规则发现问题是对超市中的货篮数据 (Market Basket)进行分析。通过发现顾客放 入货篮中的不同商品之间的关系来分析顾客的购 买习惯。
I. 关联规则基本模型
IBM公司Almaden研究中心的R.Agrawal 首先提出关联规则模型,并给出求解算法 AIS。随后又出现了SETM和Apriori等算法。 其中,Apriori是关联规则模型中的经典算 法。
给定一组事务 产生所有的关联规则 满足最小支持度和最小可信度
关联规则基本模型(续)
设I={i1, i2,…, im}为所有项目的集合,D为事务数 据库,事务T是一个项目子集(TI)。每一个事 务具有唯一的事务标识TID。设A是一个由项目构 成的集合,称为项集。事务T包含项集A,当且仅 当AT。如果项集A中包含k个项目,则称其为k项 集。项集A在事务数据库D中出现的次数占D中总 事务的百分比叫做项集的支持度。如果项集的支 持度超过用户给定的最小支持度阈值,就称该项 集是频繁项集(或大项集)。
{A} {B}
2 3
L1
{C}
3
{D}
1
{E}
3
Itemset sup
{A}
Apriori算法
(1) L1={频繁1项集};
(2) for(k=2;Lk-1;k++) do begin (3) Ck=apriori_gen(Lk-1); //新的潜在频繁项集
(4) for all transactions tD do begin
(5) (6) (7)
Ct=subset(Ck,t); //t中包含的潜在频繁项集 for all candidates cCt do
confidence (XY)=P (Y | X)
规则度量:支持度与可信度
二者都买 的客户
买啤酒的客户
买尿布的客 户
查找所有的规则 X & Y
具有最小支持度和可信度
Z
支持度, s, 一次交易中包含 {X 、 Y 、 Z}的可能性
可信度, c, 包含{X 、 Y}的交 易中也包含Z的条件概率
交易ID 2000 1000 4000 5000
购买的商品 A,B,C A,C A,D B,E,F
设最小支持度为50%, 最小可 信度为 50%, 则可得到
A C (50%, 66.6%)
C A (50%, 100%)
关联规则基本模型(续)
关联规则就是支持度和信任度分别满足用 户给定阈值的规则。
发现关联规则需要经历如下两个步骤:
找出所有频繁项集。 由频繁项集生成满足最小信任度阈值的规则。
关联规则的性质:
性质1:频繁项集的子集必为频繁项集。 性质2:非频繁项集的超集一定是非频繁的。 Apriori算法运用性质1,通过已知的频繁项集构成
长度更大的项集,并将其称为潜在频繁项集。潜在 频繁k项集的集合Ck 是指由有可能成为频繁k项集的 项集组成的集合。以后只需计算潜在频繁项集的支 持度,而不必计算所有不同项集的支持度,因此在 一定程度上减少了计算量。
通过迭代,检索出事务数据库中的所有频繁项集,即支持 度不低于用户设定的阈值的项集;
利用频繁项集构造出满足用户最小信任度的规则。
挖掘或识别出所有频繁项集是该算法的核心,占整 个计算量的大部分。
频繁项集
为了避免计算所有项集的支持度(实际上频 繁项集只占很少一部分),Apriori算法引入 潜在频繁项集的概念。若潜在频繁k项集的 集合记为Ck ,频繁k项集的集合记为Lk ,m 个项目构成的k项集的集合为 ,则三者之间 满 遵足循关的原系则Lk 是C“k 频繁。C项mk构集成的潜子C在集mk 频必繁为项频集繁所项 集”。
关联规则基本模型(续)
关联规则是形如XY的逻辑蕴含式,其中XI, YI,且XY=。如果事务数据库D中有s%的事 务包含XY,则称关联规则XY的支持度为s%, 实际上,支持度是一个概率值。若项集X的支持度 记为support (X),规则的信任度为support (XY)/ support (X)。这是一个条件概率P (Y | X)。 也就是: support (XY)=P (X Y)
Transaction-id 10
Items bought A, B, C
Min. support 50% Min. confidence 50%
源自文库
20
A, C
30
A, D
40
B, E, F
Frequent pattern {A} {B}
Support 75% 50%
For rule A C:
{C} {A, C}
50% 50%
support = support({A}{C}) = 50%
confidence = support({A}{C})/support({A}) = 66.6%
II. Apriori算法的步骤
Apriori算法命名源于算法使用了频繁项集性质的先 验(Prior)知识。
Apriori算法将发现关联规则的过程分为两个步骤:
Transaction-id 10 20 30 40
Items bought A, B, C A, C A, D B, E, F
Customer buys both
Customer buys diaper
Customer buys beer
Let min_support = 50%, min_conf = 50%: A C (50%, 66.7%) C A (50%, 100%)
c.count++;
(8) end;
(9) Lk={cCk|c.countminsup}
(10) end;
(11) Answer= kLk
实例
Database TDB
Tid Items 10 A, C, D 20 B, C, E 30 A, B, C, E
C1 1st scan
Itemset sup