数据挖掘导论学习笔记 第六章 关联分析:基本概念和算法

本文详细介绍了关联分析的基本概念,包括项集、支持度和关联规则。Apriori算法作为核心,通过先验原理有效剪枝,降低频繁项集计算复杂度。文章还讨论了使用Hash进行支持度计数的优化方法,并分析了算法的计算复杂度。关联规则的产生和置信度剪枝策略进一步优化了规则提取。此外,文章探讨了频繁项集的紧凑表示,如极大频繁项集和闭频繁项集,以及FP增长算法在处理数据时的高效性。
摘要由CSDN通过智能技术生成

6.1问题定义

关联分析(association analysis) 用于发现隐藏在大型数据集中有意义的联系,所发现的联系可以用关联规则或者频繁项集的形式表示

项集和支持度计数

以购物篮数据集为例

TID 面包 牛奶 尿布
1 1 1 0
2 1 0 1
5 1 1 1

I = { i 1 , i 2 , … , i d } I=\{i_1,i_2,\ldots,i_d\} I={ i1,i2,,id}表示所有项的集合, T = { t 1 , … , t N } T=\{t_1,\ldots,t_N\} T={ t1,,tN}表示所有事务的集合。在关联分析中包含0个或多个项的集合被称为项集(itemset).如果一个项集包含k个项,则称他为k-项集。事物的宽度定义为事务中出现的项的个数。项集的另一个重要性质是支持度系数,即包含特定项集的事务数,可以表示为: σ ( X ) = ∣ { t i ∣ X ⊆ t i , t i ∈ T } ∣ \sigma(X)=|\{t_i|X \subseteq t_i,t_i\in T\}| σ(X)={ tiXti,tiT}其中|·|表示为集合中元素的个数。

关联规则(association rule)

关联规则是形如 X → Y X\to Y XY的蕴含表达式,其中X和Y是不相交的项集。关联规则的强度可以用支持度(support)和置信度(confince)度量.支持度可以用于给定数据集的频繁程度,而置信度确定Y在包含X的事务中出现的频繁程度。 s ( X → Y ) = σ ( X ∪ Y ) N c ( X → Y ) = σ ( X ∪ Y ) σ ( X ) s(X\to Y)=\frac{\sigma(X\cup Y)}{N}\\ c(X\to Y)=\frac{\sigma(X\cup Y)}{\sigma(X)} s(XY)=Nσ(XY)c(XY)=σ(X)σ(XY)支持度低的规则可能是偶然出现的,置信度低的规则Y,在出现X的事务中出现的可能性较低。

关联规则挖掘任务分解为两个子任务

  • 频繁项集产生:发现满足最小支持度阈值的所有项集。
  • 规则的产生:从上一步发现的频繁项集中提取所有的高置信度的规则,这些规则称为强规则。也就是说这些规则XY同时出现的概率很高

6.2频繁项集的产生

通过格结构(lattice structure)来枚举可能的项集,经过每个候补项集与事务进行比较筛选出频繁项集。
为了减少频繁项集的计算复杂度:

  • 减少候选项集的数目。运用先验原理
  • 减少比较次数。可以使用更高级的数据结构或者存储候选项集或者压缩数据集
    这些方法在后面的章节会有讨论

6.2.1先验原理

如果一个项集是频繁的,那么他的所有子集一定也是频繁的。相反如果一个项集是非频繁的,那么他的超集一定也是非频繁的。
一旦发现一个项集是非频繁的,整个包含它的超集的子图可以被立刻剪枝。这种基于支持度度量剪枝的策略称为基于支持度的剪枝。这种策略依赖于一个关键性质,即一个项集的支持度绝不会超过它的子集的支持度

6.2.2Apriori算法的频繁项集产生


| k = 1 k=1 k=1
| F k = { i ∣ i ∈ I ∧ σ { i } ≥ N × m i n s u p } F_k=\{i|i\in I\land\sigma\{i\}\ge N\times minsup\} Fk={ iiIσ{ i}N×minsup} ( 发 现 所 有 的 频 繁 1 − ∣ 项 集 ) (发现所有的频繁1-|项集) (1)
| r e p e a t repeat repeat
| k = k + 1 \quad k=k+1 k=k+1
| C k = a p r i o r i − g e n ( F k − 1 ) \quad C_k=apriori-gen(F_{k-1}) Ck=apriorigen(Fk1) ( 产 生 候 选 项 集 ) (产生候选项集) ()
| f o r 每 个 事 务 t ∈ T d o \quad for 每个事务t∈T do fortTdo
| C i = s u b j e c t ( C k , t ) \qquad C_i=subject(C_k,t) Ci=subject(Ck,t) ( 识 别 属 于 t 值 的 所 有 候 选 ) (识别属于t值的所有候选) (t)
| f o r 每 个 候 选 项 集 c ∈ C t \qquad for 每个候选项集c \in C_t forcCt do
| σ ( c ) = σ ( c ) + 1 \qquad \sigma(c)=\sigma(c)+1 σ(c)=σ(c)+1 ( 支 持 度 计 数 增 值 ) (支持度计数增值) ()
| e n d   f o r \qquad end\ for end for
| e n d   f o r \quad end\ for end for
| F k = { c ∣ c ∈ C k ∧ σ ( c ) ≥ N × m i n s u p } ( 提 取 频 繁 k − 项 集 ) \quad F_k=\{c|c\in C_k \land \sigma(c)\ge N \times minsup\}(提取频繁k-项集) Fk={ ccCkσ(c)N×minsup}(

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李烟云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值