散记知识点
——“哪些商品组合频繁地被顾客同时购买?”
1. 基本概念
1.1 频繁项集、闭项集和关联规则
(1) 支持度和置信度
设 L=I1,I2,...,I3 L = I 1 , I 2 , . . . , I 3 是项的集合 D D 是数据库事务的集合包含每个事务
( T T 是一个非空项集,
),设项集 A A 有
的关联规则在事务集 D D 中成立,该条规则具有支持度
(表示 D D 中包含
的概率),置信度 c c (表示
中包含 A A 的事务同时也包含
的事务的概率)。
规则的支持度和置信度是规则兴趣度的两种度量,分别反映了所发现规则的有用性和确定性。
(2) 项集、频繁项集和闭频繁项集
项的集合称为项集。包含k个项的项集称为 k k 项集如{computer, cell phone}为一个2项集。项集出现的频度是包含项集的事务数,简称为项集的频度、(绝对)支持度(计数)。(1)中定义的是项集的相对支持度,如果一个项集的相对支持度满足于预定义的最小支持度阈值,则该项集是频繁项集。
- 挖掘关联规则的问题可以归结为挖掘频繁项集
关联规则的挖掘过程一般有两步:
- 找出所有的频繁项集:满足最小支持度的所有项集。
- 由频繁项集产生强关联规则:这些规则必须满足最小支持度和最小置信度。
如果项集 在数据集 D D 中不存在真超项集 (即 X⊂Y X ⊂ Y )使得 Y Y 与 在 D D 中具有相同的支持度,则项集 是闭的。如果 X X 在 中是闭的和频繁的,则称 X X 是闭频繁项集。如果不存在超项集 使得 X⊂Y X ⊂ Y 并且 Y Y 在 是频繁的,则称 X X 是极大频繁项集。
2. 频繁项集挖掘方法
2.1 Apriori算法
(1) 两条经典的先验性质:
- 频繁项集的所有非空子集一定是频繁的。
- 非频繁项集的所有超集一定不是频繁的。
(2) 两个重要步骤:
设 为第 k−1 k − 1 步的频繁项集合, Ck C k 为下一步的候选项集合。为从 Lk−1 L k − 1 找出 Lk L k ,经历以下两个步骤:
- 连接步:为找出 Lk L k ,通过将 Lk−1 L k − 1 与自身连接产生候选 k k 项集合 。设 li l i 为 Lk−1 L k − 1 的项集,记 li[j] l i [ j ] 表示 li l i 的第 j j 项(例如 表示 li l i 的倒数第2项)。对于 (k−1) ( k − 1 ) 项集 li l i ,把项排序,使得 li[1]<li[2]<...<li[k−1] l i [ 1 ] < l i [ 2 ] < . . . < l i [ k − 1 ] 。执行连接 Lk−1⋈Lk−1 L k − 1 ⋈ L k − 1 ;如果 l1 l 1 和 l2