CN101996102B - 数据关联规则挖掘实现方法与系统 - Google Patents

数据关联规则挖掘实现方法与系统 Download PDF

Info

Publication number
CN101996102B
CN101996102B CN 200910091865 CN200910091865A CN101996102B CN 101996102 B CN101996102 B CN 101996102B CN 200910091865 CN200910091865 CN 200910091865 CN 200910091865 A CN200910091865 A CN 200910091865A CN 101996102 B CN101996102 B CN 101996102B
Authority
CN
China
Prior art keywords
node
item
occurrence number
data
subtree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 200910091865
Other languages
English (en)
Other versions
CN101996102A (zh
Inventor
高丹
徐萌
邓超
罗治国
周文辉
孙少陵
何清
曾立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN 200910091865 priority Critical patent/CN101996102B/zh
Publication of CN101996102A publication Critical patent/CN101996102A/zh
Application granted granted Critical
Publication of CN101996102B publication Critical patent/CN101996102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了数据关联规则挖掘实现方法及系统。通过主控节点将数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点。由各计算节点并行查找频繁1-项集;并根据排序后的频繁1-项集,产生子数据项串。由合并节点并行对全部子数据项串进行统计,构建本地FP子树。通过合并FP子树,得到合局FP树,进行数据关联规则挖掘。由于每个计算节点仅处理一部分数据记录,解决了海量数据无法由单机读入内存进行处理的问题;且多个节点并行参与处理,有效提高了处理效率。

Description

数据关联规则挖掘实现方法与系统
技术领域
本发明涉及数据业务,尤其涉及一种数据关联规则挖掘实现方法与相应的实现系统。
背景技术
在数据挖掘处理中,数据关联规则(Association Rule)的挖掘目的,是发现在大量的数据项之间存在的值得关注的关联或相关关系,典型应用是零售业的购物篮分析。所谓购物篮分析是指对数据进行关联规则研究,有助于发现交易数据库中不同商品(或不同项)之间的联系,找出顾客购买行为的模式,例如,如果面包和牛奶经常被顾客同时购买,则把它们摆放在一起有助于增加两种商品的销售量。为了衡量一条规则的重要程度,关联规则通常采用支持度(support)和可信度(confidence)作为度量标准。支持度可以表示商品在超市销售中的重要程度,可信度反映了商品之间的关联程度。如果在购买面包的交易中,有60%的交易既购买了面包又购买了牛奶,则称关联规则“面包牛奶”(表示如果购买面包则购买牛奶)的可信度为60%。
关联规则(表示A与B同时存在)在事务数据库D中的支持度,可用概率表示;关联规则在事务数据库D中的可信度,是在事务数据库D中的那些包含A的事务中,B也同时出现的概率,即条件概率。
一个项集X在事务数据库D中的支持度,是事务数据库D中包含X的事务count(X)占事务总数N的百分比,即概率P(X)。对于一个项集X,如果其支持度大于或等于预先给定的支持度阈值min_sup,则称X为频繁项集(FI:Frequent Itemset)或频繁模式。
FP-growth算法(频繁模式增长算法)只需要对数据库进行两次扫描:第一次扫描得到频繁1-项集;第二次扫描构建FP-Tree。最后挖掘FP-Tree得到强关联规则。算法的核心是FP-Tree(Frequent Pattern Tree,频繁模式树)的构建。FP-Tree通过合并一些重复路径,实现了数据的压缩,从而使得将频繁项集加载到内存中成为可能,从而提高了运算效率。FP-growth算法的具体实现如下:
(1)扫描一遍数据库,获取所有频繁项集。以下表一所述数据记录为例,得到的频繁项集为:{(c:4),(f:4),(a:3),(b:3),(m:3),(p:3)},“:”之后的数字表示对应数据项的出现频率(即出现次数)。上述频繁项集是首先按照各数据项出现频率从大到小排序,再按照字母顺序(即规定的数据项顺序)排序,并删除出现次数小于最小支持度的相应数据项。需要注意的是这里的排序非常重要,之后每个数据记录中的各项都要按照这个顺序进行排列,排列顺序是有效合并重复路径的前提。
表一
TID 原始事务数据 处理后数据
100 f,a,c,d,g,i,m,p c,f,a,m,p
200 a,b,c,f,l,m,o c,f,a,b,m
300 b,f,h,j,o f,b
400 b,c,k,s,p c,b,p
500 a,f,c,e,l,p,m,n c,f,a,m,p
(2)第二次扫描数据库,在第一次处理完成的结果基础上,构建FP-Tree。
1)取出第一条事务数据,构建FP-Tree的第一条路径,{c,f,a,m,p}。注意其中各项的排序与第一步中得到的频繁项集的排序是一致的。
2)取出第二条事务数据,{c,f,a,b,m},不难发现,它与第一条路径共享了部分数据{c,f,a}。因此,可以重复利用已有的路径,只需要将其计数加1,即{(c:2),(f:2),(a:2)}。而对于后面不同的部分,创建新的路径,{(b:1),(m:1)},其中,b为a的子节点,m为b的子节点。
3)取出第三条事务数据,{f,b},发现没有重复路径存在。但f点是存在的,因此,可以重复利用f点,新建一个b节点,作为f的子节点,得到路径{{f:3},(b:1)}。注意,之前已经存在的b节点无法重复使用,因为其父节点为a。
4)取出第四条事务数据,{c,b,p},发现没有重复路径存在。因此,从现有c点出发,构建一条新路径{(c:3),(b:1),(p:1)}。
5)取出第五条事务数据,{c,f,a,m,p},同上原理构建路径,{(c:4),(f:4),(a:3),(m:2),(p:2)}。
经过两遍数据库扫描,完成了FP-Tree的构建。在此例中,c点为整个FP-Tree的唯一根节点,但其实多数情况下,根节点并不是唯一的,即有多棵子树。因此,为了方便树结构的遍历,可以人为添加一个超级根节点,通常标记为根节点root<null>。如图1所示,为根据上述流程构建的FP-Tree。得到了FP-Tree之后,再遍历整棵树获取满足一定臵信度的关联规则。
上述FP-growth数据挖掘方法,对于少量数据记录,可以方便地在单机上实现。但对于海量的数据记录进行数据关联规则的挖掘时,一方面由于单机内存容量有限,不可能读入海量的数据;另一方面,由于数据挖掘过程中需要处理的数据记录太多,处理时间很长,在实际的数据业务应用中,效率很低。
因此,对于实际应用中海量数据的关联规则挖掘,如何有效地提升处理效率是数据关联规则挖掘中需要加以解决的一个主要问题。
发明内容
本发明实施例提供数据关联规则挖掘实现方法与系统,通过采用多个节点并行处理,解决现有技术对海量数据无法实现数据关联规则挖掘及处理效率低的问题。
本发明实施例提供的一种数据关联规则挖掘实现方法,包括:
主控节点对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;
每个所述计算节点并行对分配的每条分块数据记录中包含的每个数据项,分别统计本地出现次数,并发送统计出的每个数据项的本地出现次数给第一类合并节点;
所述第一类合并节点累计每个所述计算节点发送的每个数据项的本地出现次数,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的总出现次数给每个所述计算节点;
每个所述计算节点按总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
每个所述计算节点对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点;
所述第二类合并节点累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建对应的频繁模式FP子树,发送给所述主控节点或第三类合并节点;以及
由所述主控节点或所述第三类合并节点合并各FP子树,得到全局FP树,再根据得到的全局FP树挖掘关联规则。
本发明实施例提供的另一种数据关联规则挖掘实现方法,包括:
主控节点对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;
每个所述计算节点并行对分配的每条分块数据记录中包含的每个数据项,确定出基于数据项权重或数据记录权重的本地出现次数,并发送给第一类合并节点;
所述第一类合并节点累计每个所述计算节点发送的每个数据项基于数据项权重或数据记录权重的本地出现次数,得到每个数据项基于数据项权重或数据记录权重的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数给每个所述计算节点;
每个所述计算节点按基于数据项权重或数据记录权重的总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
每个所述计算节点对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点;
所述第二类合并节点累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给所述主控节点或第三类合并节点;以及
由所述主控节点或所述第三类合并节点合并各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则。
本发明实施例提供一种数据关联规则挖掘实现系统,包括:主控节点、计算节点、第一类合并节点和第二类合并节点;
所述主控节点,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;所述主控节点还合并所述第二类合并节点发送的各频繁模式FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则;
所述计算节点,用于对分配的每条分块数据记录中包含的每个数据项,分别统计本地出现次数,并将统计出的每个数据项的本地出现次数发送给所述第一类合并节点;以及
根据所述第一类合并节点发送的频繁1-项集及对应的总出现次数,按总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给所述第二类合并节点;
所述第一类合并节点,用于累计每个所述计算节点发送的每个数据项的本地出现次数,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的总出现次数给每个所述计算节点;
所述第二类合并节点,用于累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给所述主控节点。
本发明实施例提供一种数据关联规则挖掘实现系统,包括:主控节点、计算节点、第一类合并节点、第二类合并节点和第三类合并节点;
所述主控节点,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;
所述计算节点,用于对分配的每条分块数据记录中包含的每个数据项,分别统计本地出现次数,并将统计出的每个数据项的本地出现次数发送给所述第一类合并节点;以及
根据所述第一类合并节点发送的频繁1-项集及对应的总出现次数,按总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给所述第二类合并节点;
所述第一类合并节点,用于累计每个所述计算节点发送的每个数据项的本地出现次数,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的总出现次数给每个所述计算节点;
所述第二类合并节点,用于累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给所述第三类合并节点;
所述第三类合并节点,用于合并所述第二类合并节点发送的各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则。
本发明实施例提供另一种数据关联规则挖掘实现系统,包括:主控节点、计算节点、第一类合并节点和第二类合并节点;
所述主控节点,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;所述主控节点还合并所述第二类合并节点发送的各频繁模式FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则;
所述计算节点,用于对分配的每条分块数据记录中包含的每个数据项,确定出基于数据项权重或数据记录权重的本地出现次数,并发送给第一类合并节点;以及
根据所述第一类合并节点发送的频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数,按照基于数据项权重或数据记录权重的总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给所述第二类合并节点;
所述第一类合并节点,用于累计每个所述计算节点发送的每个数据项基于数据项权重或数据记录权重的本地出现次数,得到每个数据项基于数据项权重或数据记录权重的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集;并发送频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数给每个所述计算节点;
所述第二类合并节点,用于累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给所述主控节点。
本发明实施例提供另一种数据关联规则挖掘实现系统,包括:主控节点、计算节点、第一类合并节点、第二类合并节点和第三类合并节点;
所述主控节点,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;
所述计算节点,用于对分配的每条分块数据记录中包含的每个数据项,确定出基于数据项权重或数据记录权重的本地出现次数,并发送给第一类合并节点;以及
根据所述第一类合并节点发送的频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数,按照基于数据项权重或数据记录权重的总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给所述第二类合并节点;
所述第一类合并节点,用于累计每个所述计算节点发送的每个数据项基于数据项权重或数据记录权重的本地出现次数,得到每个数据项基于数据项权重或数据记录权重的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集;并发送频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数给每个所述计算节点;
所述第二类合并节点,用于累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给所述第三类合并节点;
所述第三类合并节点,用于合并所述第二类合并节点发送的各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则。
本发明提供的数据关联规则挖掘实现方法及系统中,将待处理的数据记录分块后分配给不同的计算节点处理,每个计算节点仅处理一部分数据记录,解决了海量数据无法全部由单机读入内存进行挖掘处理的问题;本发明提供的数据关联规则挖掘实现方法中,采用了至少两个计算节点并行地参与数据项统计过程再合并统计结果,加快了生成频繁1-项集的速度;并通过生成子数据项串以及本地合并,再由多个合并节点并行进行全局合并处理,生成FP子树,由生成的FP子树合成全局FP树,大大加快了FP树的构建速度。有效解决了现有技术无法实现对海量数据的关联规则挖掘及处理效率低的问题。
附图说明
图1为现有技术中采用FP-growth算法生成FP树结构示意图;
图2为本发明实施例提供的数据关联规则挖掘实现方法一步骤流程图;
图3为本发明实施例提供的数据关联规则挖掘实现方法二步骤流程图;
图4为与本发明实施例提供的数据关联规则挖掘实现方法一相对应的系统结构示意图;
图5为与本发明实施例提供的数据关联规则挖掘实现方法二相对应的系统结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的数据关联规则挖掘实现方法及系统进行详细阐述。
参见图2,为本发明实施例提供的数据关联规则挖掘实现方法一步骤流程图,包括如下步骤:
步骤S201、主控节点对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;
步骤S202、每个计算节点并行对分配的每条分块数据记录中包含的每个数据项,分别统计本地出现次数,并发送统计出的每个数据项的本地出现次数给第一类合并节点;
步骤S203、第一类合并节点累计每个计算节点发送的每个数据项的本地出现次数,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的总出现次数给每个所述计算节点;
步骤S204、每个计算节点按总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;
步骤S205、每个计算节点对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点;
步骤S206、第二类合并节点累计每个计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建对应的FP子树,发送给主控节点或第三类合并节点;
步骤S207、由主控节点或第三类合并节点合并各FP子树,得到全局FP树,再根据得到的全局FP树挖掘出关联规则。
一具体实施例中,在步骤S201中,主控节点根据参与计算的计算节点数量(假设为N个),将待处理的全部数据记录分成相应数量的分块(N个分块),并将每一个分块数据记录分配给不同的计算节点。
另一具体实施例中,可以按照设定的块大小(如64MB数据为一块)对待处理的全部数据记录进行分块,一个计算节点分配一个或多个块。
在上述数据关联规则挖掘实现方法一流程中,第一类合并节点可以是一个节点,也可以是多个节点。较佳地,为了进一步加快合并处理速度,第一类合并节点一般设臵至少两个节点,并由主控节点预先分配每个第一类合并节点进行合并的对应数据项。
当采用两个或两个以上的第一类合并节点时,上述步骤S202中,每个计算节点发送统计出的每个数据项的本地出现次数给第一类合并节点,具体为:
每个计算节点根据每个第一类合并节点进行合并的对应数据项,将本地统计出的相应数据项的本地出现次数,上报给对应的第一类合并节点;或者
每个第一类合并节点根据自身进行合并的对应数据项,分别向每个计算节点请求上传对应数据项的统计信息;每个计算节点向每个第一类合并节点返回其请求的对应数据项的本地出现次数。
在上述数据关联规则挖掘实现方法一流程中,第二类合并节点可以是一个节点,也可以是多个节点。较佳地,为了进一步加快合并处理速度,第二类合并节点一般设臵至少两个节点,并由主控节点预先分配每个第二类合并节点进行合并的对应子数据项串。
当采用两个或两个以上的第二类合并节点时,上述步骤S205中,每个计算节点将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点,具体为:
每个计算节点根据每个第二类合并节点进行合并的对应子数据项串,将本地统计出的相应子数据项串的本地出现次数,上报给对应的第二类合并节点;或者
每个第二类合并节点根据自身进行合并的对应子数据项串,分别向每个计算节点请求上传对应子数据项串的统计信息;每个计算节点向每个第二类合并节点返回其请求的对应子数据项串的本地出现次数。
上述数据关联规则挖掘实现方法一中,可以由主控节点来进行FP子树的合并,也可以由第三类合并节点来进行FP子树的合并。
一具体实施例中,当由第三类合并节点进行FP子树合并时,第三类合并节点由至少两个子树合并分节点和一个子树合并总节点组成;由主控节点预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知第二类合并节点。第二类合并节点构建FP子树后,根据通知的每个子树合并分节点进行合并的对应FP子树,将本地构建的对应FP子树发送给进行合并的对应的子树合并分节点;每个子树合并分节点进行子树合并后,传送给所述子树合并总节点,由子树合并总节点合并成全局FP树。一实施例中,子树合并总节点也可以是主控节点。采用第三类合并节点的该种FP子树的合并方式,将子树的合并也通过多个节点(至少两个子树合并分节点和一个子树合并总节点)进行并行合并处理,进一步加快了FP子树合并成全局FP树的合并速度,进一步提高了效率。
基于同一发明构思,本发明实施例还提供一种数据关联规则挖掘实现方法二,其与上述方法一的区别在于:对于数据记录中的每个数据项或数据库中的每条数据记录设臵不同的权重系数。由于数据库中的可能存在多条数据记录与一个用户相对应,在设臵数据记录对应的权重系数时,可以对同一个用户的多条数据记录设臵相同的权重系数;且对不同用户的数据记录,根据用户优先级或重要性,设臵不同的权重系数。再生成基于数据项权重或数据记录权重的频繁1-项集进行后续处理。具体流程如图3所示,包括:
步骤S301、主控节点对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;
步骤S302、每个计算节点并行对分配的每条分块数据记录中包含的每个数据项,确定出基于数据项权重或数据记录权重的本地出现次数,并发送给第一类合并节点;其中:
确定出基于数据项权重的本地出现次数,具体包括:将每个数据项本地出现次数乘以预设的该数据项的对应权重系数,得到每个数据项基于权重的本地出现次数;
确定出基于数据记录的权重的本地出现次数,具体包括:对本地每条数据记录中的每一个数据项的出现次数进行第一次计算,使其等于所属数据记录设臵的权重系数;再对本地每个数据项累加对应的第一次计算结果,得到每个数据项基于数据记录的权重的本地出现次数;
步骤S303、第一类合并节点累计每个计算节点发送的每个数据项基于数据项权重或数据记录权重的本地出现次数,得到每个数据项基于数据项权重或数据记录权重的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数给每个所述计算节点;
步骤S304、每个计算节点按基于数据项权重或数据记录权重的总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;
步骤S305、每个计算节点对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点;
步骤S306、第二类合并节点累计每个计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给主控节点或第三类合并节点;
步骤S307、由主控节点或第三类合并节点合并各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则。
一具体实施例中,在步骤S301中,主控节点根据参与计算的计算节点数量(假设为N个),将待处理的全部数据记录分成相应数量的分块(N个分块),并将每一个分块数据记录分配给不同的计算节点。另一实施例中,也可以按设定的块大小,对待处理的全部数据记录进行分块。
在上述数据关联规则挖掘实现方法二流程中,第一类合并节点可以是一个节点,也可以是多个节点。较佳地,为了进一步加快合并处理速度,第一类合并节点一般设臵至少两个节点,并由所述主控节点预先分配每个第一类合并节点进行合并的对应数据项。
当采用两个或两个以上的第一类合并节点时,上述步骤S302中,每个所述计算节点发送统计出的每个数据项的基于数据项权重或数据记录权重的本地出现次数给第一类合并节点,具体为:
每个计算节点根据每个第一类合并节点进行合并的对应数据项,将本地统计出的相应数据项基于数据项权重或数据记录权重的本地出现次数,上报给对应的第一类合并节点;或者
每个第一类合并节点根据自身进行合并的对应数据项,分别向每个计算节点请求上传对应数据项的统计信息;每个计算节点向每个第一类合并节点返回其请求的对应数据项基于数据项权重或数据记录权重的本地出现次数。
在上述数据关联规则挖掘实现方法二流程中,第二类合并节点可以是一个节点,也可以是多个节点。较佳地,为了进一步加快合并处理速度,第二类合并节点一般设臵至少两个节点,并由主控节点预先分配每个第二类合并节点进行合并的对应子数据项串。
当采用两个或两个以上的第二类合并节点时,上述步骤S305中,每个计算节点将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点,具体为:
每个计算节点根据每个第二类合并节点进行合并的对应子数据项串,将本地统计出的相应子数据项串的本地出现次数,上报给对应的第二类合并节点;或者
每个第二类合并节点根据自身进行合并的对应子数据项串,分别向每个计算节点请求上传对应子数据项串的统计信息;每个计算节点向每个第二类合并节点返回其请求的对应子数据项串的本地出现次数。
上述数据关联规则挖掘实现方法二中,可以由主控节点来进行FP子树的合并,也可以由第三类合并节点来进行FP子树的合并。
一具体实施例中,当由第三类合并节点进行FP子树合并时,所述第三类合并节点由至少两个子树合并分节点和一个子树合并总节点组成;由主控节点预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知第二类合并节点。具体的子树合并过程及有益效果,与上述数据关联规则挖掘实现方法一相同,不重述。
上述数据关联规则挖掘实现方法二中,每个数据项的对应权重系数或每个数据记录的对应权重系数可以由主控节点预先设臵,并发送给各计算节点;或者预先配臵在各计算节点中。
本发明上述方法采用Map/Reduce实现的具体实施例如下:
第一步:主控节点对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点,设定64MB数据为一块,一个计算节点分配一个或多个块。
第二步:每个计算节点执行如下步骤:首先Map过程并行逐行将分配的每条分块数据记录拆分为单个数据项。Map过程的输入参数Key为行标识,value为输入一行数据记录。输出参数Key为数据项ID,value为计数值“1”,用于统计数据项。然后Combiner过程将本地数据项ID相同的数据项收集到一起,累加计算得到每个数据项的本地计数值。Combiner过程的输入参数Key为数据项ID,values为对应数据项计数值“1”的列表,用于对数据项本地计数。Combiner过程的输出参数Key为数据项ID,value为对应数据项的本地计数。每个计算节点执行上述步骤后,发送统计出的每个数据项的本地出现次数给第一类合并节点。
第三步:第一类合并节点执行如下步骤:Reduce过程累计每个所述计算节点发送的每个数据项的本地出现次数,将ID相同的数据项计数值加在一起,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的总出现次数给每个计算节点。Reduce过程的输入参数key为数据项ID,values为对应数据项本地计数值的列表。Reduce过程的输出参数key为数据项ID,value为对应数据项总的计数值。
第四步:每个计算节点按总出现次数由大到小的顺序排序各频繁1-项集。
第五步:每个计算节点执行如下步骤:Map过程与第二步Map过程的输入数据相同,输入参数Key为行标识,value为一行数据记录。Map过程首先对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录。然后对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串。Map过程输出参数Key为子数据项串ID,value为计数值“1”,用于统计子数据项串。Combiner过程将本地ID相同的子数据项串收集到一起,分别统计每个子数据项串的本地出现次数。Combiner过程的输入参数Key为子数据项串ID,values为对应子数据项串计数值“1”的列表,用于对子数据项串本地计数。Combiner过程的输出参数Key为子数据项串ID,value为对应子数据项串的本地计数。每个计算节点执行上述步骤后,将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点;
第六步:所述第二类合并节点执行如下步骤:Reduce过程累计每个计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建对应的频繁模式FP子树,并挖掘子FP-Tree,输出排序频繁项集和本地计数值发送给第三类合并节点;Reduce过程的输入参数Key为子数据项串ID,values为对应子数据项串的本地计数值的列表。Reduce过程的输出参数key为挖掘子FP-Tree得到的排序频繁项集,value为总的计数值。
第七步:上述第三类合并节点执行如下步骤:Reduce过程合并各FP子树,得到全局FP树,再根据得到的全局FP树挖掘关联规则。Reduce过程输入参数Key为挖掘子FP-Tree得到的排序频繁项集,Values为计数值的列表。Reduce过程输出参数Key为排序频繁项集ID,Value为总的计数值。
基于同一发明构思,根据本发明实施例提供的数据关联规则挖掘实现方法一,本发明实施例还提供一种相应的数据关联规则挖掘实现系统,其结构示意图如图4所示,包括:主控节点41、计算节点42、第一类合并节点43和第二类合并节点44;或者还包括第三类合并节点45;
主控节点41,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;以及当系统中不包括第三类合并节点45时,主控节点41还合并第二类合并节点44发送的各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则;
计算节点42,用于对分配的每条分块数据记录中包含的每个数据项,分别统计本地出现次数,并将统计出的每个数据项的本地出现次数发送给第一类合并节点43;以及
根据第一类合并节点43发送的频繁1-项集及对应的总出现次数,按总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点44;
第一类合并节点43,用于累计每个计算节点42发送的每个数据项的本地出现次数,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的总出现次数给每个所述计算节点42;
第二类合并节点44,用于累计每个计算节点42发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给主控节点41或第三类合并节点45;
第三类合并节点45,用于合并第二合并节点44发送的各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则。
一具体实施例中,第一类合并节点43至少包括两个节点,第二类合并节点44至少包括两个节点;且第一类合并节点43与第二类合并节点44可以全部为不同的节点;或者全部第一类合并节点43或部分第一类合并节点43为第二类合并节点44;或者部分第一类合并节点43为部分第二类合并节点44。
一具体实施例中,当系统中包括第三类合并节点45时,第三类合并节点由至少两个子树合并分节点和一个子树合并总节点组成;主控节点41还用于预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知第二类合并节点44;每一个第二类合并节点,根据每个子树合并分节点进行合并的对应FP子树,将本地构建的对应FP子树发送给进行合并的对应的子树合并分节点,每个子树合并分节点进行子树合并后,传送给子树合并总节点。一实施例中,子树合并总节点也可以是主控节点。
基于同一发明构思,根据本发明实施例提供的数据关联规则挖掘实现方法二,本发明实施例还提供一种相应的数据关联规则挖掘实现系统,其结构示意图如图5所示,包括:主控节点51、计算节点52、第一类合并节点53和第二类合并节点54;或者还包括第三类合并节点55;
主控节点51,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;以及当系统中不包括第三类合并节点55时,主控节点51还合并第二合并节点54发送的各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则;
计算节点52,用于对分配的每条分块数据记录中包含的每个数据项,确定出基于数据项权重或数据记录权重的本地出现次数,并发送给第一类合并节点53;以及
根据第一类合并节点53发送的频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数,按照基于数据项权重或数据记录权重的总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点54;
第一类合并节点53,用于累计每个计算节点52发送的每个数据项基于数据项权重或数据记录权重的本地出现次数,得到每个数据项基于数据项权重或数据记录权重的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数给每个所述计算节点52;
第二类合并节点54,用于累计每个计算节点52发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给主控节点51或第三类合并节点55;
第三类合并节点55,用于合并第二合并节点54发送的各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则。
一具体实施例中,第一类合并节点53至少包括两个节点,第二类合并节点54至少包括两个节点;且第一类合并节点53与第二类合并节点54全部为不同的节点;或者全部第一类合并节点53或部分第一类合并节点53为第二类合并节点54;或者部分第一类合并节点53为部分第二类合并节点54。
当系统中包括第三类合并节点55时,第三类合并节点由至少两个子树合并分节点和一个子树合并总节点组成;主控节点51还用于预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知第二类合并节点54;每一个第二类合并节点54,根据每个子树合并分节点进行合并的对应FP子树,将本地构建的对应FP子树发送给进行合并的对应的子树合并分节点,每个子树合并分节点进行子树合并后,传送给所述子树合并总节点。一具体实现中,子树合并总节点可以是主控节点。
综上所述,本发明提供的数据关联规则挖掘实现方法及系统中,将待处理的数据记录分块后分配给不同的计算节点处理,每个计算节点仅处理一部分数据记录,解决了海量数据无法全部由单机读入内存进行挖掘处理的问题;本发明提供的数据关联规则挖掘实现方法中,采用了至少两个计算节点并行地参与数据项统计过程再合并统计结果,加快了生成频繁1-项集的速度;并通过生成子数据项串以及本地合并,再由多个合并节点并行进行全局合并处理,生成FP子树,由生成的FP子树合成全局FP树,大大加快了FP树的构建速度。有效解决了现有技术无法实现对海量数据的关联规则挖掘及处理效率低的问题。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (22)

