当前位置: 首页 > 专利查询>禤世丽专利>正文

基于MapReduce和数组的频繁项集挖掘方法和装置制造方法及图纸

技术编号:21971361 阅读:18 留言:0更新日期:2019-08-28 01:27
本发明专利技术实施例公开了基于MapReduce和数组的频繁项集挖掘方法,将数据集转换为二维数组;将二维数组分解成若干二维子数组;将若干二维子数组分配至至少两个并行执行挖掘频繁项集任务的节点上;每一节点挖掘二维子数组对应的子频繁项集并保留每个节点的非频繁项集;统计汇总各子频繁项集并合并非频繁项集,得到数据组的频繁项集。本发明专利技术只扫描一次数据库,把数据库转化为二维数组,减少数据库的扫描,缩短I/O时间;同时创造性的通过水平划分的方法将数组分解为更多的子数组,使用Hadoop平台的MapReduce编程模型,采用并行处理二维子数组的方法,即在若干节点并行的对子数组进行频繁项集的挖掘,使得本发明专利技术具有较好的加速比和可扩展性,适合对大数据集挖掘频繁项集。

A Method and Device for Mining Frequent Itemsets Based on MapReduce and Array

【技术实现步骤摘要】
基于MapReduce和数组的频繁项集挖掘方法和装置
本专利技术实施例涉及数据挖掘及大数据
,具体涉及一种基于MapReduce和数组的频繁项集挖掘方法、装置、电子设备和存储介质。
技术介绍
数据挖掘领域R.Agrawa和R.Srikant提出经典的Aprior算法,已经有很多文献提出了很多改进的频繁项集挖掘算法。与Aprior算法相比,这些算法一定程度上缩短了I/O时间,适当地提高了发现频繁项集的效率,但还是不能很好的解决该算法的瓶颈问题。目前,随着信息的飞速发展,所需要分析的海量数据也在日益增长,这样就导致现行的串行的频繁项集挖掘算法面临着两个难以解决的问题:一是受单机内存的限制,难以将表示大数据集的数据存放于内存中;二是受单机计算能力的限制,从数据库中找出所有频繁项集需要较长的计算时间。
技术实现思路
为此,本专利技术实施例提供一种基于MapReduce和数组的频繁项集挖掘方法、装置、电子设备和存储介质,以解决现有技术中由于串行的频繁项集挖掘算法而导致的频繁项集挖掘效率低下的问题。为了实现上述目的,本专利技术实施例提供如下技术方案:根据本专利技术实施例的第一方面提供的一种基于MapReduce和数组的频繁项集挖掘方法,包括:扫描数据库,将数据库中的每一数据组转换为与其对应的二维数组;根据预设定分解规则,将每一所述二维数组分解成若干二维子数组;将若干所述二维子数组分配至至少两个并行执行挖掘频繁项集任务的节点上;每一所述节点挖掘所述二维子数组对应的子频繁项集和非频繁项集;将若干所述子频繁项集和非频繁项集合并,得到所述数据组的频繁项集。进一步地,所述的基于MapReduce和数组的频繁项集挖掘方法中,根据预设定分解规则,将所述二维数组分解成若干二维子数组,包括:根据水平划分的方法将所述二维子数组划分为若干规模相同的所述二维子数组。进一步地,所述的基于MapReduce和数组的频繁项集挖掘方法中,每一所述节点挖掘所述二维子数组的子频繁项集,包括:所述节点获取所述二维子数组中每一项集的频度;筛选出频度大于或等于预设最小支持度的项集,定义该项集为子频繁项集。进一步地,所述的基于MapReduce和数组的频繁项集挖掘方法中,将若干所述子频繁项集和非频繁项集合并,得到所述数据组的频繁项集,包括:统计每一所述子频繁项集的计数,筛选出子频繁项集的计数大于或等于预设最小支持度的;将筛选出的子频繁项集合并,形成所述数据组的频繁项集;其中,统计每一所述子频繁项集的计数包括:在所有子频繁项集和所有非频繁项集中查找与其相同的项集,并将该子频繁项集与其相同的项集进行计数累加,得到该子频繁项集的计数。根据本专利技术实施例的第二方面提供的一种基于MapReduce和数组的频繁项集挖掘装置,包括:数组转换模块,用于扫描数据库,将数据库中的每一数据组转换为与其对应的二维数组;二维数组分解模块,用于根据预设定分解规则,将每一所述二维数组分解成若干二维子数组;二维子数组分配模块,用于将若干所述二维子数组分配至至少两个并行执行挖掘频繁项集任务的节点模块上;节点模块,用于每一所述节点挖掘所述二维子数组对应的子频繁项集和非频繁项集;合并模块,用于将若干所述子频繁项集和非频繁项集合并,得到所述数据组的频繁项集。进一步地,所述的基于MapReduce和数组的频繁项集挖掘装置中,根据预设定分解规则,将所述二维数组分解成若干二维子数组,包括:对于每一二维数组,根据水平划分的方法将所述二维子数组划分为若干规模相同的所述二维子数组。进一步地,所述的基于MapReduce和数组的频繁项集挖掘装置中,挖掘所述二维子数组对应的子频繁项集,包括:获取所述二维子数组中每一项集的频度;筛选出频度大于或等于预设最小支持度的项集,定义该项集为子频繁项集。进一步地,所述的基于MapReduce和数组的频繁项集挖掘装置中,将若干所述子频繁项集和非频繁项集合并,得到所述数据组的频繁项集,包括:统计每一所述子频繁项集的计数,筛选出子频繁项集的计数大于或等于预设最小支持度的;将筛选出的子频繁项集合并,形成所述数据组的频繁项集;其中,统计每一所述子频繁项集的计数包括:在所有子频繁项集和所有非频繁项集中查找与其相同的项集,并将该子频繁项集与其相同的项集进行计数累加,得到该子频繁项集的计数。根据本专利技术实施例的第三方面提供的一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至4任一所述的基于MapReduce和数组的频繁项集挖掘方法的步骤。根据本专利技术实施例的第四方面提供的一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至4任一所述的基于MapReduce和数组的频繁项集挖掘方法的步骤。。本专利技术实施例具有如下优点:本专利技术实施例公开了一种基于MapReduce和数组的频繁项集挖掘方法,包括:扫描数据库,将数据库中的每一数据组转换为与其对应的二维数组;根据预设定分解规则,将每一所述二维数组分解成若干二维子数组;将若干所述二维子数组分配至至少两个并行执行挖掘频繁项集任务的节点上;每一所述节点挖掘所述二维子数组对应的子频繁项集和非频繁项集;将若干所述子频繁项和非频繁项集合并,得到所述数据组的频繁项集。本专利技术一方面,只扫描一次数据库,把数据库转化为二维数组,减少数据库的扫描,缩短I/O时间;另一方面,创造性的通过水平划分的方法将数组分解为更多的子数组,使用Hadoop平台的MapReduce编程模型,采用并行处理二维子数组的方法,即在若干节点并行的对子数组进行频繁项集的挖掘,使得本专利技术具有较好的加速比和可扩展性,适合对大数据集挖掘频繁项集。附图说明为了更清楚地说明本专利技术的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本专利技术可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本专利技术所能产生的功效及所能达成的目的下,均应仍落在本专利技术所揭示的
技术实现思路
得能涵盖的范围内。图1为本专利技术实施例提供的基于MapReduce和数组的频繁项集挖掘方法所涉及的实施环境;图2为本专利技术实施例提供的基于MapReduce和数组的频繁项集挖掘方法的流程图;图3为本专利技术实施例提供的基于MapReduce和数组的频繁项集挖掘装置的结构示意图;图4为本专利技术实施例提供的一种计算机设备的结构示意图.具体实施方式以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1本文档来自技高网
...

