一种支持分布式计算的关联规则挖掘算法实现方法及装置制造方法及图纸

技术编号:8366777 阅读:194 留言:0更新日期:2013-02-28 05:20
本发明专利技术公开了一种支持分布式计算的关联规则挖掘算法实现方法及装置,用HDFS的编程模型对关联规则挖掘算法PA进行map函数阶段和reduce函数阶段的两阶段分解:步骤一:配置作业调度器;步骤二:用先验概率映射模块读取数据集,并通过map函数将数据集的数据行转换为键值对;步骤三:用先验概率约简模块读取步骤二处理的键值对,并通过reduce函数随机生成包含i项集的排序规则TopN,同时计算置信度的先验概率分布值;步骤四:再用规则映射模块读取同一个数据集,并再次通过map函数将数据集的数据行转换为键值对;步骤五:再用规则约简模块读取步骤四处理的键值对和步骤三的先验概率分布值,并通过reduce函数计算出排序规则TopN的预测精度值。主要用于PA分布式计算技术中。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种支持分布式计算的关联规则挖掘算法实现方法及装置
技术介绍
随着“大数据”时代的到来,企业业务数据量激增,数据分析师都在尝试各种数据分析方法以及数据挖掘方法,旨在希望能够从海量数据中发掘潜在的、具有业务价值的用户行为模式。数据挖掘通过分析每个数据,从大量数据中寻找其规律的技术。另外,本专利技术中提到的大数据、海量数据、数据集的含义相同。关联规则挖掘是数据挖掘方法中一种被广泛采用的且具有影响力的方法,它能够用在各种推荐系统中为用户推荐感兴趣的物品。目前能够使用的各种版本的关联规则挖掘算法都是单机形式,面对大数据量情况都显得无能为力,很多场景下也只是采样部分业务数据进行关联规则的查找。1993年,R. Agrawal等人首次提出了挖掘顾客交易数据中项目集间的关联规则问题,其核心是基于两阶段频繁集思想的递推算法。第一步通过迭代,检索出事务数据库中的所有频繁项集,频繁项集即支持度不低于用户设定的阈值的项集;第二步利用频繁项集构造出满足用户最小信任度的规则。其中,挖掘或识别出所有频繁项集是该算法的核心,占整个计算量的大部分。频繁项集项的集合称为项集。项集的出现频率(支持计数)是项集的事务数,简称为项集的频率,支持率计数或者计数。如果项集的相对出现频率大于等于预定义的最小支持度阈值,则是频繁项集。2001年Tobias从贝叶斯统计角度提出了基于预测精度的关联规则模型,并给出了相应的关联规则挖掘算法PredictiveApriori,简称PA算法。PA算法只需要设定输出最好的η个规则,就可以挖掘出η个预测精度最大的规则。PA算法主要通过不断增大规则前项支持度和观察置信度来逐步逼近获得最大预测精度Ε,从而返回η个最好的关联规则。通过前项支持度和规则的置信度来量化期望预测精度Ε,同时支持度可以修正规则的置信度。这样综合考虑了支持度和置信度对关联规则的预测精度的影响。数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。关联规则挖掘过程主要包含两个阶段第一阶段必须先从数据集合中找出所有的频繁项集,第二阶段再由这些频繁项集中产生关联规则。Hadoop不仅仅是一个用于存储的分布式文件系统,而且还是一个分布式系统基础框架,用户可以在不了解分布式底模块细节的情况下,开发分布式程序。Hadoop充分利用集群的威力进行高速运算和存储,实现了一个分布式文件系统(Hadoop Distributed FileSystem),简称HDFS。HDFS存储hadoop集群中所有存储节点上的文件。HDFS有着高容错性的特点,并且能够设计部署在低廉的硬件上,它以流式数据访问模式来存储超大文件。而且Hadoop提供高传输率来访问应用程序的数据。因此,Hadoop适合那些有着超大数据集的应用程序。Hadoop由许多元素构成,其最底模块部是分布式文件系统,该分布式文件系统存储Hadoop集群中所有存储节点上的文件。该分布式文件系统的上一层是编程模型MapReduce。编程模型MapReduce的优势在于处理大规模数据,用于对大规模数据集(大于ITB)的并行运算。编程模型MapReduce的设计目标是方便编程人员在不熟悉分布式并行编程的情况下,将自己的程序运行在分布式系统上。编程模型MapReduce实现了 map函数和reduce函数的功能。map函数把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集。而reduce函数是把从两个或更多个map函数中通过多个线程、进程或者独立系统并行执行处理的结果集进行分类和归纳。map函数和reduce函数可能会并行运行,即使不是在同一个系统的同一时刻也可能会并行运行。在关联规则挖掘方面,现有技术方案都是基于单机形式设计。基于单机形式实现 的关联规则挖掘算法PA在针对小数据量的情况(比如十万级)能够比较好的进行规则挖掘。但是,现有技术仅用于实验室,很难应用到企业级业务,特别是互联网、移动互联网行业,业务数据量每天动辄千万级甚至亿级,这些现有技术工具已经显得无能为力。在大数据量情况下,单机版的关联规则挖掘算法PA需要花费大量时间计算规则的前项,甚至有时根本计算不出来。中国专利公开号CNlO 1042698,公开日是2007年09月26日,名称为“一种关联规则及元规则的综合挖掘方法”的方案中公开了一种关联规则及元规则的综合挖掘方法,包括如下步骤,将时序数据库按照时间片断划分成若干部分;依次对各个部分分别扫描,并在各个部分分别形成频繁项集;再次分别扫描各部分,形成频繁项集超结构;采用递归分解法形成完全超结构;挖掘超结构形成关联规则及元规则。不足之处是,这种关联规则及元规则的综合挖掘方法是基于单机形式设计来实现的关联规则挖掘算法PA,该方法很难应用到业务数据量每天动辄千万级甚至亿级的企业级业务。
技术实现思路
本专利技术是为了针对现有技术无法处理海量数据挖掘,计算效率非常慢以及规则挖掘结果不够全面的这些不足,结合PA关联算法和Hadoop分布式计算框架,提供一种能够处理海量数据挖掘,计算效率非常快,能够较为全面的快速高效的从海量业务数据中挖掘出用于业务支撑的关联规则结果的一种支持分布式计算的关联规则挖掘算法实现方法及装置。为了实现上述目的,本专利技术提供一种支持分布式计算的关联规则挖掘算法实现方法,该方法利用分布式文件系统Hadoop的编程模型MapReduce对关联规则挖掘算法PA进行map函数阶段和reduce函数阶段的两阶段分解,其分解步骤为 步骤一配置作业调度器Recomjob ; 步骤二 用先验概率映射模块PriorMap读取数据集,并通过map函数将数据集的数据行转换为键值对; 步骤三用先验概率约简模块PriorReduce读取步骤二处理的键值对,并通过reduce函数随机生成包含i项集的排序规则ΤορΝ,同时计算置信度的先验概率分布值; 步骤四再用规则映射模块ParMap读取同一个数据集,并再次通过map函数将数据集的数据行转换为键值对; 步骤五再用规则约简模块ParReduce读取步骤四处理的键值对和步骤三的先验概率分布值,并通过reduce函数计算出排序规则TopN的预测精度值。本方案借助Hadoop分布式文件系统框架来对大数据进行处理,通过编程模型MapReduce,对关联规则挖掘算法PA进行map函数阶段和reduce函数阶段的两阶段分解,大数据被分散到计算集群的多台机器,计算过程分解成大量小的作业任务,实现关联规则挖掘算法PA快速高效的分布式并行计算。从而能够处理海量数据挖掘,计算效率非常快,能够较为全面的快速高效的从海量业务数据中挖掘出用于业务支撑的关联规则结果。相应地,本专利技术提供一种支持分布式计算的关联规则挖掘算法实现装置,包括 业务单元,用于根据业务需要,读取存储单元中的数据和算法单元中的预测精度值,并把数据和预测精度值展示在业务中; 存储单元,用于存本文档来自技高网
...

【技术保护点】
一种支持分布式计算的关联规则挖掘算法实现方法,其特征在于,用分布式文件系统HDFS的编程模型MapReduce对关联规则挖掘算法PA进行map函数阶段和reduce函数阶段的两阶段分解,其分解步骤为:步骤一:配置作业调度器Recomjob;步骤二:用先验概率映射模块PriorMap读取数据集,并通过map函数将数据集的数据行转换为键值对;步骤三:用先验概率约简模块PriorReduce读取步骤二处理的键值对,并通过reduce函数随机生成包含i项集的排序规则TopN,同时计算置信度的先验概率分布值;步骤四:再用规则映射模块ParMap读取同一个数据集,并再次通过map函数将数据集的数据行转换为键值对;步骤五:再用规则约简模块ParReduce读取步骤四处理的键值对和步骤三的先验概率分布值,并通过reduce函数计算出排序规则TopN的预测精度值。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨进张金伟
申请(专利权)人:杭州斯凯网络科技有限公司
类型:发明
国别省市:

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

1