一、背景介绍

关联规则( 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>100*3%  I4.supportd = 2<100*3%

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

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

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

输出L’1 ={ I1 ,I3}

增量关联规则挖掘—FUP算法的更多相关文章

  1. 数据挖掘进阶之关联规则挖掘FP-Growth算法

    数据挖掘进阶之关联规则挖掘FP-Growth算法 绪 近期在写论文方面涉及到了数据挖掘,需要通过数据挖掘方法实现软件与用户间交互模式的获取.分析与分类研究.主要涉及到关联规则与序列模式挖掘两块.关联规 ...

  2. 推荐系统第4周--- 基于频繁模式的推荐系统和关联规则挖掘Apriori算法

    数据挖掘:关联规则挖掘

  3. [数据挖掘课程笔记]关联规则挖掘 - Apriori算法

    两种度量: 支持度(support)  support(A→B) = count(AUB)/N (N是数据库中记录的条数) 自信度(confidence)confidence(A→B) = count ...

  4. 关联规则挖掘--Eclat算法

  5. 关联规则挖掘--Apriori算法

  6. 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法

    整理数据挖掘的基本概念和算法,包括关联规则挖掘.分类.聚类的常用算法,敬请期待.今天讲的是关联规则挖掘的最基本的知识. 关联规则挖掘在电商.零售.大气物理.生物医学已经有了广泛的应用,本篇文章将介绍一 ...

  7. 关联规则挖掘之apriori算法

    前言: 众所周知,关联规则挖掘是数据挖掘中重要的一部分,如著名的啤酒和尿布的问题.今天要学习的是经典的关联规则挖掘算法--Apriori算法 一.算法的基本原理 由k项频繁集去导出k+1项频繁集. 二 ...

  8. 关联规则挖掘算法之Apriori算法

    Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集. 关于这个算法有一个非常有名的故事:"尿布和啤酒".故事是 ...

  9. 数据挖掘算法之-关联规则挖掘(Association Rule)

    在数据挖掘的知识模式中,关联规则模式是比较重要的一种.关联规则的概念由Agrawal.Imielinski.Swami 提出,是数据中一种简单但很实用的规则.关联规则模式属于描述型模式,发现关联规则的 ...

随机推荐

  1. SQL Server 诊断查询-(2)

    Query #13 SQL Server Error Log(FC) -- Shows you where the SQL Server failover cluster diagnostic log ...

  2. 人工智能与3A

    我在Tid2014上的一个小视频: 下一代的码农会是什么样的呢?且听咕咚老王的“3A”畅谈——“Ai.Art.Any”. 在艺术的视角下,世界是沉寂的.美丽的: 在码农的眼中,世界是有“码”的朦胧美吗 ...

  3. SQL SERVER 临时表导致存储过程重编译(recompile)的一些探讨

    SQLSERVER为了确保返回正确的值,或者处于性能上的顾虑,有意不重用缓存在内存里的执行计划,而重新编译执行计划的这种行为,被称为重编译(recompile).那么引发存储过程重编译的条件有哪一些呢 ...

  4. EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载

    之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过Ob ...

  5. 浅谈Java中的Set、List、Map的区别(转)

    对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操作数目不固定的一组数据. 所有的JAVA集合都位于 java ...

  6. 使用NetBeans、Eclipse阅读JDK源码

    下面说明在Netbeans.Eclipse环境下怎么查看JDK源码: Netbeans: 在"工具->java平台->源"里添加下路径,如果你安装jdk的时候选择安装了 ...

  7. 【转】hive导入数据出现NULL

    在把hdfs上数据迁移到hive中的表时,若出现数据位NULL,是因为没有指定列分隔符. 由于hive默认的分隔符是/u0001(Ctrl+A),为了平滑迁移,需要在创建表格时指定数据的分割符号,语法 ...

  8. YARN DistributedShell源码分析与修改

    YARN DistributedShell源码分析与修改 YARN版本:2.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述 2 YARN Distrib ...

  9. Windows下配置Squid反向代理服务器

    Squid是一款类Unix系统下非常流行的服务器软件,其最重要的功能就是在客户端和服务端之间建立缓存.因而Squid可以用作反向代理,部署多级缓存或者搭建CDN等,无论名称是什么,本质上都是一样的.目 ...

  10. linux 命令行中常用光标移动快捷键

    对linux不怎么熟悉,以前在linux中敲命令的时候,要移动光标,傻傻的一个一个的移动,感觉特不爽.有几个常用的快捷键. ctrl+左右键:在单词之间跳转 ctrl+a:跳到本行的行首 ctrl+e ...