第6章 频繁模式挖掘
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NULL
27
面包:7
项集 面包 牛奶 可乐 麦片 鸡蛋 支持度记数 7 6 6 4 2
牛奶:2
麦片:1 可乐:2 牛奶:4 可乐:2
对于项集{麦片},开始向上找出所有前 缀路径,找出其中的频繁模式:
{面包,麦片:4} {牛奶,麦片:2} {面包,牛奶,麦片:2}
鸡蛋:1 麦片:1 麦片:2 可乐:2
6.2 Apriori算法
C1
项集 支持度计数 6 7 6 2 4 项集
14
L1
支持度计数 6 7 6 2 4 牛奶 面包 可乐 鸡蛋 麦片
找到1项候选集 的集合C1
牛奶 面包 可乐 鸡蛋 麦片
生成频繁1项集 的集合L1
C2
项集 牛奶,面包 牛奶,可乐 牛奶,鸡蛋 牛奶,麦片 面包,可乐 面包,鸡蛋 面包,麦片 可乐,鸡蛋 可乐,麦片 鸡蛋,麦片 支持度计数 4 4 1 2 4 2 4 0 1 2
6.1 频繁模式概述
5
面包和牛奶共同出现在购 物车中,这代表了什么?
购买了油、牛奶、面包、 香蕉、洗衣液、还应该有 哪些商品?
买了这么多的鱼子酱,是 因为促销吗?
上图能挖掘出哪些有趣的模式?
6.1 频繁模式概述
6
Transaction-id
事务
Items bought
A, B, D A, C, D A, D, E B, E, F B, C, D, E, F
强关联规则
– 先验性质
如果一个项集是频繁的,那么它的所有非空子集也是频繁的。
Chapter 6.2
Apriori算法
6.2 Apriori算法
关联规则挖掘的步骤
9
1.找出所有频繁项集,即大于或等于最小支持度阈值的项集 2.由频繁项集产生强关联规则,这些规则必须大于或等于最小支 持度阈值和最小置信度阈值。
7
20
30 40 50
A, C, D
A, D, E B, E, F B, C, D, E, F
– 关联规则
形如X⇒Y的蕴含式 ������=>������[支持度=60%,置信度=100%] 设最小支持度阈值为30%,最小置信度为70%
������=>������[支持度=60%,置信度=100%]
鸡蛋:1
6.3 FP-growth算法
NULL
28
面包:7
项集 面包 牛奶 可乐 麦片 鸡蛋 支持度记数 7 6 6 4 2
6.2 Apriori算法
测试数据集
13
TID 1 2 3 4 5 6 7 8 9
Items 面包、可乐、麦片 牛奶、可乐 牛奶、面包、麦片 牛奶、可乐 面包、鸡蛋、麦片 牛奶、面包、可乐 牛奶、面包、鸡蛋、麦片 牛奶、面包、可乐 面包、可乐
例6.7 Apriori算法
假设使用表中的事务数据,该数据库具有9 个事务,设最小支持度为2,试使用Apriori 算法挖掘表6-3的事务数据中的频繁项集。
牛奶:2
面包:2
麦片:1 可乐:2 牛奶:4 可乐:2
麦片:2
图6-12 {鸡蛋}的条件FP-tree
鸡蛋:1 麦片:1 麦片:2 可乐:2
对于项集{鸡蛋},开始向上找出所有 前缀路径,找出其中的频繁模式:
{面包,鸡蛋:2} {麦片,鸡蛋:2} {面包,麦片,鸡蛋:2}
鸡蛋:1
6.3 FP-growth算法
天津大学计算机科学与技术学院
喻梅
数据挖掘
2
6.1 6.2
概述
Apriori算法 FP-growth算法
目录 CONTENTS
1.5
6.3 6.4 6.5
压缩频繁项集
关联模式评估
Chapter 6.1
频繁模式概述
6.1 频繁模式概述
啤酒与尿布
4
在美国,著名的沃尔玛超市发现啤酒与尿布总是共同出现在购物车中,于是沃尔玛超市经 过分析发现许多美国年轻的父亲下班之后经常要去购买婴儿的尿布,而在购买尿布的同时, 他们往往会顺手购买一些啤酒;因此沃尔玛超市将啤酒与尿布放在相近的位置,方便顾客 购买,并明显提高了销售额。 购物车分析
6.3 FP-growth算法
频繁模式增长(frequent-pattern growth FP-Growth) • 将提供频繁项集的数据库压缩到FP-
22
树,但仍保持项集关联信息;
• 压缩后的数据库分成一组条件数据 库,每个数据库关联一个频繁项,
Header Table Item frequency head f 4 c 4 a 3 b 3 m 3 p 3
集。找出每一个LK需要一次数据库的完整扫描。
6.2 Apriori算法
Apriori算法的实现步骤如下:
11
6.2 Apriori算法
Apriori算法如下:
12
Apriori算法如下: 输入:项集I,事务数据集D,最小支持度计数阈值Min_sup 输出:D中的所有频繁项集的集合L。 Apriori算法: (1)求频繁1项集L1 首先通过扫描事务数据集D,找出所有1项集并计算其支持度,作为候选1项集C1 然后从C1中删除低于最小支持度阈值Min_sup的项集,得到所有频繁1项集的集合L1 (2)For k=2,3,4,… (3)连接:将Lk-1进行自身连接生成候选k项集的集合Ck,连接方法如下:对于任意p,q∈Lk-1,若按字典 序有p={p1,p2,…,pk-2,pk-1}, q={p1,p2,…,pk-2,qk-1},且满足pk-1<qk-1,则把p和q连接成k项集{p1,p2,…,pk-2,pk1,qk-1}作为候选k项集Ck中的元素。 (4)剪枝:删除Ck中的非频繁k项集,即当Ck中一个候选k项集的某个k-1项子集不是Lk-1中的元素时,则 将它从Ck中删除。 (5)计算支持数:通过扫描事务数据集D,计算Ck中每个k项集的支持数。 (6)求Lk:删除Ck中低于最小支持度阈值Min_sup的k项集,得到所有频繁k项集的集合Lk。
6.2 Apriori算法
Apriori算法
10
是布尔关联规则挖掘频繁项集的原创性算法,算法使用频繁项集性质的先 验知识。 • Apriori算法使用一种称为 逐层搜索的迭代方法 ,其中k 项集用于搜 索(k+1)项集。 • 首先,通过扫描数据库,累计每个项的个数,并收集满足最小支持 度的项,找出频繁1项集的集合。该集合记为L1,使用L1找出频繁2 项集的集合L2,使用L2找出L3,如此下去,直到不能再找到频繁k项
令最小置信度为70%,则得到的强关联规则有:
6.2 Apriori算法
17
6.2 Apriori算法
18
TID 1 2 3 4 5 6 7 8 9
Items 面包、可乐、麦片 牛奶、可乐 牛奶、面包、麦片 牛奶、可乐 面包、鸡蛋、麦片 牛奶、面包、可乐 牛奶、面包、鸡蛋、麦片 牛奶、面包、可乐 面包、可乐
对于上例6中L中的频繁3项集{牛奶,面包,麦片},可以推导 出非空子集: {{牛奶},{面包},{麦片},{牛奶,面包},{牛奶,麦片},{面 包,麦片}}。 可以构造的后件只包含一个项的关联规则及置信度如下: {牛奶,面包} {麦片},置信度=2/4=50% {牛奶,麦片} {面包},置信度=2/2=100% {面包,麦片} {牛奶},置信度=2/2=100%
{}
f:4
c:3 a:3 m:2 p:2 b:1 m:1 b:1
c:1
b:1 p:1
并分别挖掘每个条件数据库;
6.3 FP-growth算法
FP-growth算法实现步骤
23
①第一次扫描事务数据集D,确定每个1项集的支持度计数,将频繁1项集按照支持度计数降序排序, 得到排序后的频繁1项集集合L。 ②第二次扫描事务数据集D,读出每个事务并构建根结点为null的FP-tree。 i. 创建FP-tree的根结点,用null标记; ii. 将事务数据集D中的每个事务中的集,删除非频繁项,将频繁项按照L中的顺序重新排列事务中项的 顺序,并对每个事务创建一个分支; iii. 当为一个事务考虑增加分支时,沿共同前缀上的每个结点的计数加1,为跟随前缀后的项创建结点 并连接; iv. 创建一个项头表,以方便遍历,每个项通过一个结点链指向它在树中的出现。 ③从1项集的频繁项集中支持度最低的项开始,从项头表的结点链头指针,沿循每个频繁项的链接来 遍历FP-tree,找出该频繁项的所有前缀路径,构造该频繁项的条件模式基,并计算这些条件模式基中 每一项的支持度; ④通过条件模式基构造条件FP-tree,删除其中支持度低于最小支持度阈值的部分,满足最小支持度阈 值的部分则是频繁项集; ⑤递归地挖掘每个条件FP-tree,直到找到FP-tree为空或者FP-tree只有一条路径,该路径上的所有项的 组合都是频繁项集。
令最小置信度为70%,则得到的强关联规则有:
6.2 Apriori算法
关联规则挖掘中重要的基础理论:
19
Chapter 6.3
FP-growth算法
6.3 FP-growth算法
Apriori算法的优缺点 • 优点
21
– 算法原理简单,抑郁理解。
• 缺点: – 需要多次扫描数据集 • 如果频繁项集最多包含10个项,需要扫描事务数据集10次,这需要很大的 I/O负载 – 产生大量频繁项集 • 如数据集有100项,可能产生的候选项个数为1.27*1030
L2
项集 牛奶,面包 支持度计数 4 4 2 4 2 4 2
生成2项候选集 的集合C2
生成频繁1项集 的集合L2
牛奶,可乐 牛奶,麦片 面包,可乐 面包,鸡蛋 面包,麦片 鸡蛋,麦片
L={{牛奶}:6,{面包}:7,{可乐}:6, {鸡蛋}:2,{麦片}:4,{牛奶,面包}:4, {牛奶,可乐}:4,{牛奶,麦片}:2, {面包,可乐}:4,{面包,鸡蛋}:2, {面包,麦片}:4,{鸡蛋,麦片}:2, {牛奶,面包,可乐}:2, {牛奶,面包,麦片}:2, {面包,鸡蛋,麦片}:2}
C3
生成2项候选集 的集合C3
项集 牛奶,面包,可乐 牛奶,面包,麦片 面包,鸡蛋,麦片 支持度计数 2 2 2
L3
项集 支持度计数 生成频繁1项集 2 牛奶,面包,可乐 的集合L3 牛奶,面包,麦片 面包,鸡蛋,麦片 2 2
6.2 Apriori算法
关联规则的生成过程包括以下步骤:
15
6.2 Apriori算法
项集(5项集)
– 项集 包含0个或者多个项的集合 – 支持度s
10 20 30 40 50
事务中同时包含集合A和集合B的百分比
– 置信度c 事务中同时包含集合A和集合B的事务数 与包含集合A的事务数的百分比
6.1 频繁模式概述
– 频繁模式
支持度满足了最小支持度阈值的项集 设最小支持度阈值为30% 项集{A,D}的支持度为3/5=60%>30% ∴{������,������}是频繁项集。 事务ID 10 事务项 A, B, D
16
TID 1 2 3 4 5 6 7 8 9
Items 面包、可乐、麦片 牛奶、可乐 牛奶、面包、麦片 牛奶、可乐 面包、鸡蛋、麦片 牛奶、面包、可乐 牛奶、面包、鸡蛋、麦片 牛奶、面包、可乐 面包、可乐
对于上例6中L中的频繁3项集{牛奶,面包,麦片},可以 推导出非空子集: {{牛奶},{面包},{麦片},{牛奶,面包},{牛奶,麦片}, {面包,麦片}}。 可以构造的关联规则及置信度如下: {牛奶} {面包,麦片},置信度=2/6=33% {面包} {牛奶,麦片},置信度=2/7=29% {麦片} {牛奶,面包},置信度=2/4=50% {牛奶,面包} {麦片},置信度=2/4=50% {牛奶,麦片} {面包},置信度=2/2=100% {面包,麦片} {牛奶},置信度=2/2=100%
6.3 FP-growth算法
null
25
面包:7
项集 支持度计数 结点链头指针 面包 牛奶 可乐 麦片 鸡蛋 7 6 6 4 2
牛奶:2
Fra Baidu bibliotek
麦片:1
可乐:2
牛奶:4
可乐:2
鸡蛋:1
麦片:1
麦片:2
可乐:2
鸡蛋:1
图6-11 FP-tree
6.3 FP-growth算法
NULL
null
26
面包:7
项集 面包 牛奶 可乐 麦片 鸡蛋 支持度记数 7 6 6 4 2
6.3 FP-growth算法
测试数据集
TID 1 2 3 4 5 6 7 8 9 Items 面包、可乐、麦片 牛奶、可乐 牛奶、面包、麦片 牛奶、可乐 面包、鸡蛋、麦片 牛奶、面包、可乐 牛奶、面包、鸡蛋、麦片 牛奶、面包、可乐 面包、可乐
24
例6.8 FP-growth算法
该数据集具有9个事务,设最小支持度为2,频繁项集的极 大长度为3。试使用FP-growth算法挖掘表6-2的事务数据中 的频繁项集。
27
面包:7
项集 面包 牛奶 可乐 麦片 鸡蛋 支持度记数 7 6 6 4 2
牛奶:2
麦片:1 可乐:2 牛奶:4 可乐:2
对于项集{麦片},开始向上找出所有前 缀路径,找出其中的频繁模式:
{面包,麦片:4} {牛奶,麦片:2} {面包,牛奶,麦片:2}
鸡蛋:1 麦片:1 麦片:2 可乐:2
6.2 Apriori算法
C1
项集 支持度计数 6 7 6 2 4 项集
14
L1
支持度计数 6 7 6 2 4 牛奶 面包 可乐 鸡蛋 麦片
找到1项候选集 的集合C1
牛奶 面包 可乐 鸡蛋 麦片
生成频繁1项集 的集合L1
C2
项集 牛奶,面包 牛奶,可乐 牛奶,鸡蛋 牛奶,麦片 面包,可乐 面包,鸡蛋 面包,麦片 可乐,鸡蛋 可乐,麦片 鸡蛋,麦片 支持度计数 4 4 1 2 4 2 4 0 1 2
6.1 频繁模式概述
5
面包和牛奶共同出现在购 物车中,这代表了什么?
购买了油、牛奶、面包、 香蕉、洗衣液、还应该有 哪些商品?
买了这么多的鱼子酱,是 因为促销吗?
上图能挖掘出哪些有趣的模式?
6.1 频繁模式概述
6
Transaction-id
事务
Items bought
A, B, D A, C, D A, D, E B, E, F B, C, D, E, F
强关联规则
– 先验性质
如果一个项集是频繁的,那么它的所有非空子集也是频繁的。
Chapter 6.2
Apriori算法
6.2 Apriori算法
关联规则挖掘的步骤
9
1.找出所有频繁项集,即大于或等于最小支持度阈值的项集 2.由频繁项集产生强关联规则,这些规则必须大于或等于最小支 持度阈值和最小置信度阈值。
7
20
30 40 50
A, C, D
A, D, E B, E, F B, C, D, E, F
– 关联规则
形如X⇒Y的蕴含式 ������=>������[支持度=60%,置信度=100%] 设最小支持度阈值为30%,最小置信度为70%
������=>������[支持度=60%,置信度=100%]
鸡蛋:1
6.3 FP-growth算法
NULL
28
面包:7
项集 面包 牛奶 可乐 麦片 鸡蛋 支持度记数 7 6 6 4 2
6.2 Apriori算法
测试数据集
13
TID 1 2 3 4 5 6 7 8 9
Items 面包、可乐、麦片 牛奶、可乐 牛奶、面包、麦片 牛奶、可乐 面包、鸡蛋、麦片 牛奶、面包、可乐 牛奶、面包、鸡蛋、麦片 牛奶、面包、可乐 面包、可乐
例6.7 Apriori算法
假设使用表中的事务数据,该数据库具有9 个事务,设最小支持度为2,试使用Apriori 算法挖掘表6-3的事务数据中的频繁项集。
牛奶:2
面包:2
麦片:1 可乐:2 牛奶:4 可乐:2
麦片:2
图6-12 {鸡蛋}的条件FP-tree
鸡蛋:1 麦片:1 麦片:2 可乐:2
对于项集{鸡蛋},开始向上找出所有 前缀路径,找出其中的频繁模式:
{面包,鸡蛋:2} {麦片,鸡蛋:2} {面包,麦片,鸡蛋:2}
鸡蛋:1
6.3 FP-growth算法
天津大学计算机科学与技术学院
喻梅
数据挖掘
2
6.1 6.2
概述
Apriori算法 FP-growth算法
目录 CONTENTS
1.5
6.3 6.4 6.5
压缩频繁项集
关联模式评估
Chapter 6.1
频繁模式概述
6.1 频繁模式概述
啤酒与尿布
4
在美国,著名的沃尔玛超市发现啤酒与尿布总是共同出现在购物车中,于是沃尔玛超市经 过分析发现许多美国年轻的父亲下班之后经常要去购买婴儿的尿布,而在购买尿布的同时, 他们往往会顺手购买一些啤酒;因此沃尔玛超市将啤酒与尿布放在相近的位置,方便顾客 购买,并明显提高了销售额。 购物车分析
6.3 FP-growth算法
频繁模式增长(frequent-pattern growth FP-Growth) • 将提供频繁项集的数据库压缩到FP-
22
树,但仍保持项集关联信息;
• 压缩后的数据库分成一组条件数据 库,每个数据库关联一个频繁项,
Header Table Item frequency head f 4 c 4 a 3 b 3 m 3 p 3
集。找出每一个LK需要一次数据库的完整扫描。
6.2 Apriori算法
Apriori算法的实现步骤如下:
11
6.2 Apriori算法
Apriori算法如下:
12
Apriori算法如下: 输入:项集I,事务数据集D,最小支持度计数阈值Min_sup 输出:D中的所有频繁项集的集合L。 Apriori算法: (1)求频繁1项集L1 首先通过扫描事务数据集D,找出所有1项集并计算其支持度,作为候选1项集C1 然后从C1中删除低于最小支持度阈值Min_sup的项集,得到所有频繁1项集的集合L1 (2)For k=2,3,4,… (3)连接:将Lk-1进行自身连接生成候选k项集的集合Ck,连接方法如下:对于任意p,q∈Lk-1,若按字典 序有p={p1,p2,…,pk-2,pk-1}, q={p1,p2,…,pk-2,qk-1},且满足pk-1<qk-1,则把p和q连接成k项集{p1,p2,…,pk-2,pk1,qk-1}作为候选k项集Ck中的元素。 (4)剪枝:删除Ck中的非频繁k项集,即当Ck中一个候选k项集的某个k-1项子集不是Lk-1中的元素时,则 将它从Ck中删除。 (5)计算支持数:通过扫描事务数据集D,计算Ck中每个k项集的支持数。 (6)求Lk:删除Ck中低于最小支持度阈值Min_sup的k项集,得到所有频繁k项集的集合Lk。
6.2 Apriori算法
Apriori算法
10
是布尔关联规则挖掘频繁项集的原创性算法,算法使用频繁项集性质的先 验知识。 • Apriori算法使用一种称为 逐层搜索的迭代方法 ,其中k 项集用于搜 索(k+1)项集。 • 首先,通过扫描数据库,累计每个项的个数,并收集满足最小支持 度的项,找出频繁1项集的集合。该集合记为L1,使用L1找出频繁2 项集的集合L2,使用L2找出L3,如此下去,直到不能再找到频繁k项
令最小置信度为70%,则得到的强关联规则有:
6.2 Apriori算法
17
6.2 Apriori算法
18
TID 1 2 3 4 5 6 7 8 9
Items 面包、可乐、麦片 牛奶、可乐 牛奶、面包、麦片 牛奶、可乐 面包、鸡蛋、麦片 牛奶、面包、可乐 牛奶、面包、鸡蛋、麦片 牛奶、面包、可乐 面包、可乐
对于上例6中L中的频繁3项集{牛奶,面包,麦片},可以推导 出非空子集: {{牛奶},{面包},{麦片},{牛奶,面包},{牛奶,麦片},{面 包,麦片}}。 可以构造的后件只包含一个项的关联规则及置信度如下: {牛奶,面包} {麦片},置信度=2/4=50% {牛奶,麦片} {面包},置信度=2/2=100% {面包,麦片} {牛奶},置信度=2/2=100%
{}
f:4
c:3 a:3 m:2 p:2 b:1 m:1 b:1
c:1
b:1 p:1
并分别挖掘每个条件数据库;
6.3 FP-growth算法
FP-growth算法实现步骤
23
①第一次扫描事务数据集D,确定每个1项集的支持度计数,将频繁1项集按照支持度计数降序排序, 得到排序后的频繁1项集集合L。 ②第二次扫描事务数据集D,读出每个事务并构建根结点为null的FP-tree。 i. 创建FP-tree的根结点,用null标记; ii. 将事务数据集D中的每个事务中的集,删除非频繁项,将频繁项按照L中的顺序重新排列事务中项的 顺序,并对每个事务创建一个分支; iii. 当为一个事务考虑增加分支时,沿共同前缀上的每个结点的计数加1,为跟随前缀后的项创建结点 并连接; iv. 创建一个项头表,以方便遍历,每个项通过一个结点链指向它在树中的出现。 ③从1项集的频繁项集中支持度最低的项开始,从项头表的结点链头指针,沿循每个频繁项的链接来 遍历FP-tree,找出该频繁项的所有前缀路径,构造该频繁项的条件模式基,并计算这些条件模式基中 每一项的支持度; ④通过条件模式基构造条件FP-tree,删除其中支持度低于最小支持度阈值的部分,满足最小支持度阈 值的部分则是频繁项集; ⑤递归地挖掘每个条件FP-tree,直到找到FP-tree为空或者FP-tree只有一条路径,该路径上的所有项的 组合都是频繁项集。
令最小置信度为70%,则得到的强关联规则有:
6.2 Apriori算法
关联规则挖掘中重要的基础理论:
19
Chapter 6.3
FP-growth算法
6.3 FP-growth算法
Apriori算法的优缺点 • 优点
21
– 算法原理简单,抑郁理解。
• 缺点: – 需要多次扫描数据集 • 如果频繁项集最多包含10个项,需要扫描事务数据集10次,这需要很大的 I/O负载 – 产生大量频繁项集 • 如数据集有100项,可能产生的候选项个数为1.27*1030
L2
项集 牛奶,面包 支持度计数 4 4 2 4 2 4 2
生成2项候选集 的集合C2
生成频繁1项集 的集合L2
牛奶,可乐 牛奶,麦片 面包,可乐 面包,鸡蛋 面包,麦片 鸡蛋,麦片
L={{牛奶}:6,{面包}:7,{可乐}:6, {鸡蛋}:2,{麦片}:4,{牛奶,面包}:4, {牛奶,可乐}:4,{牛奶,麦片}:2, {面包,可乐}:4,{面包,鸡蛋}:2, {面包,麦片}:4,{鸡蛋,麦片}:2, {牛奶,面包,可乐}:2, {牛奶,面包,麦片}:2, {面包,鸡蛋,麦片}:2}
C3
生成2项候选集 的集合C3
项集 牛奶,面包,可乐 牛奶,面包,麦片 面包,鸡蛋,麦片 支持度计数 2 2 2
L3
项集 支持度计数 生成频繁1项集 2 牛奶,面包,可乐 的集合L3 牛奶,面包,麦片 面包,鸡蛋,麦片 2 2
6.2 Apriori算法
关联规则的生成过程包括以下步骤:
15
6.2 Apriori算法
项集(5项集)
– 项集 包含0个或者多个项的集合 – 支持度s
10 20 30 40 50
事务中同时包含集合A和集合B的百分比
– 置信度c 事务中同时包含集合A和集合B的事务数 与包含集合A的事务数的百分比
6.1 频繁模式概述
– 频繁模式
支持度满足了最小支持度阈值的项集 设最小支持度阈值为30% 项集{A,D}的支持度为3/5=60%>30% ∴{������,������}是频繁项集。 事务ID 10 事务项 A, B, D
16
TID 1 2 3 4 5 6 7 8 9
Items 面包、可乐、麦片 牛奶、可乐 牛奶、面包、麦片 牛奶、可乐 面包、鸡蛋、麦片 牛奶、面包、可乐 牛奶、面包、鸡蛋、麦片 牛奶、面包、可乐 面包、可乐
对于上例6中L中的频繁3项集{牛奶,面包,麦片},可以 推导出非空子集: {{牛奶},{面包},{麦片},{牛奶,面包},{牛奶,麦片}, {面包,麦片}}。 可以构造的关联规则及置信度如下: {牛奶} {面包,麦片},置信度=2/6=33% {面包} {牛奶,麦片},置信度=2/7=29% {麦片} {牛奶,面包},置信度=2/4=50% {牛奶,面包} {麦片},置信度=2/4=50% {牛奶,麦片} {面包},置信度=2/2=100% {面包,麦片} {牛奶},置信度=2/2=100%
6.3 FP-growth算法
null
25
面包:7
项集 支持度计数 结点链头指针 面包 牛奶 可乐 麦片 鸡蛋 7 6 6 4 2
牛奶:2
Fra Baidu bibliotek
麦片:1
可乐:2
牛奶:4
可乐:2
鸡蛋:1
麦片:1
麦片:2
可乐:2
鸡蛋:1
图6-11 FP-tree
6.3 FP-growth算法
NULL
null
26
面包:7
项集 面包 牛奶 可乐 麦片 鸡蛋 支持度记数 7 6 6 4 2
6.3 FP-growth算法
测试数据集
TID 1 2 3 4 5 6 7 8 9 Items 面包、可乐、麦片 牛奶、可乐 牛奶、面包、麦片 牛奶、可乐 面包、鸡蛋、麦片 牛奶、面包、可乐 牛奶、面包、鸡蛋、麦片 牛奶、面包、可乐 面包、可乐
24
例6.8 FP-growth算法
该数据集具有9个事务,设最小支持度为2,频繁项集的极 大长度为3。试使用FP-growth算法挖掘表6-2的事务数据中 的频繁项集。