《数据挖掘概念与技术》读书笔记(三)

五. 挖掘频繁模式、关联和相关性

1. 基本概念

 1). 一个典型例子:购物篮分析

顾客可能会在一次购物同时购买哪些商品?分析结果可以用于营销计划和商店布局。

 2). 规则兴趣度的度量:支持度和置信度

支持度:两种商品同时被购买占事务总数的比例,反映发现该规则的有用性

置信度:购买一个商品的顾客中同时购买另一个商品的顾客所占比例,反映规则的确定性。

 

项集:项的集合,如集合{computer,antivirus_software}是一个2项集

支持度计数:项集的事务数

频繁项集:相对支持度满足最小支持度阈值的项集

闭频繁项集:项集X在数据集D中是闭的,如果不存在真超项集Y使得Y与X在D中具有相同的支持度计数,如果X在D中是闭的和频繁的,则X是数据集的闭频繁项集。

极大频繁项集:X是频繁的,并且不存在超项集Y使得Y在D中是频繁的。

 

关联规则的挖掘包含两步:

1. 找出所有的频繁项集

2. 由频繁项集产生强关联规则(同时满足最小支持度阈值和最小置信度阈值的规则)

 

 

2. 频繁项集挖掘方法

可以分为三类:类Apriori算法,基于频繁模式增长的算法(如FP-growth算法),使用垂直数据格式的算法

 

1). Apriori算法(数据挖掘十大经典算法)

频繁项集先验性质: 频繁项集的所有非空子集也一定是频繁的。

基本思想:使用逐层搜索的迭代方法,其中k项集用于探索(k+1)项集,使用先验性质压缩搜索空间。

如何使用L(k-1)找到L(k): 通过连接步和剪枝步完成。连接步通过将L(k-1)与自身连接产生候选k项集集合。剪枝步从候选k项集确定L(k)。

 

提高Apriori算法效率:

基于散列的技术:将事务产生的k项集散列到散列表的不同桶中,并增加相应桶计数,对应桶计数小于支持度阈值不可能是频繁的,可以从候选集中删除。这一技术可以显著地压缩需要考察的k项集

事务压缩:不包含任何频繁k项集的事务不可能包含任何频繁(k+1)项集,因此在其后的考虑时,可以加上标记或删除。

 

划分:分两个阶段,阶段一把D划分成n个分区,找出每个分区的局部频繁项集,组合所有局部频繁项集形成候选项集; 阶段二评估每个候选的实际支持度,找出候选项集中的全局频繁项集。整个过程只需要两次数据库扫描。

 

抽样:基本思想是选取数据库D的随机样本S,然后再S中搜索频繁项集。这种方法牺牲了一些精度换取了有效性,可能会丢失一些全局频繁项集

 

动态项集计数: 基本思想是奖数据库划分为用开始点标记的块。不像Apriori算法仅在每次完整的数据库扫描前确定新的候选,这种变形中,可以再任何开始点添加新的候选集。该变形需要的数据库扫描笔Apriori算法少。

 

Apriori算法优缺点

优点:显著压缩了候选项集的规模,产生很好的性能

缺点:仍需要产生大量候选项集,需要重复扫描整个数据库

 

2). 频繁模式增长(FP-growth)

目标:挖掘全部频繁项集而无需代价昂贵的候选产生过程

基本思想:采取分治策略,首先将频繁项集的数据库压缩到一棵频繁模式树(FP树),该树仍保留项集的关联信息。然后把压缩后的数据库划分成一组条件数据库,每个数据库关联一个频繁项或模式段,并分别挖掘每个条件数据库。随着被考察模式的增长,这种方法显著地压缩被搜索的数据集的大小。概括起来可分为构造FP树和挖掘FP树两个步骤。

 

当数据库很大时,构造的FP数可能太大而不能放进主存,可以递归地将数据库划分成投影数据库集合。

 

