一种面向大规模数据的关联规则树挖掘方法

文档序号:10553014阅读:303来源:国知局
一种面向大规模数据的关联规则树挖掘方法
【专利摘要】本发明涉及一种面向大规模数据的关联规则树挖掘方法,包括以下步骤:S1.对原始数据进行预处理,将原始数据的数据结构处理为便于遍历的数据结构;S2.遍历每项数据,将每项数据包含的属性名、属性名的值名及其支持度缓存起来,生成1?候选项集C1;S3.由1?候选项集C1生成1?频繁项集L1;S4.由k?频繁项集Lk生成k+1?候选项集Ck+1;S5.由k+1?候选项集Ck+1生成k+1?频繁项集Lk+1;S6.重复执行步骤S4~S5直至不能生成新的k+1?频繁项集Lk+1;S7.将步骤S6获得的所有的频繁项集用于生成规则;S8.过滤出能被规则分类的数据,不能被规则分类的数据重复执行步骤S1~步骤S7,直至没有规则生成。
【专利说明】
一种面向大规模数据的关联规则树挖掘方法
技术领域
[0001 ]本发明涉及计算机及数据挖掘领域,更具体地,涉及一种面向大规模数据的关联 规则树挖掘方法。
【背景技术】
[0002] 目前,随着以大数据、云计算为核心的互联网技术的迅速发展,作为大数据核心技 术的数据分析技术正在吸引越来越多的研究和关注。关联规则树挖掘这种结合关联规则挖 掘和决策树生成的算法吸引了大量的注意,而对于挖掘算法来说,面对庞大的数据时,保持 高准确率的同时尽可能地提高算法的运算效率至关重要。
[0003] 关联规则树挖掘是2004年被提出的一种结合关联规则挖掘和决策树生成的一种 分类训练方法,它在类标分类的数据上展现出比传统分类方法更高的准确率及可操作性, 但是这个算法在当时是基于单机设备设计的,在面对小规模数据时,上述算法可以得到理 想的分类结果,而在处理大规模数据时,由于算法无法在分布式集群上进行有效扩展,效率 低下,算法无法完成任务,不能得到理想结果。

【发明内容】