1.一种数据关联规则挖掘实现方法,其特征在于,包括:
主控节点对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;
每个所述计算节点并行对分配的每条分块数据记录中包含的每个数据项,分别统计本地出现次数,并发送统计出的每个数据项的本地出现次数给第一类合并节点;
所述第一类合并节点累计每个所述计算节点发送的每个数据项的本地出现次数,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的总出现次数给每个所述计算节点;
每个所述计算节点按总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
每个所述计算节点对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点;
所述第二类合并节点累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建对应的频繁模式FP子树,发送给所述主控节点或第三类合并节点;以及
由所述主控节点或所述第三类合并节点合并各FP子树,得到全局FP树,再根据得到的全局FP树挖掘关联规则。
2.如权利要求1所述的方法,其特征在于,所述第一类合并节点至少包括两个;由所述主控节点预先分配每个第一类合并节点进行合并的对应数据项;
每个所述计算节点发送统计出的每个数据项的本地出现次数给第一类合并节点,具体包括:
每个所述计算节点根据每个第一类合并节点进行合并的对应数据项,将本地统计出的相应数据项的本地出现次数,上报给对应的第一类合并节点;或者
每个第一类合并节点根据自身进行合并的对应数据项,分别向每个所述计算节点请求上传所述对应数据项的统计信息;每个所述计算节点向每个所述第一类合并节点返回其请求的所述对应数据项的本地出现次数。
3.如权利要求2所述的方法,其特征在于,所述第二类合并节点至少包括两个;由所述主控节点预先分配每个第二类合并节点进行合并的对应子数据项串;
每个所述计算节点将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点,具体包括:
每个所述计算节点根据每个第二类合并节点进行合并的对应子数据项串,将本地统计出的相应子数据项串的本地出现次数,上报给对应的第二类合并节点;或者
每个第二类合并节点根据自身进行合并的对应子数据项串,分别向每个所述计算节点请求上传所述对应子数据项串的统计信息;每个所述计算节点向每个所述第二类合并节点返回其请求的所述对应子数据项串的本地出现次数。
4.如权利要求3所述的方法,其特征在于,当由第三类合并节点进行FP子树合并时,所述第三类合并节点由至少两个子树合并分节点和一个子树合并总节点组成;由所述主控节点预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知所述第二类合并节点;
所述第二类合并节点构建频繁模式FP子树,并发送给第三类合并节点,具体包括:
每一个第二类合并节点根据每个子树合并分节点进行合并的对应FP子树,将本地构建的对应FP子树发送给进行合并的对应的子树合并分节点;每个子树合并分节点进行子树合并后,传送给所述子树合并总节点。
5.一种数据关联规则挖掘实现方法,其特征在于,包括:
主控节点对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;
每个所述计算节点并行对分配的每条分块数据记录中包含的每个数据项,确定出基于数据项权重或数据记录权重的本地出现次数,并发送给第一类合并节点;
所述第一类合并节点累计每个所述计算节点发送的每个数据项基于数据项权重或数据记录权重的本地出现次数,得到每个数据项基于数据项权重或数据记录权重的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数给每个所述计算节点;
每个所述计算节点按基于数据项权重或数据记录权重的总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
每个所述计算节点对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点;
所述第二类合并节点累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给所述主控节点或第三类合并节点;以及
由所述主控节点或所述第三类合并节点合并各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则。
6.如权利要求5所述的方法,其特征在于,所述确定出基于数据项权重的本地出现次数,具体包括:将每个数据项本地出现次数乘以预设的该数据项的对应权重系数,得到每个数据项基于权重的本地出现次数;以及
所述确定出基于数据记录的权重的本地出现次数,具体包括:对本地每条数据记录中的每一个数据项的出现次数进行第一次计算,使其等于所属数据记录设置的权重系数;再对本地每个数据项累加对应的第一次计算结果,得到每个数据项基于数据记录的权重的本地出现次数。
7.如权利要求6所述的方法,其特征在于,所述第一类合并节点至少包括两个;由所述主控节点预先分配每个第一类合并节点进行合并的对应数据项;
每个所述计算节点发送统计出的每个数据项的基于数据项权重或基于数据记录权重的本地出现次数给第一类合并节点,具体包括:
每个所述计算节点根据每个第一类合并节点进行合并的对应数据项,将本地统计出的相应数据项基于数据项权重或基于数据记录权重的本地出现次数,上报给对应的第一类合并节点;或者
每个第一类合并节点根据自身进行合并的对应数据项,分别向每个所述计算节点请求上传所述对应数据项的统计信息;每个所述计算节点向每个所述第一类合并节点返回其请求的所述对应数据项基于数据项权重或基于数据记录权重的本地出现次数。
8.如权利要求7所述的方法,其特征在于,所述第二类合并节点至少包括两个;由所述主控节点预先分配每个第二类合并节点进行合并的对应子数据项串;
每个所述计算节点将本地的每个子数据项串及对应的本地出现次数发送给第二类合并节点,具体包括:
每个所述计算节点根据每个第二类合并节点进行合并的对应子数据项串,将本地统计出的相应子数据项串的本地出现次数,上报给对应的第二类合并节点;或者
每个第二类合并节点根据自身进行合并的对应子数据项串,分别向每个所述计算节点请求上传所述对应子数据项串的统计信息;每个所述计算节点向每个所述第二类合并节点返回其请求的所述对应子数据项串的本地出现次数。
9.如权利要求8所述的方法,其特征在于,当由第三类合并节点进行FP子树合并时,所述第三类合并节点由至少两个子树合并分节点和一个子树合并总节点组成;由所述主控节点预先分配每个子树合并分节点进行合并的至少两个对应FP子树;
所述第二类合并节点构建频繁模式FP子树,并发送给第三类合并节点,具体包括:
每一个第二类合并节点根据每个子树合并分节点进行合并的对应FP子树,将本地构建的对应FP子树发送给进行合并的对应的子树合并分节点,每个子树合并分节点进行子树合并后,传送给所述子树合并总节点。
10.如权利要求5-9任一所述的方法,其特征在于,还包括:所述主控节点预先设置每个数据项的对应权重系数或每个数据记录的对应权重系数,并发送给所述计算节点;或者
预先在各计算节点中配置各数据项的对应权重系数或每个数据记录的对应权重系数。
11.一种数据关联规则挖掘实现系统,其特征在于,包括:主控节点、计算节点、第一类合并节点和第二类合并节点;
所述主控节点,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;所述主控节点还合并所述第二类合并节点发送的各频繁模式FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则;
所述计算节点,用于对分配的每条分块数据记录中包含的每个数据项,分别统计本地出现次数,并将统计出的每个数据项的本地出现次数发送给所述第一类合并节点;以及
根据所述第一类合并节点发送的频繁1-项集及对应的总出现次数,按总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给所述第二类合并节点;
所述第一类合并节点,用于累计每个所述计算节点发送的每个数据项的本地出现次数,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的总出现次数给每个所述计算节点;
所述第二类合并节点,用于累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给所述主控节点。
12.如权利要求11所述的系统,其特征在于,所述第一类合并节点至少包括两个节点,所述第二类合并节点至少包括两个节点;
所述第一类合并节点与所述第二类合并节点全部为不同的节点;或者
全部第一类合并节点或部分第一类合并节点为第二类合并节点;或者
部分第一类合并节点为部分第二类合并节点。
13.如权利要求11或12所述的系统,其特征在于,所述主控节点还用于预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知第二类合并节点;
每一个第二类合并节点,根据每个子树合并分节点进行合并的对应FP子树,将本地构建的对应FP子树发送给进行合并的对应的子树合并分节点,每个子树合并分节点进行子树合并后,传送给所述子树合并总节点。
14.一种数据关联规则挖掘实现系统,其特征在于,包括:主控节点、计算节点、第一类合并节点、第二类合并节点和第三类合并节点;
所述主控节点,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;
所述计算节点,用于对分配的每条分块数据记录中包含的每个数据项,分别统计本地出现次数,并将统计出的每个数据项的本地出现次数发送给所述第一类合并节点;以及
根据所述第一类合并节点发送的频繁1-项集及对应的总出现次数,按总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给所述第二类合并节点;
所述第一类合并节点,用于累计每个所述计算节点发送的每个数据项的本地出现次数,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集,并发送频繁1-项集及对应的总出现次数给每个所述计算节点;
所述第二类合并节点,用于累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给所述第三类合并节点;
所述第三类合并节点,用于合并所述第二类合并节点发送的各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则。
15.如权利要求14所述的系统,其特征在于,所述第一类合并节点至少包括两个节点,所述第二类合并节点至少包括两个节点;
所述第一类合并节点与所述第二类合并节点全部为不同的节点;或者
全部第一类合并节点或部分第一类合并节点为第二类合并节点;或者
部分第一类合并节点为部分第二类合并节点。
16.如权利要求14或15所述的系统,其特征在于,所述第三类合并节点由至少两个子树合并分节点和一个子树合并总节点组成;所述主控节点还用于预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知第二类合并节点;
每一个第二类合并节点,根据每个子树合并分节点进行合并的对应FP子树,将本地构建的对应FP子树发送给进行合并的对应的子树合并分节点,每个子树合并分节点进行子树合并后,传送给所述子树合并总节点。
17.一种数据关联规则挖掘实现系统,其特征在于,包括:主控节点、计算节点、第一类合并节点和第二类合并节点;
所述主控节点,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;所述主控节点还合并所述第二类合并节点发送的各频繁模式FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则;
所述计算节点,用于对分配的每条分块数据记录中包含的每个数据项,确定出基于数据项权重或数据记录权重的本地出现次数,并发送给第一类合并节点;以及
根据所述第一类合并节点发送的频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数,按照基于数据项权重或数据记录权重的总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给所述第二类合并节点;
所述第一类合并节点,用于累计每个所述计算节点发送的每个数据项基于数据项权重或数据记录权重的本地出现次数,得到每个数据项基于数据项权重或数据记录权重的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集;并发送频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数给每个所述计算节点;
所述第二类合并节点,用于累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给所述主控节点。
18.如权利要求17所述的系统,其特征在于,所述第一类合并节点至少包括两个节点,所述第二类合并节点至少包括两个节点;
所述第一类合并节点与所述第二类合并节点全部为不同的节点;或者
全部第一类合并节点或部分第一类合并节点为第二类合并节点;或者
部分第一类合并节点为部分第二类合并节点。
19.如权利要求17或18所述的系统,其特征在于,所述主控节点还用于预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知第二类合并节点;
每一个第二类合并节点,根据每个子树合并分节点进行合并的对应FP子树,将本地构建的对应FP子树发送给进行合并的对应的子树合并分节点,每个子树合并分节点进行子树合并后,传送给所述子树合并总节点。
20.一种数据关联规则挖掘实现系统,其特征在于,包括:主控节点、计算节点、第一类合并节点、第二类合并节点和第三类合并节点;
所述主控节点,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;
所述计算节点,用于对分配的每条分块数据记录中包含的每个数据项,确定出基于数据项权重或数据记录权重的本地出现次数,并发送给第一类合并节点;以及
根据所述第一类合并节点发送的频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数,按照基于数据项权重或数据记录权重的总出现次数由大到小的顺序排序各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁1-项集的顺序进行排序,并删除每条分块数据记录中包含的非频繁1-项集数据项,得到对应的每条处理后记录;以及
对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次数发送给所述第二类合并节点;
所述第一类合并节点,用于累计每个所述计算节点发送的每个数据项基于数据项权重或数据记录权重的本地出现次数,得到每个数据项基于数据项权重或数据记录权重的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁1-项集;并发送频繁1-项集及对应的基于数据项权重或数据记录权重的总出现次数给每个所述计算节点;
所述第二类合并节点,用于累计每个所述计算节点发送的每个子数据项串的本地出现次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频繁模式FP子树,发送给所述第三类合并节点;
所述第三类合并节点,用于合并所述第二类合并节点发送的各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则。
21.如权利要求20所述的系统,其特征在于,所述第一类合并节点至少包括两个节点,所述第二类合并节点至少包括两个节点;
所述第一类合并节点与所述第二类合并节点全部为不同的节点;或者
全部第一类合并节点或部分第一类合并节点为第二类合并节点;或者
部分第一类合并节点为部分第二类合并节点。
22.如权利要求20或21所述的系统,其特征在于,所述第三类合并节点由至少两个子树合并分节点和一个子树合并总节点组成;所述主控节点还用于预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知第二类合并节点;
每一个第二类合并节点,根据每个子树合并分节点进行合并的对应FP子树,将本地构建的对应FP子树发送给进行合并的对应的子树合并分节点,每个子树合并分节点进行子树合并后,传送给所述子树合并总节点。
CN 200910091865 2009-08-31 2009-08-31 数据关联规则挖掘实现方法与系统 Active CN101996102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910091865 CN101996102B (zh) 2009-08-31 2009-08-31 数据关联规则挖掘实现方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910091865 CN101996102B (zh) 2009-08-31 2009-08-31 数据关联规则挖掘实现方法与系统

