数据挖掘——关联规则以及Apriori算法

个人笔记分享:


1、学习关联规则首先要了解以下几个概念——

<1> 任意一个ij称为一个项目,I={i1, i2,…, im}为所有项目的集合。

<2> D为事务数据库。

<3> 事务T是一个项目子集,T包含于I。每一个事务(交易)具有唯一的事物标识Tid。

<4> 设A是由项目构成的集合,称为项集。事务T包含项集A,如果项集A由k个项目组成,则称A为k项集。

<5> 项集A在事务数据库D中出现的次数占D中总交易量的百分比叫做项集A的支持度。记为support(A)。

<6> 如果项集的支持度超过用户给定的最小支持度阈值,就称为频繁项集

<7> 如果一个k项集是频繁的,称其为频繁k项集。

<8> 规则的信任度:关联规则是形如X→Y的蕴涵式,X包含于项目的集合I、Y包含于项目的集合I且X与Y没有交集,当事务数据库D中有s%的事务包含XUY,则称关联规则X→Y的支持度为s%(实际上支持度是一个概率值)。项集的支持度记为support(X),则规则的信任度support(XUY)/support(X)。

2、关联规则的概念、性质以及发现关联规则的步骤——

<1> 关联规则就是支持度和信任度分别满足用户给定阈值的规则。
<2> 关联规则的性质:频繁项集的子集必为频繁项集。非频繁项集的超集一定是非频繁的。
<3> 步骤:首先找出所有频繁项集(支持度超过用户给定的最小支持度阈值),然后再由频繁项集生成满足最小信任度阈值的规则。

3、Apriori算法

Apriori算法发现关联规则的过程分为两个步骤。首先通过迭代,检索出事务数据库中的所有频繁项集,即支持度不低于用户设定的阈值的项集。然后利用频繁项集构造出满足用户最小信任度的规则。挖掘或识别出所有的频繁项集是该算法的核心。

由m个项目形成的不同项集的数目可以达到(2的m次方)-1,通过关联规则的性质“频繁项集的子集必为频繁项集”,Apriori算法引入了潜在频繁项集的概念。频繁k项集 包含于 潜在频繁k项集 包含于 m个项目构成的k项集的集合。

其中潜在频繁k项集的集合是指有可能成为频繁k项集的项集组成的集合。
以后只需计算潜在频繁项集的支持度,而不必计算所有项集的支持度,因此在一定基础上减少了计算量。

具体实现过程如下:
<1> 发现频繁项集的过程:
1、扫描
2、计数
3、比较
4、产生频繁项集
5、连接、剪枝、产生候选项集
<2> 产生关联规则的实现过程:
1、通过单趟扫描数据库D计算出各个1项集,得到频繁1项集集合L1。
2、连接步:为了产生频繁K项集集合Lk,预先生成一个潜在频繁K项集的集合Ck。
3、剪枝步。
4、通过单趟扫描数据库D,计算Ck中各项集支持度。
5、将Ck中不满足最小支持度的项集剔除,形成频繁项集Lk。
6、通过迭代循环重复2---5,直到不再产生频繁项集。

JOIN运算:



看完上面的可以通过例题进行巩固了。





















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值