关联规则增量更新算法——FUP算法

一、背景介绍

关联规则( Association rule)概念最初由Agrawal提出,是数据挖掘的一个重要研究领域, 其目的是发现数据集中有用的频繁模式。

静态关联规则挖掘,是在固定数据集和支持度下,发现数据集中的频繁项集,如 Apriori、FP-Growth、Ecalt等。现实问题中,多数时候,支持度和数据集是会发生变化的,Cheung提出了FUP (Fast UPdate)算法,主要针对数据集增大的情况,FUP算法是第一个增量关联规则挖掘算法。

二、相关定义

数据集DB = {T1,T2,T3,…,Tn},数据集的大小N = |DB|,Ti是其中一条事务,I = {I1,I2,…,Im}是事务的项集,Ti是I的子集。项集 X,Y( X,Y是I的子集) 且 X∩Y = Φ, X=〉Y 为关联规则. X在数据集中出现的次数为 count( X) ,其支持度为: support( X)= count( X) /D ,对于最小支持度 minsup, 若support ( X) ≥minsup,称为频繁项.

增量关联规则挖掘是指数据集变化或者支持度变化时的关联规则挖掘。数据集增加时新增数据集为db,增量数据集的大小d = |db|

频繁项集挖掘的重要性质:频繁项集的非空子集也是频繁项集,非频繁项集的超集也是非频繁项集。

三、算法描述

(1)输入

DB 原数据集;

L k 为 DB 上的 k 项集;

db 新增数据集;

s支持度阈值

(2)输出

DB + db 上的频繁项集 L’ k

(3)算法

a)频繁1项集挖掘

扫描 db,获得 db 上的候选集 C; 对原 1 项集在 DB + db的频繁项加到 L’1 中; 扫描 DB,统计 C 在 DB 上的支持度, 频繁项加入到 L’1 中,C中的非频繁项加入到P中,扫描事务数据库时,从所有事物数据中将在P中的项移  除(减少扫描数据的大小),返回频繁1项集L’1。

b)频繁2项集挖掘(同理:频繁多项集挖掘)

对原频繁2项集中的频繁项,若其子集属于L1 – L’1,则直接淘汰,扫描db,统计将L2中剩余的项集在DB+db中任是频繁项集的部分加入到L’2。C2由L’1规约得到,去掉和L2中重复的项,剩下的项集统计在db中支持度,过  滤掉不可能成为频繁项集的部分,扫描DB,将新增的频繁项集加入到L’2中,非频繁项集加入到p中,过滤事务数据中属于p的项。依次挖掘,直到找到所有频繁项集即可。

四、例子

D = 1000 d = 100 s = 3%。I1,12,I3, I4 是事务的项.

I1,12是频繁1项集

I1.supportD = 32 I2.supportD = 31

I3.supporitD= 28

扫描db

I1.supportd = 4 I2.supportd = 1

I3.supportd = 6 I4.supportd = 2

I1.supportUD = 36 >1100*3% I2.supportUD = 32 < 1100 * 3 %

I1加入到L’1中

I3、I4不在L1中,I3.supportd = 6>1003% I4.supportd = 2<1003%

I3加入到C1中,I4加入到P中

扫描DB(过滤掉P中的非频繁项集)

I3.supportUD = 34 >1100*3% I3加入到L’1中

输出L’1 ={ I1 ,I3}

原文:http://www.cnblogs.com/ouym/p/6101745.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值