Publications (2)

Publication Number Publication Date
CN101996102A CN101996102A (zh) 2011-03-30
CN101996102B true CN101996102B (zh) 2013-07-17

Family

ID=43786285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910091865 Active CN101996102B (zh) 2009-08-31 2009-08-31 数据关联规则挖掘实现方法与系统

Country Status (1)

Country Link
CN (1) CN101996102B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830451B2 (en) 2012-11-30 2017-11-28 Entit Software Llc Distributed pattern discovery

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150311B (zh) * 2011-12-07 2018-03-09 微软技术许可有限责任公司 基于数据划分的频繁对象挖掘
CN103164400A (zh) * 2011-12-08 2013-06-19 中国移动通信集团浙江有限公司 关联分析方法、装置及系统
CN102622447B (zh) * 2012-03-19 2014-03-05 南京大学 一种基于Hadoop的频繁闭项集挖掘方法
CN103761236B (zh) * 2013-11-20 2017-02-08 同济大学 一种增量式频繁模式增长数据挖掘方法
CN105760279B (zh) * 2016-03-09 2018-09-07 北京国电通网络技术有限公司 分布式数据库集群故障预警关联树生成方法及系统
CN107291734A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种频繁项集的挖掘方法、装置及系统
CN106021546A (zh) * 2016-05-27 2016-10-12 西华大学 基于项目子集事例树的极小非约简关联规则挖掘方法
CN106127306A (zh) * 2016-06-17 2016-11-16 北京理工大学 一种高共享性Rete网络构建方法
CN111026713B (zh) * 2016-08-03 2023-03-31 杭州数梦工场科技有限公司 一种搜索系统、数据搜索方法及运行时间确定方法
US10489363B2 (en) * 2016-10-19 2019-11-26 Futurewei Technologies, Inc. Distributed FP-growth with node table for large-scale association rule mining
CN108009180B (zh) 2016-10-28 2021-09-21 哈尔滨工业大学深圳研究生院 一种高质量模式项集挖掘方法、装置及数据处理设备
CN107146127A (zh) * 2017-03-22 2017-09-08 重庆允升科技有限公司 一种工业品精准推荐方法及系统
CN108200084A (zh) * 2018-01-31 2018-06-22 湖北工业大学 一种基于灰狼算法的网络安全日志确定方法和系统
CN109189732A (zh) * 2018-08-03 2019-01-11 成都四方伟业软件股份有限公司 一种中位数分析方法及装置
CN109582714B (zh) * 2018-12-03 2023-07-25 中电万维信息技术有限责任公司 一种基于时间衰减关联的政务事项数据处理方法
US11036741B2 (en) * 2019-03-01 2021-06-15 International Business Machines Corporation Association rule mining system
CN110336706B (zh) * 2019-07-23 2022-09-13 中国工商银行股份有限公司 网络报文传输处理方法和装置
CN111352954B (zh) * 2020-02-20 2021-02-12 中国科学院自动化研究所 低资源条件下的关联规则挖掘方法、系统、装置
CN112270470B (zh) * 2020-10-23 2023-12-05 中国科学院电工研究所 一种危险驾驶场景数据分析方法及系统
CN112364059B (zh) * 2020-11-10 2023-12-22 国网甘肃省电力公司白银供电公司 多规则场景下关联匹配方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1278345A (zh) * 1997-11-04 2000-12-27 国际商业机器公司 在线数据库挖掘
CN101320370A (zh) * 2008-05-16 2008-12-10 崔志明 基于查询接口连接图的深层网页数据源分类管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1278345A (zh) * 1997-11-04 2000-12-27 国际商业机器公司 在线数据库挖掘
CN101320370A (zh) * 2008-05-16 2008-12-10 崔志明 基于查询接口连接图的深层网页数据源分类管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830451B2 (en) 2012-11-30 2017-11-28 Entit Software Llc Distributed pattern discovery

