集群系统中基于MPI的关联规则快速挖掘算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
发送到各个结点.(5)重复(1)~(4)直到没有新的局
部频繁项集产生. 2.2中心主结点的算法描述
输入:从结点i的局部候Hale Waihona Puke Baidu矗项集LL。(i)i一1,2,…,押.
输出:全局频繁候选女项集GL。(D). 女=1}G(五(D)一垂;all=0; for(i=1;i<=行;i++)
{G6I(D)=o包(D)ULL^(i); if(LLI(i)=一中)all++I
万方数据
96
三峡大学学报(自然科学版)
2010年2月
1基本概念
1.1关联规则并行挖掘问题描述 设f={i。,i2'..·,i。)是项的集合,事务T是J的
子集.设事务数据库DB是由事务组成的集合,数量 为D.DB={DBl,DB。,…,DE),数量分别为D= {D。,D。,…D。).项集XcJ,X在第歹个结点的支持 度为X.sup()),在局部数据库DB,中,对于给定的 支持度o≤艿≤1,X是局部频繁的,如果满足X.sup
性质2‘63 对于m位二进制数p和q,如果P or q=p,则X。∈Xp.
2 改进算法
2.1 算法思想 主结点首先把事务数据库DB利用定义1进行
预处理,把得到的新的事务数据库均匀地分发到从结
点i上Ⅲ,i=1,2,…,n,每个从结点有自己的事务数
据库DB;.(1)在结点J中利用GL。一-(J)产生局部候
摘要:集群系统是一种分布存储系统,它主要利用消息传递方式来实现各结点之间的通信.在集群
系统中通过利用MPI中的消息传递调用接口,提出了一种基于二进制形式的数据存储和计算的高
效并行挖掘算法,通过对数据对象进行一些“或”、“与”、“异或”等逻辑运算操作,降低了算法的实
现难度,减小了网络通信量,提高了挖掘效率,具有较好的可行性和可扩展性.
(_f)≥艿Di,X的全局支持度X.sup=∑X.sup(j),如
果X.sup>iceD,则称X是频繁项集.在第.『个数据库 生成的惫项目候选集用CL。(J)表示,在第J个数据 库生成的是项目频繁项集为局部频繁项目集,用Lk (歹)表示,在全局数据库D中生成的是项频繁项集为 全局项集,用GL。(D)表示,发送到第J个结点上的全 局走项集用GL^(j)表示.
if(all==挖)exit(0)l//没有新的局部频繁项集产生 for each pEGG(D)//计算GGk(D)中所有项集P的全 局支持度
for each q∈LLk(D)
if(P xor q==O)//P与q相同 P.sup+一q.sup; }
for each pEGGl(D)
if(p.sup<艿D)GG·(D)=GGl(D)一P,
集 LL^(i)一LL^(i)UPq } return LL★(i); }
(2)项集的局部支持度计算方法
输入:局部频繁k项集LL^(i) 输H{:^jI鄂频繁女项集LL·(i)每一项的支持度 Support—caculate() {for each tEDB。//DB。是局部事务数据库,由主结点分 发 for each P∈LLI(i) if(P ort一一f) P.sup++l }
2.3从结点的局部频繁项目集的生成与支持度计算
(1)局部频繁项目集的生成算法 输入:分发到结点i的正一1项全局频繁项目集Gk一-
(i).
输出:局部频繁女项集LL。(i)
Apriori_gen() {LL。(i)=予;
for each pEGL,一I(i) for each口∈GLI—l(i)//口≠P {夕q=P Og q}//生成新的七序列
行户口2户口’ for(i=1,Count
O;i<一优&&npq!=O;i++)//统
万方数据
第32卷第1期
安立奎等 集群系统中基于MPI的关联规则快速挖掘算法
97
计npq中1的个数 if(npq and 0x01) {count++: 订户q=npq>>1}//逻辑右移1位 } if(count==志)//p,q可以合并生成候选k项集 {for(i=1,6=0x01;i<=研;i++) n=户qXOr b;//T/是加的k一1项子集 if r/∈GL.。(i)//n不是频繁k一1项集 break; ) if(i=一研)//Pq的所有k一1项子集都是频繁k一1项
选k(2≤是≤m)项集CL★(歹),CLt(歹)一Apriori—gen (GLI—I(J)).(2)在结点.『利用Apriori性质对CL·
(歹)进行剪枝,得到局部频繁足项集LL。(J).(3)将
LL。(歹)发往中心主结点.(4)中心主结点计算全局支 持数GL。(D),并且将GL。(D)重新划分,把GL。(Di)
3算法理论分析
(1)算法的并行性能分析 假设每个结点的DB,具有D/.个事务,咒为并 行计算结点的数量,假设需要挖掘的项目集I的大小 为忌,则最多有2‘个项集,每次对数据库的扫描时间 为t。,则串行时间为2kt。,串行的时间复杂度T。=O (2‘).每个分结点的并行运行时间为2't。/n,主结点 的运行时间为t。,最坏情况下并行运行的计算时间为 t。+咒*2kt。/n,在阶的意义下并行代价等于最坏情况 下串行的代价,具有代价最佳的并行性. (2)算法的加速比分析 并行运行的时间t。由两部分组成:计算部分£。。 和通信部分£一。,t,=tc。。+t。。。. 上述算法中,如果项集X在结点i是局部频繁 的,则其通信量的复杂度为0(n),£。。。=咒(t。。。+ wtdat。),t。。。。是消息时延,t‰是发送单位数据的时
s(p)2rR薪,期中f是不能分解成并发任务 问,W是数据量的大小.由阿尔达姆定律加速系数
联规则的挖掘算法主要有[1]Agrawal等提出的基于 Apriori算法的频集方法.为了提高关联规则的挖掘 效率,研究人员又提出了并行挖掘算法,主要包 括:[2引Agrawal等人提出的CD算法,Park等人提出 的PDM算法,Chueng等人提出了FDM和DMA算 法.这些算法虽然具有速度快、容易实现等优点,但也 存在着可扩性较差、候选项集大、规则合成难度高等 缺点.
第32卷第1期 2010年2月
三峡大学学报(自然科学版) J of China Three Gorges Univ.(Natural Sciences)
V01.32 No.1 Feb.2010
集群系统中基于MPI的关联规则快速挖掘算法
安立奎1 钱伟懿1 韩丽艳2
(1.渤海大学数学系,辽宁锦州 121003;2.渤海大学公共计算机教研部,辽宁锦州 121003)
本文参照了文献[6]的算法,给出了一种在集群 系统中用MPI实现的基于二进制的关联规则算法, 该算法具有实用性强,并行可扩展性好,实现难度低 和高效率等优点.
收稿日期:2009—09—29 基金项目:国家自然科学基金资助项目(10871033);辽宁省高等学校科研项目资助计划(2008004);辽宁省教育厅A类项目(2009A034) 通讯作者:安立奎(1978一),男。讲师.硕士。软件设计师,主要研究方向为数据挖掘。并行与分布式计算.E-mail..an_likui@163.com
关键词:集群系统; 并行计算; MPI; 关联规则
中图分类号:TP393
文献标识码:A
文章编号:1672-948X(2010)01-0095-03
Reseach on Fast Algorithm Based Oil MPI for Mining Association Rules in Cluster An Likuil Qian Weiyi Han Liyan2
定义I r63 事务(项集)一二进制数关系.给定J= {il,i2,…,i。),称,:T×(X×D-*b。b2…b。一lb。为事 务(项集)一二进制数关系,并称b=b。bz…b。一-b。为 事务T(项目集X)所对应的二进制数,记为B,(B,), 其中6,∈{0,1},且如果项i,∈T(i,∈X),则6f=l,否 则,6,=0,_『=1,2,…,m.对项目集X∈J,B,中1的 个数成为X的长度,记为length(X).例如:X={Jt, J‘,J5),B,=10011,length(B,)=3.
集群系统(cluster)也称机群系统指“利用高速通 用网络将一组高性能工作站或高档PC机,按某种结 构连接起来,在并行程序设计及可视化人机交互集成 开发环境支持下,统一调度,协调处理,实现高效并行 处理的系统”(王鼎兴,董春雷.可扩展并行机群系统. From CCW,1997—04),由于其具有开发周期短,性 能高,投资风险小,可扩展性好等优点,已经成为并行 计算中的热点.MPI提供了基于消息传递方式的并 行程序设计,是目前发展较快,使用面广的一个公共 消息传递库.关联规则是数据挖掘的一个重要研究领 域,它能发现不同商品之间的联系,发现顾客购买行 为方式,有利于有效设计商品货架,对用户分类等.关
MPI拥有一个上百个函数构成的函数库.用 MPI构建一个并行计算环境主要用到六个函数.函 数名分别为:MPI—Init,MPI—Comm—Size,MPI-comm- Rank,MPI—Send,MPI—Recv,MPI—Finalize.MPI—Init 和MPI—Finalize实现MPI环境的初始化和结束; MPI—COMM—woRLD通信因子是在MPI环境初始 化过程中创建的,MPI-Commm—Size获取缺省组 (Group)的大小;MPI—Comm—Rank获取本进程在缺 省组中的逻辑号(从0开始);MPI—Send和MPI—Recv 实现消息的传递"].MPI主要处理点对点和集合两种 通信.本文的算法采用的是主从式并行I/0调控策 略.在集群中有一个结点为主结点(通常是0结点)其 他为从结点,它们之间通过高速网络进行连接,各从 结点与主结点交互数据,不用彼此交换数据,减少了 通信量,有较好的扩展性. 1.2数据的二进制表示及其性质
性质1 E6] 对于Xp,X。∈J,Xp,X。有且只有志一 2个元素相同的充要条件是length(Bxp or Bx。)一忌.
由Apriori算法和性质l有,如果X,,鼍∈ LLk~l(_f),length(Bxp or Bx。)=志,则,可以组成结点
J上的局部候选是项集X,U X。.以下用m位二进制 数P代表项集X,,m位二进制数q代表项集X。.
(1.Department of Mathematics,Bohai Univ.,Jinzhou 121003,China;2.Department of Public Computers, Bohai Univ.,Jinzhou 12 1003,China)
Abstract Cluster is a kind of distributed storage system,which mostly adopts the method of message passing to realize the communication between every node.Through the interface for message passing of MPI,puts forword a fast parallel algorithm for mining association rules based on binary data storage and eomputating, which needs only some logic operations such as‘and’,‘or’and‘xor’,decreases the realizing difficulty,re— duees the network traffic and increases the mining efficiency.It is proved theoretically that the algorithm has the advantage of improving the effectiveness and scalability of mining association rules. Keywords cluster;parallel computation; MPI; association rules