Apriori算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B=> {A, E}, confidence = 2/7 = 29% E => {A, B}, confidence = 2/2 = 100 % {A, B} => E , confidence = 2/4 = 50 % {A, E} => B , confidence = 2/2 = 100% {B, E} => A , confidence = 2/2 = 100%
解决思路:减少扫描次 数,减少产生的候选项 集
对候选项集的支持度计 算非常繁琐
解决思路:改进支持 度计算方法
解决方法
3、选样(在给定数据的一个子集挖掘) 基本思想:选择原始数据的一个样本, 在这个样本上用Apriori算法挖掘频繁模式。 通过牺牲精确度来减少算法开销,为了提 高效率,样本大小应该以可以放在内存中 3 为宜,可以适当降低最小支持度来减少遗 漏的频繁模式。
项集
1
不得小于2
A,B
2
去掉候选C2中支持度计数 小于2的项集,得到L2
L2
A,C
Ch4apter Two
A,E
2
B,C
2
B,D
0
B,E
1
0
支持度计数 4 4 2 4 2 2
项集 A,B A,C L2 A,E B,C B,D B,E
计算举例
支持度计数 4 4 2
Ch4apter Two
2 2
假设最小支 持度计数为2, 即出现频率 不得小于2
2 2、事务压缩(压缩进一步迭代的事务数) 不包含任何k-项集的事务不可能包含 任何(k+1)-项集,这种事务在下一步 的计算中可以加上标记或删除来减少 计算量。
谢谢观看
7
C6 hapter Two
2
由L1生成候选C2
C2 A,E B,C
B,D
B,E
2
C,D
C,E
D,E
支持度计数 4 4 1 2 4 2 2 0 1 0
项集 A,B A,C A,D C2 A,E B,C B,D B,E C,D C,E D,E
计算举例
支持度计数
4
假设最小支
4
持度计数为2, 即出现频率
1993年,Agrawal等人在首先提出 关联规则概念。1994年,他们建立了项 目集格空间理论,并依据上述两个定理, 提出了著名的Apriori算法。
主要应用在购物篮分析、分类设计、 促销分析、亏本销售等问题上。
Apriori 算法
1 简介 2 步骤 3 计算举例
4 缺点及改进
Apriori算法 [1] 是一种最有影响 的挖掘布尔关联规则 频繁项集的算法。其 核心是基于两阶段频 集思想的递推算法。 在这里,所有支持度 大于最小支持度的项 集称为频繁项集,简 称频集。
计算举例
TID
项的列表
T1
A,B,E
假设最小支 持度计数为2,
项集
支持度计数
T2
B,D
即出现频率
不得小于2
A
6
T3
B,C
第一步,构造候选项集 C1 B
7
T4
A,CBh,aDpter Two
T5
A,C
C
6
T6
B,C
T7
A,C
T8
A,B,C,E
D
2
E
2
T9
A,B,C
项集 A C1 B C D E
计算举例
简介
支持度和置信度是关 联规则的两个兴趣度度量, 举例:关联规则的支持度 support=2% 表示:分析中 的全部事务的2% 同时购买 计算机和软件;关联规则 的置信度confidence=60%
表示:购买计算机的顾 客60% 也购买软件
项的集合I,事务T是项的集合即 I属于T,每个事务具有事务标识 符TID;任务相关数据D是事务 (或元组)的集合;项集A、B是T 的子集,事务T包含A,B。 k -项集:包含k个项的集合; {牛奶,面包,黄油} 是个3-项集 项集的频率:是指包含项集的 事务数,简称为项集的频率、 支持度计数或计数;
步骤
Apriori算法利用频繁项 集性质的先验知识(prior knowledge),通过逐层搜索 的迭代方法,即将k-项集用 于探察(k+1)-项集,来穷尽 数据集中的所有频繁项集。 通过连接来产生候选项集: 为找 Lk,可通过 Lk-1与自 己连接,产生一个候选k-项 集的集合,该候选项集的集 合记作 Ck 。
关联规则之
Apriori 算法
主讲人: PPT制作:
关联规则
关联规则指大量数 据中项集之间有趣 的关联或相关联系。
关联规则最初提出的动机是针对购 物篮分析(Market Basket Analysis)问题提 出的。假设分店经理想更多的了解顾客 的购物习惯。特别是,想知道哪些商品 顾客可能会在一次购物时同时购买?为 回答该问题,可以对商店的顾客事物零 售数量进行购物篮分析。该过程通过发 现顾客放入“购物篮”中的不同商品之间 的关联,分析顾客的购物习惯。这种关 联的发现可以帮助零售商了解哪些商品 频繁的被顾客同时购买,从而帮助他们 开发更好的营销策略。
计算举例
支持度计数
2
假设最小支
1
持度计数为2,
2
即出现频率 不得小于2
项集
0
由候选C3剪枝得到L3 L3 A,B,C
Cha1pter Two
A,B,E
0
0
1
0
0
支持度计数 2 2
若最小置信度为70%
通过得到的 每个频繁项集 我们可以通过计算其中 事务的置信度来发现其 中的强关联规则
以{A,B,E}为例,注:A=>{B,E}的意思 是事务中在包含A的情况下还包括B,E 则A => {B, E}, confidence = 2/6 = 33%
最终得到的强规则如下: {A, E} => B, confidence = 2/2 = 100 % {B, E} => A, confidence = 2/2 = 100 % E => {A, B}, confidence = 2/2 = 100 %
算法中的缺点及改进办法
要对数据进行多次扫描;会产 生大量的候选项集;
2000
A,B,C
1000
A,B
4000
A,D
5000
B,E,F
支持度s是指事务集 D中包含A∪B(即同时 包含 A和B)的事务占 所有事务的的百分比;
置信度c是指D中包 含A的事务同时也包含B 的百分比:
支持度和置信度是 两个兴趣度度量,分别 反映发现规则的有用性 和确定性。
支持度小,规则使 用面窄;置信度小,规 则无意义。
对产生的Ck进行剪枝, 去掉支持度不合格的事 务,得到频繁项集LK。 剪枝时注意算法的一个 性质:频繁项集的所有 子集必须是频繁的。 判断存在的候选项集的 子集是否频繁。以此类 推,先找到频繁1-项集 集合 L1 ,然后用 L1 找 到频繁2-项集集合 L2 , 接着用 L2找 L3 ,直到 找不到频繁k-项集,找 每个Lk需要一次数据库 扫描。
支持度计数 6
假设最小支 持度计数为2, 即出现频率 不得小于2
项集 A
7
无不合格项集,生成L1 L1 B
C6 hapter Two
C
2
D
2
E
支持度计数 6 7 6 2 2
项集 A L1 B C D E
计算举例
项集
支持度计数 6
假设最小支 持度计数为2, 即出现频率 不得小于2
A,B A,C A,D
由L2产生候选C3
项集 A,B,C A,B,D A,B,E C3 A,C,D A,C,E A,D,E B,C,D B,C,E B,D,E C,D,E
支持度计数 2 1 2 0 1 0 0 1 0 0
项集 A,B,C A,B,D A,B,E A,C,D C3 A,C,E A,D,E B,C,D B,C,E B,D,E C,D,E
1、基于hash表的项集计数
1
将每个项集通过相应的hash函数映射到
hash表中的不同的桶中,这样可以通过
将桶中的项集计数跟最小支持计数相比
较,先淘汰一部分项集
4、动态项集计数 在扫描的不同点添加候选项集, 4 这样,如果一个候选项集已经 满足最少支持度,可以直接将它 添加到频繁项集,而不必继续计算, 进而减少不必要的计算量,提高速度。
源自文库 示例
项的集合:I ={ A,B,C,D,E,F } 每个事务 T由事务标识符 TID 标识,它是 项任的务集相合关AD。数D例据YO如UTDRID是T(IT2数L0E0据0)库={事A,务B,的C}集合。
IF YOU LIKE THIS POWERPOINT
D TIDTEMPLATE,PLEASE FOCUS O购N 买的item ME,YOU WILL GET BETTER.
解决思路:减少扫描次 数,减少产生的候选项 集
对候选项集的支持度计 算非常繁琐
解决思路:改进支持 度计算方法
解决方法
3、选样(在给定数据的一个子集挖掘) 基本思想:选择原始数据的一个样本, 在这个样本上用Apriori算法挖掘频繁模式。 通过牺牲精确度来减少算法开销,为了提 高效率,样本大小应该以可以放在内存中 3 为宜,可以适当降低最小支持度来减少遗 漏的频繁模式。
项集
1
不得小于2
A,B
2
去掉候选C2中支持度计数 小于2的项集,得到L2
L2
A,C
Ch4apter Two
A,E
2
B,C
2
B,D
0
B,E
1
0
支持度计数 4 4 2 4 2 2
项集 A,B A,C L2 A,E B,C B,D B,E
计算举例
支持度计数 4 4 2
Ch4apter Two
2 2
假设最小支 持度计数为2, 即出现频率 不得小于2
2 2、事务压缩(压缩进一步迭代的事务数) 不包含任何k-项集的事务不可能包含 任何(k+1)-项集,这种事务在下一步 的计算中可以加上标记或删除来减少 计算量。
谢谢观看
7
C6 hapter Two
2
由L1生成候选C2
C2 A,E B,C
B,D
B,E
2
C,D
C,E
D,E
支持度计数 4 4 1 2 4 2 2 0 1 0
项集 A,B A,C A,D C2 A,E B,C B,D B,E C,D C,E D,E
计算举例
支持度计数
4
假设最小支
4
持度计数为2, 即出现频率
1993年,Agrawal等人在首先提出 关联规则概念。1994年,他们建立了项 目集格空间理论,并依据上述两个定理, 提出了著名的Apriori算法。
主要应用在购物篮分析、分类设计、 促销分析、亏本销售等问题上。
Apriori 算法
1 简介 2 步骤 3 计算举例
4 缺点及改进
Apriori算法 [1] 是一种最有影响 的挖掘布尔关联规则 频繁项集的算法。其 核心是基于两阶段频 集思想的递推算法。 在这里,所有支持度 大于最小支持度的项 集称为频繁项集,简 称频集。
计算举例
TID
项的列表
T1
A,B,E
假设最小支 持度计数为2,
项集
支持度计数
T2
B,D
即出现频率
不得小于2
A
6
T3
B,C
第一步,构造候选项集 C1 B
7
T4
A,CBh,aDpter Two
T5
A,C
C
6
T6
B,C
T7
A,C
T8
A,B,C,E
D
2
E
2
T9
A,B,C
项集 A C1 B C D E
计算举例
简介
支持度和置信度是关 联规则的两个兴趣度度量, 举例:关联规则的支持度 support=2% 表示:分析中 的全部事务的2% 同时购买 计算机和软件;关联规则 的置信度confidence=60%
表示:购买计算机的顾 客60% 也购买软件
项的集合I,事务T是项的集合即 I属于T,每个事务具有事务标识 符TID;任务相关数据D是事务 (或元组)的集合;项集A、B是T 的子集,事务T包含A,B。 k -项集:包含k个项的集合; {牛奶,面包,黄油} 是个3-项集 项集的频率:是指包含项集的 事务数,简称为项集的频率、 支持度计数或计数;
步骤
Apriori算法利用频繁项 集性质的先验知识(prior knowledge),通过逐层搜索 的迭代方法,即将k-项集用 于探察(k+1)-项集,来穷尽 数据集中的所有频繁项集。 通过连接来产生候选项集: 为找 Lk,可通过 Lk-1与自 己连接,产生一个候选k-项 集的集合,该候选项集的集 合记作 Ck 。
关联规则之
Apriori 算法
主讲人: PPT制作:
关联规则
关联规则指大量数 据中项集之间有趣 的关联或相关联系。
关联规则最初提出的动机是针对购 物篮分析(Market Basket Analysis)问题提 出的。假设分店经理想更多的了解顾客 的购物习惯。特别是,想知道哪些商品 顾客可能会在一次购物时同时购买?为 回答该问题,可以对商店的顾客事物零 售数量进行购物篮分析。该过程通过发 现顾客放入“购物篮”中的不同商品之间 的关联,分析顾客的购物习惯。这种关 联的发现可以帮助零售商了解哪些商品 频繁的被顾客同时购买,从而帮助他们 开发更好的营销策略。
计算举例
支持度计数
2
假设最小支
1
持度计数为2,
2
即出现频率 不得小于2
项集
0
由候选C3剪枝得到L3 L3 A,B,C
Cha1pter Two
A,B,E
0
0
1
0
0
支持度计数 2 2
若最小置信度为70%
通过得到的 每个频繁项集 我们可以通过计算其中 事务的置信度来发现其 中的强关联规则
以{A,B,E}为例,注:A=>{B,E}的意思 是事务中在包含A的情况下还包括B,E 则A => {B, E}, confidence = 2/6 = 33%
最终得到的强规则如下: {A, E} => B, confidence = 2/2 = 100 % {B, E} => A, confidence = 2/2 = 100 % E => {A, B}, confidence = 2/2 = 100 %
算法中的缺点及改进办法
要对数据进行多次扫描;会产 生大量的候选项集;
2000
A,B,C
1000
A,B
4000
A,D
5000
B,E,F
支持度s是指事务集 D中包含A∪B(即同时 包含 A和B)的事务占 所有事务的的百分比;
置信度c是指D中包 含A的事务同时也包含B 的百分比:
支持度和置信度是 两个兴趣度度量,分别 反映发现规则的有用性 和确定性。
支持度小,规则使 用面窄;置信度小,规 则无意义。
对产生的Ck进行剪枝, 去掉支持度不合格的事 务,得到频繁项集LK。 剪枝时注意算法的一个 性质:频繁项集的所有 子集必须是频繁的。 判断存在的候选项集的 子集是否频繁。以此类 推,先找到频繁1-项集 集合 L1 ,然后用 L1 找 到频繁2-项集集合 L2 , 接着用 L2找 L3 ,直到 找不到频繁k-项集,找 每个Lk需要一次数据库 扫描。
支持度计数 6
假设最小支 持度计数为2, 即出现频率 不得小于2
项集 A
7
无不合格项集,生成L1 L1 B
C6 hapter Two
C
2
D
2
E
支持度计数 6 7 6 2 2
项集 A L1 B C D E
计算举例
项集
支持度计数 6
假设最小支 持度计数为2, 即出现频率 不得小于2
A,B A,C A,D
由L2产生候选C3
项集 A,B,C A,B,D A,B,E C3 A,C,D A,C,E A,D,E B,C,D B,C,E B,D,E C,D,E
支持度计数 2 1 2 0 1 0 0 1 0 0
项集 A,B,C A,B,D A,B,E A,C,D C3 A,C,E A,D,E B,C,D B,C,E B,D,E C,D,E
1、基于hash表的项集计数
1
将每个项集通过相应的hash函数映射到
hash表中的不同的桶中,这样可以通过
将桶中的项集计数跟最小支持计数相比
较,先淘汰一部分项集
4、动态项集计数 在扫描的不同点添加候选项集, 4 这样,如果一个候选项集已经 满足最少支持度,可以直接将它 添加到频繁项集,而不必继续计算, 进而减少不必要的计算量,提高速度。
源自文库 示例
项的集合:I ={ A,B,C,D,E,F } 每个事务 T由事务标识符 TID 标识,它是 项任的务集相合关AD。数D例据YO如UTDRID是T(IT2数L0E0据0)库={事A,务B,的C}集合。
IF YOU LIKE THIS POWERPOINT
D TIDTEMPLATE,PLEASE FOCUS O购N 买的item ME,YOU WILL GET BETTER.