书书书
小
型 微 型 计 算 机 系 统
Journal of Chinese Computer Systems
2014
年
8
月 第
8
期
Vol. 35 No. 8 2014
收
稿日期
: 2013-05-29
基金项目
:
中央高校基本科研基金
-
电子科技大学项目
( ZYGX2010J075 )
资助
;
四川省科技支撑计划项目
( 2012GZ0061)
资助
;
国家自然科学基金项目
( 61300192)
资助
.
作者简介
:
牛新征
,
男
,1978
年生
,
博士
,
副教授
,
研究方向为网络计算
、
移动数据
库
、
中间件技术
、
数据挖掘
;
杨 健
,
男
,1992
年生
,
研究方向为数据挖掘
;
佘 堃
,
男
,1967
年生
,
博士
,
教授
,
博士生导师
,
研究方向为网络计算
、
人工智能
.
基于数组前缀树的频繁项集挖掘算法
牛
新征
1
,
杨 健
2
,
佘 堃
1
1
(
电
子科技大学 计算机科学与工程学院
,
四川 成都
611731)
2
(
电
子科技大学 信息与软件学院
,
四川 成都
611731)
E-mail: xinzhengniu@ uestc. edu. cn
摘 要
:
频繁项集挖掘算法研究的焦点是不断提升算法
在海量数据集上的挖掘性能
.
其中
,
基于前缀树的挖掘算法
FP-Growth
是目前研究的焦点之一
,
它在挖掘性能上有很大的改进空间
,
因此基于数组技术的
FP-Growth*
与基于被约束子树的
STmine
等改进算法被提出
.
这些算法有效提升了挖掘速率
,
但在搜索策略与计数方式两个方面仍存在可完善的地方
.
本文提出基于数
组前缀树的频繁项集挖掘算法
AFP-Growth.
该算法使用新的遍历策略解决了
FP-tree
的项节点变换问题
,
完善了数组前缀树的
构建过程以提升其 计数效率
,
并且用数组前缀树代替
FP-tree,
减少了对树的遍历时间
.
通过实验验证表明
,
改进后的
AFP-
Growth
算法在多数真实数据集上具有比
FP-Growth*
等其他高效算法更佳的挖掘性能
,
不仅减少了挖掘时间
,
也降低了内存消
耗
,
体现了其对海量数据集挖掘的潜能
.
关 键 词
:
关联规则
;
频繁模式
;
频繁项集
; FP-Growth
中图分类号
: TP393
文献标识码
: A
文 章 编 号
: 1000-1220( 2014) 08-1693-06
Algorithm of Frequent Itemsets Mining Based on Array Prefix-trees
NIU Xin-zheng
1
,YANG Jian
2
,SHE Kun
1
1
( School of Computer Science and Engineering,University of Electronic Science and Technology of China,Chengdu 611731,China)
2
( School of Information and Software Engineering,University of Electronic Science and Technology of China,Chengdu 611731,China)
Abstract: The researches on frequent itemsets mining algorithms focus on improving mining performance on massive data sets. Prefix-
trees based FP-Growth algorithm is one central issue among these researches for improving mining speed. Thus many impro ved algo-
rithms have been proposed,such as FP-Grow th* algorithm w ith an array technique and STmine algorithm based on constrained sub-
trees. These algorithms effectively enhanced the mining speed,however,further improvement on algorithms' search strategy and
counting method is still needed. In this paper,we propose an efficient algorithm,namely AFP-Grow th ( Array Frequent Pattern
Growth)
,for mining frequent itemsets. The algorithm uses new traversal method to solve the problem on changing item nodes,and
refines the process of constructing array prefix-trees for the purpose of increasing the counting efficiency. A new structure called Ar-
ray-tree is used as a substitute for FP-tree,which reduces the tree traversal time. The performance experiment among AFP-Grow th
and other state-of-the-art algorithms on several real databases show s that AFP-Growth effectively reduces the execution time and mem-
ory consumption,and indicates its potential in mining huge amounts of data.
Key words: association rule; frequent pattern; frequent itemsets; FP-Grow th
1
引 言
高效的频繁模式挖掘算法作为关联规则挖掘的关键得到
了学者的广泛研究
. FP-Growth
算
法
[1]
(
下
文简称为
FP)
由于
具有挖掘海量数据集的潜力而成为频繁项集挖掘算法的研究
焦点
,
且其研究的目标集中在不断提升海量数据挖掘的速率
.
FP
算法的改进算法
FP-Growth*
[2]
(
下
文简称
FP* )
在
FP
算法的基础上引入了数组技术
,
大大减少了因遍历
FP-tree
所
消耗的时间
.
另一个改进算法
,
基于被约束子树的频繁项集挖
掘算法
STmine
[3]
避
免了条件
FP-tree
的生成
,
有效节省了递
归建树与遍历的时间
,
但算法在遍历
FP-tree
时采用的先根遍
历策略无效
,
并且对计数原理的描述存在一定问题
,
建立被约
束子树的过程不明确
.
本文在基于被约束子树的挖掘算法的基础上修复上述存
在的问题
,
提出了基于数组前缀树的新算法
AFP-Growth(
简
称为
AFP) . AFP
算法采用数组前缀树代替条件
FP-tree
的生
成
,
提出正确的计数方式
,
并优化了数组前缀树的建立过程
.
2
研
究背景
2. 1
问题定义与描述
定
义
1.
项集
:
设集合
I = { i
1
,i
2
,…,i
n
}
,
其
中
i
k
( k = 1,2,
…,n)
为
不同的项
,
则称
I
的子集为项集
.
定义
2.
支持度
:
设事务数据库
DB = ( T
1
,T
2
,… ,T
n
)
,T
i