论文部分内容阅读
数据挖掘技术自诞生以来就致力于发现隐藏在数据中有价值的信息。随着大数据时代的到来,数据挖掘可以将丰富的数据变为一种宝贵的资源,其地位变得更是不可小觑。发现关联规则是数据挖掘工作的重中之重,而挖掘频繁项集又是寻找关联规则的主要步骤。但是频繁项集不仅数量庞大,还存在信息冗余的问题,因此挖掘最大频繁项集的任务应运而生。在压缩频繁项集的同时,最大频繁项集也缓解了数据存储的压力。另外,在Web挖掘、DNA分析等一些应用领域内,挖掘最大频繁项集的重要性也是显而易见的。因此如何提高最大频繁项集的挖掘效率成为了一个重要的研究方向。本文阐述了挖掘最大频繁项集的研究背景及意义。通过国内外研究现状发现,挖掘最大频繁项集的算法通常是在Apriori和FP-Tree这两种思想的基础上进行改进。但是,基于Apriori改进的算法在自底向上逐渐产生频繁项集的过程中会产生多余的候选项集,为了计算项集的支持度,多次扫描数据库是对时间和资源的一种浪费。另外,随着挖掘宽度和深度的增加,FP-Tree的构建将会消耗巨大的时空资源。基于上述问题,对最大频繁项集挖掘过程中的相关问题进行了深入研究。除了基础概念和理论,本文还综述了挖掘最大频繁项集的过程中所用到的搜索策略和剪枝策略,同时分析了最大频繁项集挖掘的四种经典算法,为后续最大频繁项集的挖掘算法奠定了理论基础。本文提出了一种基于回溯的最大频繁项集挖掘算法GBMFI(Go-Back Maximal Frequent Itemsets)。它以枚举树为搜索空间,通过深度优先搜索克服了自底向上和自顶向下搜索策略的不足,采用垂直表示数据库的方法降低了项集支持度计算的复杂性,并融入非频繁子集、频繁超集以及利用父子关系的剪枝策略,针对不同情况,使用恰当的剪枝方法,提高了算法效率。随后,在四种标准数据集下进行了实验。与DepthProject算法对比可得,在相同环境下,GBMFI算法运行速度较快,并对不同数据集下的最大频繁项集的结果数与分布情况进行了研究。另外,本文还提出了一种分布式并行挖掘最大频繁项集的算法AMI,虽然实验效果欠佳,但为下一步工作指明了方向。