挖掘频繁模式、关联和相关性:基本概念和方法


基本概念

频繁模式挖掘搜索给定数据及中国反复出现的联系。

购物篮分析:一个例子

在这里插入图片描述

频繁项集、闭项集和关联规则

规则的支持度置信度是规则兴趣度的两种度量。
一个例子:
在这里插入图片描述

  • 支持度:支持度为2%,意味着分析的所有事务的2%显示计算机和杀毒软件被同时购买
  • 置信度:置信度60%,意味着购买计算机的顾客60%也购买了杀毒软件。

在典型情况下,如果满足最小支持度阈值最小置信度阈值,关联规则被认为是有趣的。

I = I 1 , I 2 , . . . , I m \mathcal{I} = {I_1, I_2,...,I_m} I=I1,I2,...,Im是项的集合,设任务相关的数据 D D D是数据库事务的集合,其中每个事务 T T T是一个非空相机,使得 T ⊆ I T \subseteq \mathcal{I} TI。每个事务都有一个标识符,称为 T I D TID TID。假设 A 、 B A、B AB分别表示一个项集,则:
在这里插入图片描述
在这里插入图片描述

同时满足**最小支持度阈值(min_sup)最小置信度阈值(min_conf)**的规则称为强规则,为方便计算,用0% - 100%之间的值,而不是0.0-1.0之间的值表示支持度和置信度。

置信度的另外的计算方法就是用项集的频度支持度计数

在这里插入图片描述

一般而言,关联规则的挖掘是一个两步的过程:

  1. 找出所有的频繁项集: 这些项集的每一个频繁出现的次数至少与预定义的最小支持计数min_sup一样。
  2. 由频繁项集产生强关联规则:这些规则必须满足最小支持度和最小置信度。

频繁项集挖掘方法

Apriori算法是一种发现频繁项集的基本算法。

Apriori算法:通过限制候选产生发现频繁项集

在这里插入图片描述
在这里插入图片描述
先验性质: 频繁项集的所有非空子集也一定是频繁的。

如何在算法中使用先验性质?

  • 连接步
  • 剪枝步

下面通过一个例子说明:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

由频繁项集产生关联规则

由上面计算置信度的公式:
在这里插入图片描述

下来是一个例子:
在这里插入图片描述
在这里插入图片描述

如果最小置信度的阈值为70%,则只有第2、第3和最后一个规则可以输出,因为只有这些是强规则。

提高Apriori算法的效率

  • 基于散列的计数: 一种基于散列的计数可以用于研所候选k项集的集合。

以考察k=2项集为例,对应得桶计数低于支持度阈值的2项集不可能是频繁的,因此直接从候选集中删除:
在这里插入图片描述

其中 h ( x , y ) = ( ( x 的 序 ) ∗ 10 + ( y 的 序 ) ) m o d 7 h(x,y) = ((x的序) * 10 + (y的序)) mod 7 h(x,y)=((x)10+(y))mod7中的 x , y x,y x,y的序表示的是项集的下标。

  • 事务压缩
  • 划分(为找候选项集划分数据)
    在这里插入图片描述

挖掘频繁项集的模式增长方法

Apriori算法的候选产生-检查方法显著压缩了候选项集的规模,并产生了很好的性能,但是它可能受两种非平凡开销的影响。

  • 它可能仍然需要产生大量候选项集。例如,如果有 1 0 4 10^4 104个频繁1项集,则Apriori算法需要产生多达 1 0 7 10^7 107个候选2项集
  • 它可能休要重复扫描整个数据库,通过模式匹配来检查一个很大的候选集合,检查数据库中每个事务来确定候选项集支持度的开销很大。

一种不产生候选项集的方法叫做频繁模式增长(FP-growth),算法思想如下:
在这里插入图片描述

例子如下:

在这里插入图片描述
在这里插入图片描述

FP树的挖掘过程如下:
在这里插入图片描述

在这里插入图片描述

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

Apriori算法和FP-growth算法都从TID项集格式的事务集中挖掘频繁模式(即 { T I D : i t e m s e t } \{TID: itemset\} {TID:itemset}),这种数据格式称为水平数据格式

其中TID是事务表示符,而itemset是事务TID中购买的商品

也可以反过来使用 { i t e m : T I D s e t } \{item :TID_set\} {item:TIDset}格式表示,这种数据格式称为垂直数据格式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这种方法的优点:

  1. 项集的支持度计算简单地等于项集的TID集的长度
  2. 不需要扫描数据库来确定(k+1)项集的支持度,因为每个k项集的TID集携带了计算支持度的完整信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值