数据关联规则挖掘实现方法与系统的制作方法

文档序号:6363856阅读:141来源:国知局
专利名称:数据关联规则挖掘实现方法与系统的制作方法
技术领域
本发明涉及数据业务,尤其涉及一种数据关联规则挖掘实现方法与相应的实现系 统。
背景技术
在数据挖掘处理中,数据关联规则(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)扫描一遍数据库,获取所有频繁项集。以下表一所述数据记录为例,得到的频 繁项集为Kc :4),(f 4), (a:3), (b:3), (m 3), (p:3)},“: ”之后的数字表示对应数据 项的出现频率(即出现次数)。上述频繁项集是首先按照各数据项出现频率从大到小排序, 再按照字母顺序(即规定的数据项顺序)排序,并删除出现次数小于最小支持度的相应数 据项。需要注意的是这里的排序非常重要,之后每个数据记录中的各项都要按照这个顺序 进行排列,排列顺序是有效合并重复路径的前提。表一
权利要求
一种数据关联规则挖掘实现方法,其特征在于,包括主控节点对数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点;每个所述计算节点并行对分配的每条分块数据记录中包含的每个数据项,分别统计本地出现次数,并发送统计出的每个数据项的本地出现次数给第一类合并节点;所述第一类合并节点累计每个所述计算节点发送的每个数据项的本地出现次数,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁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-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并 分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次 数发送给所述第二类合并节点;所述第一类合并节点,用于累计每个所述计算节点发送的每个数据项的本地出现次 数,得到每个数据项的总出现次数,并确定出总出现次数大于设定的支持度阈值的对应数 据项为频繁ι-项集,并发送频繁ι-项集及对应的总出现次数给每个所述计算节点;所述第二类合并节点,用于累计每个所述计算节点发送的每个子数据项串的本地出现 次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频 繁模式FP子树,发送给所述主控节点或所述第三类合并节点;所述第三类合并节点,用于合并所述第二合并节点发送的各FP子树,得到全局FP树, 再根据得到的全局FP树输出关联规则。
12.如权利要求11所述的系统,其特征在于,所述第一类合并节点至少包括两个节点, 所述第二类合并节点至少包括两个节点;所述第一类合并节点与所述第二类合并节点全部为不同的节点;或者 全部第一类合并节点或部分第一类合并节点为第二类合并节点;或者 部分第一类合并节点为部分第二类合并节点。
13.如权利要求11或12所述的系统,其特征在于,当系统中包括所述第三类合并节点 时,所述第三类合并节点由至少两个子树合并分节点和一个子树合并总节点组成;所述主 控节点还用于预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知第 二类合并节点;每一个第二类合并节点,根据每个子树合并分节点进行合并的对应FP子树,将本地构 建的对应FP子树发送给进行合并的对应的子树合并分节点,每个子树合并分节点进行子 树合并后,传送给所述子树合并总节点。
14.一种数据关联规则挖掘实现系统,其特征在于,包括主控节点、计算节点、第一类 合并节点和第二类合并节点;或者还包括第三类合并节点;所述主控节点,用于对数据记录进行分块,将分块数据记录分配并分发给至少两个计 算节点;以及当不包括所述第三类合并节点时,所述主控节点还合并所述第二合并节点发 送的各FP子树,得到全局FP树,再根据得到的全局FP树输出关联规则;所述计算节点,用于对分配的每条分块数据记录中包含的每个数据项,确定出基于数 据项权重或数据记录权重的本地出现次数,并发送给第一类合并节点;以及根据所述第一类合并节点发送的频繁1-项集及对应的基于数据项权重或数据记录权 重的总出现次数,按照基于数据项权重或数据记录权重的总出现次数由大到小的顺序排序 各频繁1-项集,对分配的每条分块数据记录中包含的数据项,按照排序后的各频繁ι-项集 的顺序进行排序,并删除每条记录中包含的非频繁1-项集数据项,得到对应的每条处理后 记录;以及对每条处理后记录,分别以包含的每个频繁1-项集为终止数据项,以该条处理后记录 包含的首个频繁1-项集为起始数据项,得到由该条处理后记录生成的全部子数据项串;并 分别统计每个子数据项串的本地出现次数,将本地的每个子数据项串及对应的本地出现次 数发送给所述第二类合并节点;所述第一类合并节点,用于累计每个所述计算节点发送的每个数据项基于数据项权重 或数据记录权重的本地出现次数,得到每个数据项基于数据项权重或数据记录权重的总出 现次数,并确定出总出现次数大于设定的支持度阈值的对应数据项为频繁ι-项集;并发送频繁ι-项集及对应的基于数据项权重或数据记录权重的总出现次数给每个所述计算节点所述第二类合并节点,用于累计每个所述计算节点发送的每个子数据项串的本地出现 次数,得到每个子数据项串的总出现次数;并根据每个子数据项串及其总出现次数,构建频 繁模式FP子树,发送给所述主控节点或所述第三类合并节点;所述第三类合并节点,用于合并所述第二合并节点发送的各FP子树,得到全局FP树, 再根据得到的全局FP树输出关联规则。
15.如权利要求14所述的系统,其特征在于,所述第一类合并节点至少包括两个节点, 所述第二类合并节点至少包括两个节点;所述第一类合并节点与所述第二类合并节点全部为不同的节点;或者 全部第一类合并节点或部分第一类合并节点为第二类合并节点;或者 部分第一类合并节点为部分第二类合并节点。
16.如权利要求14或15所述的系统,其特征在于,当系统中包括所述第三类合并节点 时,所述第三类合并节点由至少两个子树合并分节点和一个子树合并总节点组成;所述主 控节点还用于预先分配每个子树合并分节点进行合并的至少两个对应FP子树,并通知第 二类合并节点;每一个第二类合并节点,根据每个子树合并分节点进行合并的对应FP子树,将本地构 建的对应FP子树发送给进行合并的对应的子树合并分节点,每个子树合并分节点进行子 树合并后,传送给所述子树合并总节点。
全文摘要
本发明公开了数据关联规则挖掘实现方法及系统。通过主控节点将数据记录进行分块,将分块数据记录分配并分发给至少两个计算节点。由各计算节点并行查找频繁1-项集;并根据排序后的频繁1-项集,产生子数据项串。由合并节点并行对全部子数据项串进行统计,构建本地FP子树。通过合并FP子树,得到合局FP树,进行数据关联规则挖掘。由于每个计算节点仅处理一部分数据记录,解决了海量数据无法由单机读入内存进行处理的问题;且多个节点并行参与处理,有效提高了处理效率。
文档编号G06F9/50GK101996102SQ20091009186
公开日2011年3月30日 申请日期2009年8月31日 优先权日2009年8月31日
发明者何清, 周文辉, 孙少陵, 徐萌, 曾立, 罗治国, 邓超, 高丹 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1