[0004] 本发明为解决以上现有技术的缺陷,提供了一种面向大规模数据的关联规则树挖 掘方法,该方法根据MapReduce框架和RDD数据结构对关联规则树挖掘算法进行了并行化创 新,使得挖掘方法的执行效率更高,同时本发明能在可扩展的大规模分布式平台上执行关 联规则树挖掘,在面对大规模数据量时可扩展机器以提升计算能力,在可接受的时间内得 出关联规则树,用于较高准确度的分类决策。
[0005] 为实现以上发明目的,采用的技术方案是:
[0006] -种面向大规模数据的关联规则树挖掘方法,以下步骤:
[0007] S1.对原始数据进行预处理,将原始数据的数据结构处理为便于遍历的数据结构;
[0008] S2.遍历每项数据,将每项数据包含的属性名、属性名的值名及其支持度缓存起 来,生成1-候选项集C1;
[0009] S3.由1-候选项集&生成1-频繁项集L1;
[0010] S4 ?由k-频繁项集Lk生成k+1-候选项集Ck+1:
[0011] 设k-频繁项集Lk中某一个项集为I,找出该项集中属性名最靠右的属性,设为A,然 后在1-频繁项集1^中找到一个比A更靠右的属性,拼接到I的后面;
[0012] 对k-频繁项集Lk中所有的项集进行以上操作,则生成了 k+1-候选项集Ck+1;
[0013] S5 ?由k+卜候选项集Ck+i生成k+卜频繁项集Lk+i;
[0014] S6.重复执行步骤S4~S5直至不能生成新的k+1-频繁项集Lk+i;
[0015] S7.将步骤S6获得的所有的频繁项集用于生成规则;
[0016] S8.过滤出能被规则分类的数据,不能被规则分类的数据重复执行步骤S1~步骤 S7,直至没有规则生成。
[0017]优选地,所述卜候选项集&存储的形式如下:
[0018] {{属性1:值1}:支持度1}
[0019] {{属性1:值2}:支持度2}
[0020] {{属性2:值3}:支持度3}。
[0021]
[0022] {{属性a:值v}:支持度f}
[0023] 优选地,所述步骤S3具体执行如下:将1-候选项集心中的每一个项集的支持度与 最小支持度MINSUP做比较,将支持度大于MINSUP的项集留下来构造一个1-频繁项集Lu
[0024] 优选地,所述1-频繁项集1^的存储形式与1-候选项集&的存储形式一致。
[0025]优选地,所述步骤S5具体执行如下:
[0026] 计算k+l_候选项集Ck+1中每一项的支持度,然后从k+l_候选项集中筛选出支持度 高于最小支持度MINSUP的项集,构造 k+1-频繁项集Lk+1。
[0027] 优选地,所述k+1-候选项集&+1的存储形式如下:
[0028] {属性ai:值VI,属性a2:值V2,…,属性an:值Vm}。
[0029] 与现有技术相比,本发明的有益效果是:
[0030] 本发明提供的数据挖掘方法根据MapReduce框架和RDD数据结构对关联规则树挖 掘算法进行了并行化创新,使得挖掘方法的执行效率更高,同时本发明能在可扩展的大规 模分布式平台上执行关联规则树挖掘,在面对大规模数据量时可扩展机器以提升计算能 力,在可接受的时间内得出关联规则树,用于较高准确度的分类决策。
【附图说明】
[0031]图1为本发明的算法流程图。
[0032] 图2为并行计算平台Spark RDD原理图。
[0033]图3为本发明并行化运行原理图。
[0034] 图4为本发明在不同数据上加速比展示图。
【具体实施方式】
[0035] 附图仅用于示例性说明,不能理解为对本专利的限制;
[0036]以下结合附图和实施例对本发明做进一步的阐述。
[0037] 实施例1
[0038] 本发明涉及一种面向大规模数据的关联规则树挖掘方法,如图2所示,该方法的执 行平台为并行计算平台Spark RDD,算法的流程及并行化运行的原理分别如图1、图3所示, 图4为本发明提供的方法在在不同数据上加速比展示图。
[0039] 如图1、3所示,本发明提供的方法包括以下步骤:
[0040] 第一步:数据预处理。原始数据可能是各种形式的数据,不利于存取也不利于遍 历,比如数据库文件、文本文件等,需要将它处理为有一定数据结构的、内存存储的,分布式 的便于遍历的数据。理想的处理结果是每一行数据以以下这种形式存在
[0041] {行号:{{属性1:值1},{属性2:值2}. . . {属性a:值v}}}
[0042]这里有个重要的提示,由于ART是一种解决分类问题的算法,所以在频繁项挖掘的 过程中,"类别"是当成一个属性来看待的;
[0043] 第二步:生成1-候选项集心。这一步就是完整地遍历每一行数据,将数据以每一项 包含属性名、值名、支持度(这里就是指出现频度)缓存起来,缓存所有的单项集,具体是以 下形式:
[0044] {{属性1:值1}:支持度1}
[0045] {{属性1:值2}:支持度2}
[0046] {{属性2:值3}:支持度3}
[0047] ...
[0048] {{属性a:值v}:支持度f}
[0049] 这里假设数据中存在N个属性,第i个属性存在Vi个可能的属性值,则此步挖掘出 来的1 _候选项集的个数为: N
[0050] Xyi
[00511第三步:由1-候选项集&生成1-频繁项集1^。即将1-候选项集&中每一个单项集的 支持度与参数最小支持度MINSUP做比较,将支持度大于MINSUP的项集留下来构造一个1-频 繁项集Li,存储的形式保持1-候选项集&的形式不变;
[0052]第四步:用k-频繁项集Lk生成k+1-候选项集Ck+1。这一步用到两份数据:(l)k_频繁 项集;(2)1-频繁项集(LO。假设Lk中某一个项集为I,找出该项集中属性名最靠右的属性,设 为A,然后在U中找到一个比A更靠右的属性,拼接到I的后面,则生成了一个比I多一个属性 的项;将所有比A更靠右的属性,每一个都拼接到一个I的后面;对L k中所有的项,都做与I相 同的操作,则生成了 Ck+1,存为以下形式:
[0053] {属性ai:值VI,属性a2:值V2,…,属性an:值Vm}
[0054] 第五步:由k+1-候选项集Ck+i生成k+1-频繁项集Lk+i。如图需要两份数据:(1)预处 理过的原始数据D; (2)k+l-候选项集Ck+i。这一步里,遍历D,数出Ck+i中的每一项在D中的出 现次数,亦即计算Ck+1中的每一项的支持度,记录为如下形式:
[0055] {{属性ai:值vi,属性a2:值V2, ? ? ?,属性an:值Vm,}:支持度f} (4.5)
[0056] 然后根据参数最小支持度MINSUP,从Ck+1*筛选出支持度f高于MINSUP的项集,存 为k+1-频繁项集Lk+1。
[0057] 第六步:回到第四步骤,循环运行,由频繁项集生成多一项的候选项集,由候选项 集筛选出频繁项集,直到不能再生成新的频繁项集。
[0058] 第七步:将挖掘出来的频繁项用来生成规则;
[0059] 第八步:过滤出能被规则分类的数据,余下的数据重新进入第一大步进行频繁项 集挖掘,循环运行,直到没有好的规则生成。
[0060] 显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对 本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可 以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本 发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求 的保护范围之内。
【主权项】
1. 一种面向大规模数据的关联规则树挖掘方法,其特征在于:包括以下步骤:51. 对原始数据进行预处理,将原始数据的数据结构处理为便于遍历的数据结构;52. 遍历每项数据,将每项数据包含的属性名、属性名的值名及其支持度缓存起来,生 成1-候选项集C1;53. 由1-候选项集&生成1-频繁项集L1;54. 由k-频繁项集Lk生成k+Ι-候选项集Ck+1: 设k-频繁项集U中某一个项集为I,找出该项集中属性名最靠右的属性,设为A,然后在 1-频繁项集L冲找到一个比A更靠右的属性,拼接到I的后面; 对k-频繁项集Lk中所有的项集进行以上操作,则生成了 k+Ι-候选项集Ck+1;55. 由k+1-候选项集Ck+1生成k+1-频繁项集Lk+1;56. 重复执行步骤S4~S5直至不能生成新的k+Ι-频繁项集Lk+1;57. 将步骤S6获得的所有的频繁项集用于生成规则;58. 过滤出能被规则分类的数据,不能被规则分类的数据重复执行步骤Sl~步骤S7,直 至没有规则生成。2. 根据权利要求1所述的面向大规模数据的关联规则树挖掘方法,其特征在于:所述1-候选项集&存储的形式如下: {{属性1:值1}:支持度1} {{属性1:值2}:支持度2} {{属性2:值3}:支持度3}。 {{属性a:值v}:支持度f}。3. 根据权利要求1所述的面向大规模数据的关联规则树挖掘方法,其特征在于:所述步 骤S3具体执行如下:将1-候选项集心中的每一个项集的支持度与最小支持度MINSUP做比 较,将支持度大于MINSUP的项集留下来构造一个1-频繁项集L 1。4. 根据权利要求3所述的面向大规模数据的关联规则树挖掘方法,其特征在于:所述1-频繁项集1^的存储形式与1-候选项集&的存储形式一致。5. 根据权利要求3所述的面向大规模数据的关联规则树挖掘方法,其特征在于:所述步 骤S5具体执行如下: 计算k+Ι-候选项集Ck+i中每一项的支持度,然后从k+Ι-候选项集中筛选出支持度高于 最小支持度MINSUP的项集,构造 k+Ι-频繁项集Lk+1。6. 根据权利要求5所述的面向大规模数据的关联规则树挖掘方法,其特征在于:所述k+ 1-候选项集Ck+1的存储形式如下: {属性ai:值VI,属性a2:值V2,…,属性an:值Vm}。
【文档编号】G06F17/30GK105912660SQ201610221837
【公开日】2016年8月31日
【申请日】2016年4月11日
【发明人】王昌栋, 赖剑煌, 李宏钊
【申请人】中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1