改进的Eclat算法研究与应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018年4月计算机工程与设计A pr.2018
第 39卷第 4 期 COMPUTERENGINEERINGANDDESIGN Vol. 39 No. 4
改进的Eclat算法研究与应用
崔馨月,孙静宇+
(太原理工大学计算机科学与技术学院,山西太原030024)
摘要"为了解决使用E c l a t算法在挖掘事务数或项目数较多的数据时,存在效率低、系统内存不足等问题,从候选集优 化和剪枝策略两方面降低算法的时间复杂度,同时采用可以降低算法空间消耗的位存储结构,并基于此提出改进算法 E cla t)通过设计对比实验,进一步证明了改进算法的有效性,算法性能较原算法提高了 20.37%。
并将改进算法用于真实 的手机用户数据上实现手机软件(A p p lic a tio n,A P P)的合理推荐。
关键词:E c l a t算法;候选集优化;剪枝策略;有效性;手机用户
中图法分类号!T P311 文献标识号:A文章编号:1000-7024 (2018) 04-1059-05
doi: 10. 16208(. is s n l000-7024. 2018. 04. 028
Research and application of improved Eclat algorithm
CUI Xin-yue, SUN Jing-yu+
(C o lle g e o f C om p u ter S cien ce and T e c h n o lo g y,T a iy u a n U n iv ersity o f T e c h n o lo g y,T a iy u a n030024 ,C hina) Abstract:T o solve the p roblem s that E clat a lgorith m has lo w efficien cy and is ou t o f m em ory,w h en transaction num ber or item-sets nu m ber increases>the tim e com p lex ity o f the a lgorithm w as reduced fro m tw o aspects pruning strategy.A t the sam e tim e,b it storage stru cture w as used to reduce the space con su m p tion
th is,im proved algorith m E c l a t w as prop osed.T h e effectiven ess o f the im proved algorithm i s further perim ent,increasing 20. 37%c om pared w ith the original algorithm.T h e im proved algorithm can be u sed to reasonably re co m
m end A P P to users in the real data o f m ob ile ph one u sers.
Key word s:E clat a lg o rith m;optim ized c andidate s e t;pruning stra te g y;e ffe ctiv e n e ss;m ob ile phone users
3引言
传统的频繁项集挖掘算法在处理较大规模数据时,存 在效率低、内存消耗大等问题,无法满足应用需求[1]。
因此,提高频繁项集挖掘算法处理较大规模数据的效率是一 个重要的研究课题。
经典的频繁项集算法—
—A p t r算法在算法实现过程 中,需多次访问数据记录,若源数据中的记录条数较多,将使得算法的运行时间延长,并且系统的内存消耗增加,有可能出现内存不足等问题[2]。
E c l a t算法由Z a l t等提出,“读取’’数据的次数为一次,是一种基于列存储的频繁项集 挖掘算法,相比较基于行存储的A p r io r i算法效率较高[3]。
E c la t算法没有对产生的候选集进行删减操作,若数据 中项出现频率十分高时,交集运算消耗大量存储空间,最 终产生的频繁项集数量巨大,影响算法效率。
许多学者从不同角度对E c la t算法进行了改进研究,其中冯培恩等4从剪枝、项集连接、交叉计数等方面提出改 进E c la t算法的方法,引人双层哈希表,链表等数据结构,提高了算法的运行效率,实验结果表明,算法在处理稀疏 数据集时效率更高。
刘彩萍等5将等价类思想融人到F P-g o w t h算法中,通过子空间迭代产生频繁项集,使得改进 算法的效率优于F P-g r o w t h,但是与E c la t算法相比并未做 进一步研究。
王红梅等6使用E c la t算法格的思想将数据划 分等价类,分段求频繁项集,该算法对于长模式的稀疏数 据集的挖掘效果较好。
徐卫等7将命题逻辑思想引人到E c la t算法中,减少了实际应用中领域知识和支持度设置的 局限,提高了算法的效率。
李海峰等8提出针对流数据的 频繁项集挖掘算法,通过变化数据类型对挖掘的项集进行 动态分类,算法对流数据的处理效率较高。
本文通过分析E c la t算法的优点和不足,使用候选集优 化、剪枝方法改进算法,缩小候选集数量,从而减少了算 法的运行时间;空间消耗方面,采用相关数据结构减少空
收稿日期:2017-03-01#修订日期:2018-03-15
作者简介:崔馨月(990-),女,山西阳泉人,硕士研究生,研究方向为数据挖掘;+通讯作者:孙静宇(1975 -),男,山西吕梁人,博士,副教授,研究方向为Web搜索、推荐系统、特异性数据挖掘。
E-mail:whitesunpersun@
•1060 •计算机工程与设计2018 年
间消耗。
在实际数据集上进行验证性实验,最后在真实数 据集上进行算法的应用研究。
1 Eclat算法
1.1关联规则
关联规则挖掘通过分析数据,发现数据中可能存在的 关联或者联系,其相关定义如下%
设1={ii,丨2,…,4}是项目集,了= {12…,4}是事 务集,其中^是项的集合,即& 71,([1,2,…,'。
设 Z是一个项集,事务{包含Z的充要条件是%Z7 {。
当A81,并且A 9B= 0时,形式如“A;B”的规则蕴含式称为关联规则。
规则在T中成立的条件是 Sup ',其中是T中包含A U B的百分比,miraOTp是最小支持度阈值。
1. 2 E clat算法
*&^等基于概念格理论提出E c la t算法,利用等价类将 整体数据划分成较小的等价类,采用深度优先搜索策略产生频繁项集&'。
E c la t算法由两个频繁 < 项集求并集得到候选</1项 集,对候选</1项集的事务集做交集操作,生成频繁</1 项集,以此迭代直到项集归一,算法结束。
E c la t算法使用垂直数据格式来表示数据,即数据的每 一条记录由项标记和该项出现的事务标号构成T J s e t垂直 数据库,具体数据形式见表1。
这样表示的数据通过交集操 作得到项集的支持度,而不用多次扫描数据。
表1T J s e t垂直数据库
项目I te m事务TID
u123,
v13,
w1,,,6
X25,6
+13,4,5
z1,3,4,5,
E c la t算法由事务的交集操作计算出候选集的支持度, 当数据表中事务集或项目集的规模较大时将出现[10]:①由交集操作求支持度消耗大量时间;②数据表较大时,消耗 大量系统内存。
2改进的Eclat算法
针对1.2节中分析的E c la t算法的不足,本节结合频 繁项集挖自身的性质,在2.1节,2.2节提出2种优化策 略,构成了改进算法的理论依据。
本文用到的符号说明见表2。
2.1候选集优化
性质1:)1项集L h并集生成 < 项集时,若两个项集
表2本文用到的符号
符号说明
i=,,4…4}包含<)1个项的集合,称i为< -项集l<大于等于最小支持度的 <-项集称为频繁 <-项集
u< 1两个<)1项集的并集
I U< 1I u< 1中元素个数
的前2项不相同,则由这两个项集产生的新项集是和之 前产生的项集重复的或为非频繁的项集。
证明%设i! =,1…,)1 } $厶=11,厶…心-1}是经 升序排列的两个<一1项集,满足前<一2项不同,则W2的并集是频繁项集。
假设项集i,2的前2项中有相同项的数目为项,则不相同项有)一2) —项,2个<一2项集的并集中元素 的个数为:I2I=^十?”一2) —■!]即I2I= 2)—2) —I,若可以产生候选集,那么可以得到%|U<_1|=<。
分两种情况讨论%
))第<一1项相同%
第1项相同,即满足1)1 =,)1,并集中的元素个 数为%I U h1=2)—2)—■!十1,即 |U h I=2<)3 —■!,则前<一2项中相同项有<一3项,即前<一3项都相同,而 第<一2项不相同:1〇5,-2,因此,项的组合(,-2,<2)是否为频繁项对分析起关键作用%
若(,),,))是频繁项集,则之前的连接操作中存在
的第< —2项是4),并且11的第< —1项是K 的第< )1项是,-1,的并集产生的候选集与i的并集结果相同。
若(4-2 ,,-2)不是频繁项集,根据A p n o n算法的性质 (参见文献[11]性质2),那么的并集也不是频繁
项集。
))第<一1项不同%
第<)1项不同,即,-154-1,并集中的元素个数为%I U h I=2)—2)—尤十2,即 |U<—1 丨=2) —1)—i,若 产生候选集,则前<一2项中相同的项有<一2项,也就是 前2项都相同,与假设条件矛盾。
该性质通过比较两个1项集的前2项是否相同,二者相同时并集操作产生新项;否则,略过对这两个项的 操作,判断其它项。
对表1中的数据进行频繁项集挖掘,设置最小支持度为3,使用性质1的情况是:对于2-项集 {u,z},{v,z}产生3-项集时,{u,v}是频繁2-项集,故这两项构成的3-项集与前面的2-项集{u,c},{u,a}产 生的3-项集{u,v,z}重复。
对于2-项集{u,z}和{w,z}产生3-项集时,由于子集{u,[}是非频繁项,因此不能 产生候选集{u,w,z}。
2.2剪枝
性质2%若<项集i={4,2…,4}中,存在一个
第39卷第4期崔馨月,孙静宇"改进的Eclat算法研究与应用•1061 •
I使得I h—|<々一1,则I不是频繁项集,其中^一/))表示々一 1项频繁项目集的集合L h中包含7的个数。
证明:设I是々项频繁项目集,则I的々个々一1项子 集均在L h中。
在由I生成的々个々一 1项子集中每一个项 目z (I共出现々一 1次,故j (I均有| L, 一/)) |'々一 1,与假设矛盾,故I不是频繁项集。
性质2的延伸性质是:L h并集产生的候选项集的集合中存在一个维项集I "…,^},并存在K1 4Z4々),使得 I L&一D) |<<一,,其中 |L<一9,)|表 示L〇1中包含项I1,I n,…I的个数小于<一,,则I不是频 繁 <-项集。
证明:设7为< 维频繁项集。
<项频繁项目集I可以构造< 一1维频繁项集子集G " <个,按照如下方式构造一个I的< 一1维频繁项子集的集 合:首先选中沿,xn…力共,个项目,其中4,4 <),然后从I剩余的项目心+1,…,為中选出<一,一1个项目,共 有e r r1<一,种选择方式,二者共同构成一个<一
1维频繁集。
因此,在固定了前,个项后,由I生成的<一1频繁项集个数为 <一,个,即| L< 一 9)) |" <一,,这与初始条 件矛盾。
因此I不是频繁<-项集。
从该性质可知:如果L<一1中任一频繁集的前,个项在 L<-1中出现的次数小于 <一,,那么该项为非频繁项。
2.3 E cla t’算法
E c la t算法是使用2. 1节和2.2节的性质得到的改进算 法,算法的具体实现过程如算法1所示。
算法1: Eclat’算法
输入:垂直型数据库,心衫,最小支持度
输出:所有的频繁项集L
))首先扫描数据库得到-项集H
(2) f o r a l l X t(T t do
))f r r X j(T j,j +i do
))f前k一1项相同认挪
))产生候选集只=兄U
))f R中任意一项在k一1项集中出现的
次数一i th e n
))则只"兄U X■是一个新的候选集
))T(R) =T(X t) 9T(X,)
))i f T R) 'minsup the n
)0) T/1 "T</1U R L"L U R,T/1 初始为
空
(11) i f T,5:th e n
(12) 调用函数 £l u(T<+1)3实验设计及结果分析
3.1实验设计
使用公开的数据集对E c la t算法,E c la t’算法,改进算 法(仅使用性质1)设计对比实验,验证本文提出的E c la t’算法的有效性,实验平台为P C(Intel i7,C P U 3.6 G H z,内存4 G B),操作系统为W in7旗舰版。
实验中采用的数据 集包括密集型数据集:c h e s s数据集和m u s h r o o m数据集;稀疏型数据集:I B M数据生成器产生的数据集
T10I4D100k。
关于实验数据集的具体信息参见文献在实验运行过程中,为避免其它进程对实验结果的干 扰,使实验结果出现一定偏差,本实验中通过多次实验取 平均值得到实验的运行时间,本实验的运行时间由两部分 组成:产生频繁项集的时间、将结果写入文件的时间。
由于数据集稠密情况不同,故选取相应的支持度阈值 进行实验,比较实验运行情况。
由图1可知:最小支持度 设置得越小,产生的项集数越多,算法的运行时间也相应 增加[12]。
实验结果如图2,图3,图4所示。
图1m u s h r o o m数据集上最小支持度与
频繁项集数之间的关系
图2是在m u s h r o o m数据集上支持度阈值从6 X到50%时三者运行时间。
由图2可知,最小支持度较大时,3条折 线基本重合#最小支持度较小时,E c la t’算法相较于其它 两个算法运行时间更短,如最小支持度为0.3时算法运行 时间比改进算法减少19. 63%,比原算法减少29. 51%。
在 c h e s s数据集上进行实验的实验结果如图3所示,实验中选 取支持度阈值为50%到90%的运行情况,通过比较算法的 运行时间可以发现:E c la t’算法的效率较高,如在支持度 阈值为80%时,E c l a t算法相比仅使用候选集优化的改进 算法运行时间减少了 38. 15%。
图4是在数据集T10I4D100k上支持度阈值从0. 1%增 加到1%时算法消耗时间的比较情况,由图中可以看出
E cla t’算法运行更快,例如在最小支持度为0.4%时E cla t’算法效率与原算法相比提高接近16. 5%,
与改进算法相比
•1062 •计算机工程与设计2018 年
图2 m u s h r o o m数据集上算法的运行时间图3 c h e s s数据集上算法的运行时间
图4 T10I4D100k数据集上算法的运行时间度时,改进算法的性能更加明显。
3.2结果分析
通过分析E c la t算法,结合频繁项集自身的性质,基于 候选集优化、剪枝策略提出E cla t’算法。
候选集优化主要是通过判断有序排列的两个々一 M项集 的前々一2项是否相同,满足时,通过并集产生候选集,这 样可以减少部分无用项和略过对多余项的判断,从而提高 生成候选集的效率;剪枝策略则是筛选产生的L h,使自 连接的频繁项集数减少,算法运行产生的中间多余项减少,计算支持度的交集操作次数也相应地减少,减少了整体的 时间和空间消耗,从而提高了算法效率。
为减少实验的空间消耗,在编程实现算法时采用了适 用于海量数据的位操作对象B itS e t,减少了存放进行交集操 作的项目所占空间。
4应用研究
据I D C监测显示,全球数据以每年40%的速度增加,预计到2020年数据总量将达到40Z B&3'。
各行各业产生的 数据呈指数型增长,因此从大量数据中高效挖掘价值,有 效利用数据成为当前的研究热点[14]。
随着移动通信技术的迅速发展,智能手机更加人性化 的设计,强大的综合处理能力和无线接入力,开放的操作 系统等特点使其通过安装A P P即可实现多功能扩展和应 用,智能手机逐渐成为我们生活密不可分的一部分。
本文 通过对用户使用A P P情况和用户信息的分析,为用户推荐 相关A P P。
应用研究的数据来自某市的两个通信运营商,数据的 属性包括IM E I、年龄、性别、手机品牌、流量使用情况、消费水平、访问文娱类A P P的页面浏览量(page v ie w,P V)、访问购物类A P P的P V数……访问健康类A P P的P V数等共29项信息。
上述数据信息存储于M y S Q L中,首先预处理原始数 据,主要包括3方面的内容。
数据清理:处理缺失值,如 某记录的属性值缺省,则为该属性值赋值为0#删除与实验 研究无关的属性,如I M E I属性。
数据集成:将两个通信运 营商的数据整合为一个数据集进行分析。
数据交换:合并 所属类别相近的属性,或合并之后新命名属性名。
经预处 理之后的数据格式见表3,最终实验的数据包括22个相 关属性。
效率提高了 6. 62%。
通过对比实验可以发现:相比E c la t算法、仅使用候选 集优化的改进算法,E c l a t算法的效率更高,与E c la t算法 相比,运行时间减少了 20. 37%以上,与仅使用候选集优化 策略的改进算法相比,E c la t’算法的效率提高了 9.522%。
对于公开数据集,特别是稀疏型数据,当设置较小的支持
表3经预处理的数据集样例
序号年龄性别手机终端消费水平使用的APP 118男vivo中文娱类235女华为高购物类,
时事类
第39卷第4期崔馨月,孙静宇:改进的Eclat算法研究与应用•1063 •
通过频繁项集挖掘找到出现频率较高的项集,为进一 步分析研究奠定基础。
使用E c l a t算法输出不同支持度下 的频繁项集,分析各属性之间的关联关系。
实验的结果在 表4中有列出,从表中可以发现:购物类与I T类、时事类 和网游类、女性与购物类等的关联性较强。
表4频繁2项集
支持度计数项集大小项集
6602购物类,女
6362IT类,购物类
5102IT类,网游类
4902IT类,时事类
4112教育类,金融类
2352健康类,金融类
2262健康类,女
2232文娱类,招聘类
对一条规则A=>B,支持度(su p p o rt)是指所有事务 中同时出现A和B的概率。
置信度(co n fid e n ce)是所有事 务中在出现A的情况下出现B的概率。
A对于B的提升度 (lift)为 c o n f(A=>B)/c o n f(B)。
lift<1,说明这两个条 件没有关联,lift'1,表明A和B正相关,提升度越大规 则越有价值。
从表5可以看出规则:{购物类,网游类}=>{1丁类} 的置信度为95.2%,{购物类,网游类}=>{叮类}和
1T类}=>{网游类}的提升度分别为2.265和2.190, 均大于2,说明这两条规则的关联程度较高。
最后一条规则 的概率为72. 5%,说明该条规则的可信度较高。
表5产生的关联规则
support confidence l i t规则
0.2180.9522.265{购物类,网游类}=> {丁类} 0.2050.6641.347{金融类}=>{购物类}
0.3000.5851.184{女} =>{购物类}
0.2890.6881.395{T类}=>{购物类}
0.2290.9212.190{T类}=>{网游类}
0.1550.3581.174{中等收入}=>{时事类}
0.1550.7251.724{男,中}=>{!!类}
实验结果可作为向用户推荐A P P的重要依据,让相关 企业和通信运营商获取更大的利益,从而为用户提供更周 到、满意的服务,为用户的日常生活提供便利。
5结束语
本文通过分析E c la t算法,结合频繁项集自身特有的性 质,基于候选集优化、剪枝策略提出了 E c l a t算法,在公开数据集上对E c l a t算法、仅使用候选集优化的算法以及 E c l a t算法设计了对比实验,实验结果表明较前两者E c l a t 算法的效率更高。
此外本文还对算法的应用作了进一步的 研究,在某市的通信运营商数据集上使用E c l a t算法进行 了频繁项集挖掘,得到了出现频率较高的项集,进一步产 生对指导实际有价值的关联规则。
基于本文的研究,后续 将考虑采用M a p R e d u c e并行实现E c l a t算法,并对其作进 一步的应用探索,以及平台实现研究。
参考文献:
[1] Riondato M atteo,Debrabant Justin A,Fonseca Rodrigo,
et al.P A R M A:A parallel randomized algorithm for approximate association rules mining in MapReduce[C] //A C M In ter-national Conference on Information and Knowledge Management.M aui:IEEE,2012:85-94.
[2] Shedge R,Ragha L.Hybrid approach for database intrusion
detectionwith reactive policies[C] //4th International Conference on Computational Intelligence and Communication Ne--works.Mathura:IEEE,2012 :724-729.
[3] DING Bangxu,H U A N G Yongqing.Algorithm of matrix and
prefix-tree for mining frequent itemsets[J],Computer Engineering and Applications,2015, 51 (22):154-157 (in Chinese).[丁邦旭,黄永青.矩阵与前缀树方法挖掘频繁项集 [J].计算机工程与应用,2015, 51 (2):154-157.]
[4] FE N G P ei^en,LIU Y u,QIU Qingying,et al.Strategies of
efficiency improvement for Eclat algorithm[J].Journal of Zhejiang University(Engineering Science),2013, 47 (2):223230 (in Chinese).[冯培恩,刘屿,邱清盈,等.提高Eclat 算法效率的策略[J].浙江大学学报(工学版),2013, 47
(2):223-230.]
[5] L IU C aiping,M A O Jianpin,M AO Jianxu,et ttice-based
algorithm for fast mining frequent itemsets[J],Journal of H unan University(Natural Sciences),2013,40 (10):52-57 (in Chinese).[刘彩苹,毛建频,毛建旭,等.基于格的快速 频繁项集挖掘算法[J].湖南大学学报(自科版),2013, 40
(10):52-57.]
[6] W A N G H ongm ei,H U M ing,ZH A O Shoufeng.Frequent
itemsets mining segmentation algorithm based on vertical format [J],Journal of Jilin University(Science Edition),2016, 54 ():553-560 (in Chinese).[王红梅,胡明,赵守峰.基于垂 直格式的频繁项集挖掘分段算法[J].吉林大学学报理学版,2016,54 ():553-560.'
[7] X U W ei,LI Xiaofen,LIU Duanyang.Propositional logic-
based association-rule mining algorithm L-Eclat[J],Computer Science, 2017, 44 (2):211-215 (in Chinese).[徐卫,李晓 粉,刘端阳.基于命题逻辑的关联规则挖掘算法L-Eclat [J].
计算机科学,2017, 44 (2):211-215.]
#下转第1147页)
第39卷第4期栾咏红,汤晓燕,张军朝:结合组S IF T特征和多元词袋模型的图像检索方法,1147 ,
[8] W A N G Y u le i, BI Shusheng, SUN Minglei, et al. Image re
trieval algorithm based on SIFT, K-Means and L D A[J],
Journal of Beijing University of Aeronautics and Astronautics, 2014, 40 (9):1317-1322 (in C h in e s e).[汪宇雷,毕树生,孙明磊,等.基于SIFT, K-M eans和L D A的图像检索算法 &],北京航空航天大学学报,2014, 40 )):1317-1322.]
&]Darwish SM, A li R A Observations on using type-2 fuzzy logic for reducing semantic gap in content-based image retrieval system [J]. International Journal of Computer Theory and Engineering, 2015, 7 (1): 1-8.[10] Yu J, Q in Z,Wan T, et al. Feature integration analysis of
bag-o£-£eatures model for image retrieval [J],Neurocomputing, 2013, 120 (10):355-364.
[11] Giveki D, Soltanshahi M A, Shiri F, et al. A new SIFT-
based image descriptor applicable for content based image retrieval [J]. Journal of Computer e Communications, 2015,
3 (3):66-73.
[12] Nova D, Estevez PA. A review of learning vector quantization
classifiers [J], Neural Computing e Applications, 2015, 25 (3-4):511-524.
(上接第1063页)
[8] L I Haifeng, Z H A N G Ning, Z H U Jianming, et al. Frequent
itemset mining over timesensitive streams [J], Chinese Journal of Computers, 2012, 35 (11):2283-2293 (in Chinese).
[李海峰,章宁,朱建明,等.时间敏感数据流上的频繁项集挖掘算法[J].计算机学报,2012, 35 (11):2283- 2293[]
[9] Kotiyal B, Kumar A, Pant B, et al. User behavior analysis in
web log through comparative study of Eclat and apriori [C] // International Conference on Intelligent Systems and Control.
Coimbatore:IEEE, 2013:421-426.
[10] C HEN Fengjuan. E C LA T algorithm of association rules [J].
Consumer Electronics, 2014 (16):149-149 (in Chinese).
[陈凤娟.关联规则的E C L A T算法[J].消费电子,2014
(16)!149-149[]
[11] LU O Dan, L I Taoshen. Research on improved Apriori algo
rithm based on compressed matrix [J],Computer Science,
2013, 40 (12):75-80 (inChinese).[罗丹,李陶深.一种 基于压缩矩阵的A p ro n算法改进研究[],计算机科学,2013, 40 (12)!75-80[]
[12] XU Jiali,YANG Hongjun,ZHAO Maojuan,et al.Algo
rithm based on bit operation forming frequent closed itemset [J].Application Research of Computer,2013, 30 (11):3280-3282 (inChinese).[徐嘉莉,杨洪军,赵茂娟,等.一 种基于位运算的频繁闭项集挖掘算法[].计算机应用研究,2013, 30 (11):3280-3282.]
[13] The 7mainstreams of global data n2018 reach e d MYM80 billion
in2020 [EB/OL],[2018-02-27]. http:// w Y A v.e /
iot/630774. html.
[14] Digitll universe in China [EB/OL].[2016-08-25]. http://
finance,/roll/doc-ifxvixsh6641009. shtml .。