FP-growth方法对于挖掘长的频繁模式和短的频繁模式,都是有效的和可伸缩的,并且大约比Apriori算法快一个数量级。

 

3). 使用垂直数据格式挖掘频繁项集

Apriori算法和FP-growth算法都是使用水平数据格式,即{TID: itemset}, 其中TID为事务标识符,itemset是TID中购买的商品。

垂直数据格式: {item: TID}

 

基本思想:通过扫描一次数据库,把水平格式的数据转换成垂直格式,根据先验性质,使用频繁k项集来构造候选k+1项集,通过去频繁k项集的TID集的交,计算对应k+1项集的TID集,重复该过程,知道不能找到频繁项集或候选项集。

 

优点:利用先验性质,不需要扫描数据库来确定k+1项集的支持度。

缺点:TID集可能很长,需要大量内存,长集合的交运算还需要大量的计算时间。

 

3. 模式评估

 

并非所有强关联规则都是有趣的,比如项集计算机游戏和录像可能满足强关联规则,但是它们是负相关的。

提升度:一种相关性的度量,结果值大于1是正相关,为1表示独立,小于1表示负相关。

相关性度量还有最大置信度和余弦。

 

六. 挖掘频繁模式、关联和相关性

1. 高级模式形式: 多层关联、多维关联、量化关联规则、稀有模式、负模式

2. 基于约束的挖掘: 模式剪枝约束、数据剪枝约束

模式搜索空间剪枝:检查候选模式,使用先验性质,剪掉一个模式,如果它的超模式都不可能产生。

 

数据搜索空间剪枝:检查数据集,判断特定数据片段是否对其后的可满足模式产生有贡献。

 

模式剪枝约束分为五类:

反单调的:如果一个项集不满足规则约束,则它的任何超集不可能满足该约束

单调的:如果一个项集满足这个规则约束,则它的所有超集也满足。

简洁的:可以枚举并且仅枚举可以确保该约束的所有集合,该类约束不必迭代检验

可转变的:不属于以上三类,但该约束在项集一特定次序排列时可能成为单调的或反单调的。

不可转变的:大部分都属于以上四类。

 

3. 挖掘高维数据和巨型模式:包括利用垂直数据格式扩充模式增长方法和模式融合方法。

垂直数据格式模式增长:将具有较少行但具有大量维的数据集变换成具有大量航少量维的数据集。

模式融合:

基本思想:融合少量较短的频繁模式,形成巨型模式候选。首先,他以有限的宽度遍历树,只使用有限大小的候选池中的模式作为模式树向下搜索的开始结点,避免了指数搜索空间问题。它产生巨型模式的近似解,可以找出大部分巨型模式。

步骤:1. 池初始化:一个短长度(长度不超过3)频繁模式的完全集。

      2. 迭代的模式融合:从当前池中随机选取k个种子,对每个种子找出直径为T的球内所有模式,将这些球融合成超模式集。由于每个超模式的支集随迭代而收缩,因此迭代过程终止。

模式融合合并打魔石的小的子模式,而不是用单个项增量地扩展模式。

 

4. 挖掘压缩或近似模式:

1. 基于聚类的压缩:采用一个好的相似性度量,把相似的对象聚合到一个簇中,代表模式从每个簇中选取,从而提供频繁模式集的一个压缩版本。

模式距离:闭模式之间的距离度量。包含模式的支持度信息。

感知冗余的top-k模式:具有低冗余的k个代表模式的小集合。一种减少挖掘返回的模式数量的策略。

 

5. 模式挖掘的应用:

1). 作为预处理,用于噪声过滤盒数据清理
2). 发现隐藏在数据中的固有结构和簇

3). 基于模式的分类

4). 高维空间中子空间的有效聚类

5). 对时间空间、序列、图像、视频数据进行分析

6). 序列与结构数据的分析,如图、树、子序列和网络分析

7). 作为基本的索引结构

8). 推荐系统

 

 

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值