您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页基于Hash表的关联规则挖掘算法的改进

基于Hash表的关联规则挖掘算法的改进

来源:爱玩科技网
维普资讯 http://www.cqvip.com 第17卷计算机技术与发展 V01.2007年6月 第6期 J7 N。.6 CDMPUFERTECHNOLOGY ANDDEVELOPMENT Jun. 2007 基于Hash表的关联规则挖掘算法的改进 卢云彬,曹汉强 (华中科技大学电子与信息工程系,湖北武汉430074) 摘要:经典的Apriori算法在大项目集的挖掘过程中因为重复搜索导致效率低下。提出一种改进的Hash表结构应用于 DHP算法中的项目集存放,定义新的Hash函数确定项目集的存放地址,并基于新的Hash表结构,以并行挖掘的方式优化 关联规则算法的剪枝过程。实验结果表明,与Apfiofi算法相比,文中的方法可以更好地节省存储空间,提高挖掘效率。 关键词:数据挖掘;关联规则;Apfioif算法;DHP算法;Hash表 中图分类号:TP301.6 文献标识码:A 文章编号:1673—629X(2007)06—0012—03 Improvement of Association Rules Mining Algorithm Based on Hash Table LU Yun—bin,CAO Han—qiang (Dept.of Electronics and Information Engineering,Huazhong University of Science nad Technology,Wuhan 430074,China) Abstract:With classicalApr ̄ri algorithm,mininglargeitemsetsisinefficient becauseof repeated scanning.Inthispaper,develop aD algo— ritmhDHPwithimprovedHashtablefor efficientlargeitemset generation;The stored address ofit ̄rnsetsis determined by a n I-hsh function.Based O11the nev ̄Hashtable.can use parallelminigntoimprove prunign processin associationvales algoritmh.Fromthe experi・ ment results.themethodinthispapercan&ave1Tlore storing space and enhanceminign efficiency comparedwithApri ̄algorithm. Key words:data minign;association rides;Apriorl algorithm;DHP algorithm;Hash table O引 言 掘过程中导致重复搜索的问题,首先提出了DHP(Di— 近年来,数据挖掘技术引起了越多越多的关注。 rect Hashing and Prunign)算法【3I,DHP算法利用直接 关联规则算法是数据挖掘的一个重要研究方向,自其 哈希修剪技术,快速发现频繁项集,提高搜索效率。 提出后就一直受到重视,它直接反映出项目集中数据 JohnD.Holt和SoonM.Chung对上述两种经典算法及 间的潜在关联,通过概率统计得出最常见的情况,用以 其改进算法做了研究综述-4 J,并应用到文本数据库中 指导以后的决策,以及判断新的行为是否合法,后者应 进行比较,发现在数据量增大后,DHP算法相对于传 用在入侵检测中有十分重要的意义。 统Apfiofi算法效率有很大提高。 关联规则算法有很多,Agrawal R.最早提出了经 文中提出了一种新的DHP算法Hash表结构,通 典的Apriori算法-1】,该算法解决了关联规则的基本定 过选择有序Hash树结构存放频繁项目集,能有效提高 义和要求,但瓶颈是效率低;其后,他又作了很多改进 挖掘效率,优化了Aprio ̄算法生成大项目集的剪枝过 效率的研究,提出候选集是大项目集的充要条件是当 程,同时,极大地节省了大项目集存储空间,在时间和 且仅当它的所有子集都是大项目集-2 J,该性质决定了 空间两方面同时改进了频繁项目集的挖掘效率。 大项目集生成的迭代步骤,可以提前去掉无效的k一 项目集,避免生成无用的(k+1)一项目集,改进了候 1 Apriori算法和DHP算法的分析 选集的筛选过程。J.S.Park等人针对Apriori算法挖 Apfiofi算法是一种先验概率算法,它利用了频集 特性的先验知识,采取层次顺序搜索的循环方法来完 收稿日期:2006—09一l1 基金项目:国家科技攻关项目(2004BA ̄1 11306) 成频繁项集的挖掘工作-5 J,这一循环方法主要利用k ~作者简介:卢云彬(1982一),男,湖北大冶人,硕士研究生,研究方向 项集来产生(k+1)一项集。具体描述如下:首先找出 为信息安全、数据库系统及其应用;曹汉强,博士,教授,博士生导 频繁1一项集,记为L1;然后利用L1来挖掘L2,即频 师,研究方向为数字图像处理、信息安全、激光全息防伪技术。 繁2一项集;不断迭代循环,直至无法发现更多的频繁 维普资讯 http://www.cqvip.com 第6期 卢云彬等:基于Hash表的关联规则挖掘算法的改进 ・ l3・ (k+1)一项集 +1为止。Agrawal R证明了大项目集 址由修正的Hash函数得到,例如,项目集Bc按Hash 函数H(x,Y)=(I(x*2+y)I modli)+1计算得 到地址8,填充表格时发现地址8已经填人了项目集 AE,那么再按Hash函数H(X, )=(1(x*2一y)l 性质:大项目集的任一子集也一定是大的_6j。在这个性 质下,迭代过程中增加了候选集 ,由大项目集 产 生下一层候选集 川,再通过剪枝过程筛选出大项目 集形成 +1。 Aprirori算法存在一个重复扫描数据库的问题,即 为了对候选集 剪枝,不得不对 中的每一项依次 作判断,要回到数据库搜索其支持度是否满足大于判 决门限S的要求,这个重复扫描占用了大量的时间开 modli)+1计算得到地址2,如发现该地址为空,则将 项目集BC填人,同时在地址8的链表中填人2,表示有 一个冲突项已经填人到新的地址2中。如果地址2又被 另一个项A,占据,因为已无法从Hash函数再得到新 的值,此时用链表结构将BC直接填人地址8后面的空 销。 DHP算法是利用直接哈希修剪技术的算法,用来 减少数据传输量。对候选项目集构建Hash表后,直接 从Hash树中获取各项目集的支持度,而不必重复搜索 数据库,能有效减小大项目集的体积,有效减少数据传 输量,有效减少数据库扫描趟数。 2基于有序Hash表的DttP算法 如前所述,由于候选集中每一项的判断都需要到 前一层查询,所以前一层频繁集在Hash表中的结构会 对查询工作有很大的影响,有序快捷的存储能有效改 进查询效率。因此,文中提出了一种有序Hash表结 构,能够直接通过Hash函数定位所需要的项目是否存 在,而不必逐项搜寻。 有序Hash表结构设计如下:为了在Hash表中书 写方便起见,项目集采用简写形式,如iB C}简写为 BC。 (1)同层项目集存放在连续的位置,即在某一段 或某--N表格中,存放的均为 ,在另一段或者另一 列表格中存放 川; (2)在同层项目集中,用Hash函数决定其存放位 置,这样可以直接得到项目集的存储地址进行读取,而 不需要逐项寻找。 Hash函数定义为:H(x,Y)=(I(X*2±Y)I modli)+1 其中,x为项目集的首项,y为后面所有项,将各项按 照字母顺序对应如表1所示。 表1 各数据项对应的转换数值 例如,H(A,B)=(I(1*2+2)I modl1)+1= 5,H(B,CD)=(I(2*2+3+4)I modl1)+1=1 不同项可能得到相同Hash地址,需要用链表结构 来存储冲突项。为了减少因避免冲突而预留太多的存 储空间,文中采用了修正Hash函数值与链表结合的方 法,链表中存放冲突项新的Hash地址,此新的Hash地 位,同时在地址指针中填人地址8,表示该冲突项填在 了地址8的后面链表中。 对于数据项远超过11的情况,会导致很多冲突数 据项在此公式下找不到空位置,在这种情况下应该先 修正Hash公式,即除数11改为略大于数据项总量一半 的第一个质数。文中采用的Hash地址由H(x,Y)= (I(x*2+y)I modli)+1计算得到,修正函数只是 用来查找一个新地址存放冲突数据项,以减少空间浪 费。 3实验仿真与数据分析 3.1文中算法得到的Hash表结构 对于包含6个事务的1~项集L =i iA},i B}, {c},{D},{E},{F}},经过连接得到全部的2一项候 选集c2,根据算法,得到C2各子项存放的Hash表仿真 结果如表2所示。 表2全部2一项集存放的Hash表结构 Hash地址 l 2 3 4 5 6 7 8 9 10 ll 2一项集 BD BC CD DE AB AC AD AE AF BE BF 链表地址 l 2 4 4 O 6 O 2 l O 3 2一项集 CE (.F DF EF 从该Hash表结构可以看出,该存储方式合理地利 用了存储空间,Hash函数的2次地址选择能够让每一 层空间尽量用满,而不会因为部分冲突导致链表过长 而浪费空间。 该表格的生成时间很短,而且随项目集的增多变 化并不大,因为Hash地址是由函数直接计算获得,不 存在遍历过程,只需要处理冲突情况,所以时间开销很 少,但对搜索效果的提高却十分显著。在查找数据项 时,只需根据此函数确定地址,冲突项获取的新地址必 然在对应链表中,所以从该地址能判断一个数据项是 否存在于整个Hash表中,需要搜索的只是一个链表, 而不必对整个表格遍历,所以节省了大量时间。 3.2采用Hash表结构对搜索的改进 文中实验的硬件条件为:I)4 3.0G的CPU,512M 维普资讯 http://www.cqvip.com ・ 14・ 计算机技术与发展 第l7卷 内存,80G并口硬盘。系统采用Windows 2003 Server, 搜索时间,点划线为文中DHP算法下进行的Hash寻 算法采用的编程语言是Matlab。通过进行2一项集搜 址搜索时间。 索测试,得到遍历时间与项目集数量的变化曲线,如图 从图1可以看到,项目集中事务数量较少时,增加 1所示。 事务导致时间开销的增大不明显。但是在项目集变得 很大时,遍历时间开销的增大幅度将呈非线性的幂函 数曲线变化,而采用Hash表存储结构后的搜索时间依 然保持较低的平缓变化。 从图2可以看出,采用Hash表结构的DHP算法 可以改进Apnon算法挖掘大项目集的效率,不论设定 多少支持度,都能保证在更短的时间内完成全部项目 集的挖掘。 4结论 文中对DHP算法中的Hash表进行了改进,并通 项目集数量 过实验明了文中的H ̄ash表结构能够有效地提 图1搜索时间随项目增多的变化 高项目集的搜索效率,更快地确定项目是否属于频繁 图1横坐标表示项目集数量的变化,纵坐标表示 项。同时,采用Hash函数能够高效地利用存储空间, 运行时间的变化。2一项集的数量从5开始变化到 减少因为冲突项而出现的预留空间浪费。不同层的项 100,采用存放在普通表格和文中提出的Hash表结构 目集将存放在不同表格中,可以进一步减少冲突项的 分别进行了两次实验。前者实验结果为实线,后者实 出现。这些改进进一步提升了DHP算法的挖掘效率, 验结果为点划线。 更快地产生全部大项目集,为生成全部关联规则节省 在对全部的2一项集挖掘后,得到如图2所示的 了大量的时间。 仿真结果,其中横坐标表示设定的最小支持度,纵坐标 表示运行时间,单位为秒。本实验的测试环境是在2 参考文献: [1]AgrawalR,ImielinskiT,SwamiA.Databasemining:a peaor- 一项集为500时作的大项目集挖掘,其中虚线为候选 riiRrlce perspetcive[J].Knowledge andDataEngineering,IEEE 集的输入时间,实线为Apriori算法下进行的顺序遍历 Transactions,1993,5(6):914—925. [2] Agrawal R,Imielinski T,Swami A.Minign asaz ̄ation rules between sets of items in large databases[J].ACM SIGMOD Record,1993,22(2):207—216. [3]Park Jong Soo,Chen Ming—Syan,Yu P S.Usign a Hash— BasedMethodwithTransactionTrimmignforMiningAsmei— ation Rulse[J].Knowledge and Data Engineerign,IEEE Transatcions,1997,9(5):813—825. [4]Holt J D,Chtmg S M.Efficient mining of association rulse in text databases[C]//Proceedigns of the eighth international con ̄ere/1ce on hdormation and knowledge management.[s. I.]:ACMPress,1999:234—242. [5]Han Jiawei,Karnber M.DATA MINING Concepts nad Teeh— inques[M].北京:高等教育出版社,2001. t|S [6]DunhamMH.数据挖掘教程[M].郭崇慧,田凤占,靳晓明 图2全部2一项集的挖掘时间 译.北京:清华大学出版社,2005. (上接第儿页) 社,1990. 出版社,2003. [4]何迎晖,钱伟民.随机过程简明教程[M].上海:同济大学 [6]Sonka M,Hlavae V.图像处理、分析与机器视觉[M].北京: 出版社,2004. 人民邮电出版社,2002. [5]CostlemanKR.Digitalimage processing[M].北京:清华大学 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务