Also Published As

Publication number Publication date
CN101996102A (zh) 2011-03-30

Similar Documents

Publication Publication Date Title
CN101996102B (zh) 数据关联规则挖掘实现方法与系统
US10467236B2 (en) Mining association rules in the map-reduce framework
US6381601B1 (en) Grouping and duplicate removal method in a database
CN103914528B (zh) 一种关联分析算法的并行化方法
CN103258049A (zh) 一种基于海量数据的关联规则挖掘方法
CN112818226B (zh) 数据处理方法、推荐方法、装置、电子设备及存储介质
US20220067026A1 (en) System and method for dependency analysis in a multidimensional database environment
CN111782620B (zh) 一种信用链路自动跟踪平台及其方法
CN104809244B (zh) 一种大数据环境下的数据挖掘方法和装置
CN101799810A (zh) 一种关联规则挖掘方法及其系统
US20180373777A1 (en) Systems and methods for memory optimization interest-driven business intelligence systems
CN105608135A (zh) 一种基于Apriori算法的数据挖掘方法及系统
CN104834557A (zh) 一种基于Hadoop的数据分析方法
CN102792297A (zh) 模式匹配装置、模式匹配方法和模式匹配系统
CN101916281B (zh) 并行计算系统及去重计数方法
KR20220069229A (ko) 필드 간 유사도 분석을 이용한 이종 데이터 결합 방법
Salah et al. A highly scalable parallel algorithm for maximally informative k-itemset mining
CN111475837A (zh) 一种网络大数据隐私保护方法
Theeten et al. Chive: Bandwidth optimized continuous querying in distributed clouds
CN109947736B (zh) 实时计算的方法和系统
CN111797174A (zh) 管理时空数据的方法和装置
CN110300011A (zh) 一种告警根因定位方法、装置和计算机可读存储介质
CN116975052A (zh) 数据处理方法及相关设备
CN106920057A (zh) 物料管理方法及系统
CN108805755B (zh) 一种旅游套餐生成方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant