文章目录

  • 第三章 关联数据挖掘
  • 首先明确本章需要学习掌握的内容
  • 几个重要概念
  • 关联规则挖掘算法
  • 关联规则评估(理解)
  • 1.什么是关联规则挖掘?
  • 经典例子——购物篮分析
  • 其他应用举例
  • [考点]数据集中支持度的计算
  • 频繁项集
  • 项集
  • 支持度计数 support count
  • 支持度 support
  • [考点]关联规则的强度——置信度和支持度的计算
  • 关联规则
  • 衡量关联规则的强度——支持度 置信度
  • 2.挖掘关联规则的一般步骤
  • 1.**频繁项集产生**(Frequent Itemset Generation)
  • Brute-force 方法
  • 降低产生频繁项集计算复杂度的方法
  • ==重点!Apriori算法==
  • 2.规则的产生(Rule Generation)
  • 频繁项集到规则产生
  • 计算复杂度
  • 3.提高Apriori算法的方法
  • 改进Apriori
  • 提高算法的方法
  • 基于Hash(散列)的技术
  • 事务压缩
  • 划分
  • 抽样
  • 4.FP增长算法
  • 基本思想:
  • 如何构造FP树?
  • 构造FP树例1
  • 构造FP树例2
  • FP树特点
  • 如何在FP树中进行频繁模式挖掘?
  • 1.构建条件模式基(子数据库)
  • 2.构建条件FP树
  • 3.挖掘频繁项集
  • FP增长算法的优缺点
  • 优点:
  • 缺点:
  • 5.基于约束的关联规则挖掘
  • 1.基于约束的数据挖掘
  • 2.Apriori算法:一个例子
  • 3.朴素算法:Apriori + 约束
  • 4.有关的其他方法
  • 6.关联模式的评估
  • 7.本章重要概念
  • 1.几个重要概念
  • 2.关联规则挖掘算法
  • 3.关联规则评估(理解)


第三章 关联数据挖掘

首先明确本章需要学习掌握的内容

本章内容可以说是很多了 所以在最开始确定一下重点
回头也可以有目的地去进行了解~

几个重要概念

这些概念一定要非常清楚
要达到能随意应用的程度

  • 支持度
  • 置信度
  • 频繁项集
  • 关联规则(掌握!)

关联规则挖掘算法

考试很有可能要考这个哦~ 所以要重点掌握
尤其是 Apriori算法 要重点进行掌握~

  • Apriori算法——掌握
  • FP-Growth算法——理解

关联规则评估(理解)

以上内容需要熟记于心~

1.什么是关联规则挖掘?

经典例子——购物篮分析

假设我们是一个超时的市场分析员

我们在清点顾客的购买清单时发现——

有一些商品的组合频繁地被顾客购买

于是~专业的我们 准备挖掘商品组合之间的关系 这 就是关联数据挖掘

大数据挖掘图片 大数据挖掘分析入门_大数据挖掘图片


关联数据挖掘的目的:在事务、关系数据库中的项集和对象中发现频繁模式、关联规则、相关性或者因果结构

频繁模式:数据库中频繁出现的项集

其他应用举例

购物篮分析 交叉销售 医疗诊断 网页挖掘 科学数据分析 产品目录设计生物信息学

[考点]数据集中支持度的计算

这是个考点诶~给个表格 计算置信度支持度 可见还是重要的

例子——

给定一个数据集

大数据挖掘图片 大数据挖掘分析入门_关联规则_02

接下来看一看数据集相关的一些概念

频繁项集

满足最小支持阈值的所有项集

也就是出现次数大于给定阈值的项集

项集
  • 包含0个或多个项的集合

——例如:{Milk,Bread,Diaper}

  • k-项集:包含k个项的项集
支持度计数 support count

大数据挖掘图片 大数据挖掘分析入门_数据挖掘_03

  • 包含特定项集的事务个数

——例如:

大数据挖掘图片 大数据挖掘分析入门_关联规则_04

{Milk,Bread,Diaper}的支持度计数=2

支持度 support
  • 包含项集的事务数/总事务数

小例子:

大数据挖掘图片 大数据挖掘分析入门_关联规则_05


support({Milk,Bread,Diaper})=2/5

[考点]关联规则的强度——置信度和支持度的计算

关联规则

形如X—>Y的蕴含表达式

其中X Y是不相交的项集

例如:{milk,diaper}——>{Bear}

衡量关联规则的强度——支持度 置信度
  • 支持度 support(X—>Y)

确定项集的频繁程度

大数据挖掘图片 大数据挖掘分析入门_数据挖掘_06

  • 置信度 Confidence(X—>Y)

确定Y在包含X的事务中出现的频繁程度

大数据挖掘图片 大数据挖掘分析入门_数据库_07

大数据挖掘图片 大数据挖掘分析入门_数据挖掘_08


表示事务包含集合A B中每个项的概率

2.挖掘关联规则的一般步骤

1.频繁项集产生(Frequent Itemset Generation)

–其目标是发现满足最小支持度阈值的所有项集,这些项集称作频繁项集

Brute-force 方法
  • 把格结构中每个项集作为候选项集
  • 将每个候选项集和每个事务进行比较,确定每个候选项集的支持度计数。
  • 大数据挖掘图片 大数据挖掘分析入门_大数据挖掘图片_09

为何Brute-force是蛮力方法呢?

–蛮力方法把所有的k-项集都看作可能的候选,然后使用候选剪枝除去不必要的候选

–第k层产生的候选项集的数目为

–虽然候选产生是相当简单的,但是候选剪枝的开销极大,因为必须考察的项集数量太大。

–设每一个候选项集所需的计算量为O(k),这种方法

的总复杂度为

大数据挖掘图片 大数据挖掘分析入门_大数据挖掘图片_10

降低产生频繁项集计算复杂度的方法
  • 减少候选项集的数量

先验(apriori)原理

  • 减少比较的次数

替代将每个候选项集与每个事务相匹配,可以使用更高级的数据结构,或存储候选项集或压缩数据集,来减少比较次数

重点!Apriori算法

这个算法是非常重要的~

建议重点学习嗷

之后尽量写一篇Apriori算法的入门学习文章

知识点所在处——

老师给的ppt 的 chapter3 p19-27

性质一:如果一个项集是频繁的,则它的所有子集一定也是频繁的

性质二:相反,如果一个项集是非频繁的,则它的所有超集也一定是非频繁的

大数据挖掘图片 大数据挖掘分析入门_关联规则_11

2.规则的产生(Rule Generation)

其目标是从上一步发现的频繁项集中提取所有高置信度的规则,这些规则称作强规则(strong rule)

频繁项集到规则产生
  • 思考:怎样有效的从频繁项集中产生关联规则?
  • 关联规则的提取:将一个项集 Y划分成两个非空的子集 X 和Y-X 使得X —> Y – X满足置信度阈值

如果n{A,B,C,D} 是频繁项集, 候选项集为:

ABC —>D, ABD —>C, ACD —>B, BCD —>A,
A —>BCD, B —>ACD, C —>ABD, D —>ABC
AB —> CD, AC —> BD, AD —> BC, BC —>AD,
BD —> AC, CD —> AB,

  • 一般来说 计算关联规则的置信度并不需要再次扫描事务数据集 规则 {A,B,C} —>{D}的置信度为support(ABCD)/support(ABC)
计算复杂度

3.提高Apriori算法的方法

改进Apriori

  • 减少事务数据库的扫描遍数
  • 压缩候选数量
  • 便于候选计数

提高算法的方法

这里简要介绍四种可以改进Apriori算法那的方法

  • Hash-based itemset counting(散列项集计数)
  • Transaction reduction(事务压缩)
  • Partitioning(划分)
  • Sampling(采样)
基于Hash(散列)的技术

基本思想:压缩候选k项集

  • 散列项集到对应的桶中,一个hash桶的计数小于阈值的k-itemset 不可能是频繁的——

大数据挖掘图片 大数据挖掘分析入门_数据挖掘_12

事务压缩

基本思想:删除 不可能对寻找频繁项集有用的 事务(对象)

  • 不包含任何频繁k项集的事务不可能包含任何频繁k+1项集 因此这些事务在其后的考虑中,可以加上标记或删除。
划分

基本思想:分而治之

  • 项集在数据库中是频繁的 则项集必须至少为数据库的一个划分中是频繁的

第一次扫描——划分数据库 并找出局部频繁模式

第二次扫描——求出全局频繁模式

大数据挖掘图片 大数据挖掘分析入门_数据库_13

抽样

基本思想:选取原数据库的一个样本, 使用Apriori算法在样本中挖掘频繁模式

第一次扫描——验证在样本中发现的频繁模式

第二次扫描——再次扫描数据库 找出遗漏的频繁模式

4.FP增长算法

该算法不同于Apriori算法那的“产生-测试”范型

而是使用一种称作FP树的紧凑数据结构组织数据,并直接从该结构中提取频繁项集

基本思想:

  1. 将代表频繁项集的数据库压缩到FP树上
  2. 将FP树划分为一组条件数据库(每个数据库关联一个频繁项或模式段)挖掘每个条件数据库 获取频繁项集

如何构造FP树?

1.先进行支持度排序

扫描一次数据集,确定每个项的支持度计数,丢弃非频繁项。

将频繁项按照支持度的递减排序

2.构建FP树

第二次扫描数据集,读入第一个事务{a, b}之后,创建标记为a和b的结点。然后形成null->a->b路径。

该路径上的所有结点的频度计数为1。

**如果两个事务有相同的前缀 则路径是相交的

构造FP树例1

大数据挖掘图片 大数据挖掘分析入门_大数据_14

大数据挖掘图片 大数据挖掘分析入门_数据库_15

大数据挖掘图片 大数据挖掘分析入门_大数据_16

大数据挖掘图片 大数据挖掘分析入门_数据挖掘_17

大数据挖掘图片 大数据挖掘分析入门_数据挖掘_18

至此 FP树构造完成

构造FP树例2

大数据挖掘图片 大数据挖掘分析入门_大数据_19

大数据挖掘图片 大数据挖掘分析入门_大数据_20

FP树特点

  • 通常,FP树的大小比未压缩的数据小,因为购物篮数据的事务常常共享一些共同项。如果共同项较少,FP树对存储空间的压缩效果将不明显。
  • FP树的大小也依赖于项如何排序,一般按照支持度计数递减序可以导致较小的FP树。(但也有一些例外)
  • FP树还包含一个连接具有相同项的结点的指针列表,这些指针有助于方便快捷地访问树中的项

如何在FP树中进行频繁模式挖掘?

1.构建条件模式基(子数据库)

**条件模式基:**一个“子数据库”,由FP树中与该后缀模式一起出现的前缀路径集组成。

大数据挖掘图片 大数据挖掘分析入门_数据挖掘_21


大数据挖掘图片 大数据挖掘分析入门_关联规则_22

2.构建条件FP树

把条件模式基看作为事务数据库 构造条件FP树

大数据挖掘图片 大数据挖掘分析入门_大数据_23

项I5 ——

大数据挖掘图片 大数据挖掘分析入门_数据库_24

项I3 ——

大数据挖掘图片 大数据挖掘分析入门_数据库_25

3.挖掘频繁项集

对每一(条件)树 有两种情况:

1)如果(条件)FP树为单个路径 则产生该路径下所有模式的组合

大数据挖掘图片 大数据挖掘分析入门_大数据挖掘图片_26

2)如果(条件)FP树为多路径 则针对树的头表中的每一个项 产生对应模式获取频繁模式

FP增长算法的优缺点

优点:
  • FP增长算法对长和短的模式都是有效且可伸缩的
  • 效率比Apriori算法快乐一个数量级
缺点:
  • 对内存要求较大 算法实现相对复杂

5.基于约束的关联规则挖掘

1.基于约束的数据挖掘

自动地找出数据库中的所有模式是不现实的!

——因为模式可能太多 并不聚焦

  • 数据挖掘应当是一个交互的过程
  • ——用户使用数据挖掘查询语言(或图形用户界面)指导需要挖掘什么
  • 基于约束的挖掘
  • ——用户灵活性:提供挖掘的约束
  • ——系统优化:考察限制,寻找有效的挖掘(基于约束的挖掘)

2.Apriori算法:一个例子

大数据挖掘图片 大数据挖掘分析入门_数据挖掘_27

3.朴素算法:Apriori + 约束

大数据挖掘图片 大数据挖掘分析入门_大数据挖掘图片_28

4.有关的其他方法

  • 挖掘频繁闭项集合和最大模式

CLOSET (DMKD’00)

  • 挖掘序列模式

FreeSpan (KDD’00), PrefixSpan (ICDE’01)

  • 频繁模式的基于限制的挖掘

Convertible constraints (KDD’00, ICDE’01)

6.关联模式的评估

这部分的具体内容再ppt p59-63

具体内容还是比较复杂的哈~

关联分析算法往往产生大量的规则 而其中很大一部分可能是我们不感兴趣的。

所以 建立一组广泛接受的评价关联模式质量的标准是非常重要的

第一组标准——可以通过统计论据建立

涉及相互独立的项或覆盖少量事务的模式被认为是不令人感兴趣的,因为它们可能反映数据中的伪联系。(这些令人感兴趣的模式可以使用客观兴趣度度量来排除)

第二组标准——可以通过主观论据建立

一个模式被主观认为是无趣的,除非它能够揭示料想不到的信息或提供导致有益的行动的有用信息。

例如:{黄油}-{面包}可能不是有趣的,尽管有很高的支持度和置信度,但是它表示的关系显而易见。另一方面,规则{尿布} -{啤酒}是有趣的,因为这种联系十分出乎意料,并且可能为零售商提供新的交叉销售机会。

7.本章重要概念

1.几个重要概念

  • 支持度
  • 置信度
  • 频繁项集
  • 关联规则(掌握!)

2.关联规则挖掘算法

考试很有可能要考这个哦 所以要重点掌握

  • Apriori算法——掌握
  • FP-Growth算法——理解

3.关联规则评估(理解)