【技术保护点】
1.一种基于MapReduce和数组的频繁项集挖掘方法,其特征在于,包括:扫描数据库,将数据库中的每一数据组转换为与其对应的二维数组;根据预设定分解规则,将每一所述二维数组分解成若干二维子数组;将若干所述二维子数组分配至至少两个并行执行挖掘频繁项集任务的节点上;每一所述节点挖掘所述二维子数组对应的子频繁项集和非频繁项集;将若干所述子频繁项集和非频繁项集合并,得到所述数据组的频繁项集。

【技术特征摘要】
1.一种基于MapReduce和数组的频繁项集挖掘方法,其特征在于,包括:扫描数据库,将数据库中的每一数据组转换为与其对应的二维数组;根据预设定分解规则,将每一所述二维数组分解成若干二维子数组;将若干所述二维子数组分配至至少两个并行执行挖掘频繁项集任务的节点上;每一所述节点挖掘所述二维子数组对应的子频繁项集和非频繁项集;将若干所述子频繁项集和非频繁项集合并,得到所述数据组的频繁项集。2.根据权利要求1所述的基于MapReduce和数组的频繁项集挖掘方法,其特征在于,根据预设定分解规则,将所述二维数组分解成若干二维子数组,包括:根据水平划分的方法将所述二维子数组划分为若干规模相同的所述二维子数组。3.根据权利要求1所述的基于MapReduce和数组的频繁项集挖掘方法,其特征在于,每一所述节点挖掘所述二维子数组的子频繁项集,包括:所述节点获取所述二维子数组中每一项集的频度;筛选出频度大于或等于预设最小支持度的项集,定义该项集为子频繁项集。4.根据权利要求1所述的基于MapReduce和数组的频繁项集挖掘方法,其特征在于,将若干所述子频繁项集和非频繁项集合并,得到所述数据组的频繁项集,包括:统计每一所述子频繁项集的计数,筛选出子频繁项集的计数大于或等于预设最小支持度的;将筛选出的子频繁项集合并,形成所述数据组的频繁项集;其中,统计每一所述子频繁项集的计数包括:在所有子频繁项集和所有非频繁项集中查找与其相同的项集,并将该子频繁项集与其相同的项集进行计数累加,得到该子频繁项集的计数。5.一种基于MapReduce和数组的频繁项集挖掘装置,其特征在于,包括:数组转换模块,用于扫描数据库,将数据库中的每一数据组转换为与其对应的二维数组;二维数组分解模块,用于根据预设定分解规则,将每一所述二维数组分解成若干二维子数组;二维子数组分配模块,用于将若干所述二维子数组分配至至少...

【专利技术属性】
技术研发人员:禤世丽
申请(专利权)人:禤世丽
类型:发明
国别省市:广西,45

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1