CN105589907A - 数据关联规则的挖掘 - Google Patents

数据关联规则的挖掘 Download PDF

Info

Publication number
CN105589907A
CN105589907A CN201410838853.2A CN201410838853A CN105589907A CN 105589907 A CN105589907 A CN 105589907A CN 201410838853 A CN201410838853 A CN 201410838853A CN 105589907 A CN105589907 A CN 105589907A
Authority
CN
China
Prior art keywords
item
collection
data
item collection
frequent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410838853.2A
Other languages
English (en)
Inventor
杨鸿超
王骏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201410838853.2A priority Critical patent/CN105589907A/zh
Publication of CN105589907A publication Critical patent/CN105589907A/zh
Pending legal-status Critical Current

Links

Abstract

本发明涉及数据关联规则的挖掘,属于数据挖掘技术领域。该数据关联规则的挖掘方法包括数据编号步骤、数据分片步骤、数据分发步骤、挖掘频繁项集步骤和关联规则输出步骤;其中数据编号步骤为每个项集对应分配唯一的项集编号,以至于建立对每个所述项集的索引;挖掘频繁项集步骤,在挖掘k-频繁项集的过程中,每次在扫面当前数据片时,无需扫描数据片内的全部项集,只需要扫描相应(k-n)-项集和n-项集记录中所指示的项集。本发明的数据关联规则的挖掘方法的效率高,适用面广,尤其适合于面向大数据的关联规则的挖掘。

Description

数据关联规则的挖掘
技术领域
本发明属于数据挖掘技术领域,涉及数据关联规则的高效挖掘。
背景技术
目前,随着信息数据处理需求的日益增长以及不同领域的业务种类的日益丰富,海量数据的处理(例如金融交易数据的处理)变得越来越重要,其中数据挖掘就是数据处理的重要方面。
其中,数据关联规则(AssociationRule)的挖掘是机器学习与数据挖掘领域的常见应用场景与知识发现方法,其目的是发现大量的数据项之间存在的值得关注的关联或相关关系,从而可以从数据中提炼出有关联的对象组合。
当前,已有成熟的算法对应解决关联规则挖掘问题。但是传统的关联规则挖掘解决方案在应对于小规模数据集合时,有较好的表现,而当数据规模扩大后,例如对于面向海量数据或大数据进行数据关联规则挖掘时,这些方法就很难给出正确结果。而使得传统方法更进一步陷入困局的是,对于大部分关联规则挖掘应用场景,只有在目标数据量十分巨大的时候,才能挖掘出有价值的关联规则,但是传统方法又无法处理如此大的数据量,因此,对于关联规则挖掘问题,传统的关联规则挖掘方法的现状是存在却实用价值不高。
针对传统关联规则挖掘方法的问题,也提出了一些基于大规模数据量的改进方法,例如,采用分布式计算框架和/或增加投入机器的数量。但是,这些改进一方面以增加机器的投入量,即增加经济成本为代价,另外一方面也并没有使得关联规则的挖掘效率提高明显,尤其在应用于大数据的关联规则挖掘时。
专利申请号为CN200910077996.5、名称为“一种关联规则挖掘方法及其系统”的专利也着重针对大规模数据量下的关联规则挖掘而提出的,其该方法通过分布式计算框架来解决传统的关联规则挖掘在应用于大规模数据时的效率低下的问题,但是,该专利的关联规则的挖掘方法存在以下问题:(1)解决方案依赖于分布式环境的提供;(2)在挖掘关联规则时通过频繁项集的出现次数来记录频繁项集,导致其在扫面数据时必须全盘扫描,仍然存在效率低下的问题。
专利申请号为CN200910091865.2、名称为“数据关联规则挖掘实现方法与系统”的专利中揭示的是基于FP-growth算法进行关联规则的挖掘,并不能解决面向大数据的关联规则的挖掘的效率问题。
专利申请号为CN201210320078.2、名称为“基于关联规则提取的海量数据处理系统、设备及方法”的专利中,涉及的是如何借助关联规则来解决数据处理问题,其重点并不是关联规则如何高效挖掘的问题。
发明内容
本发明的目的在于之一,提高数据关联规则的挖掘效率。
本发明的又一目的在于,使数据关联规则的挖掘并不依赖于分布式计算框架下完成。
为实现以上目的或者其他目的,本发明提供以下技术方案。
按照本发明的一方面,提供一种数据关联规则的挖掘方法,其特征在于,包括:
  数据编号步骤:对于基本以项集组成的数据,为每个所述项集对应分配唯一的项集编号,以至于建立对每个所述项集的索引;
  数据分片步骤:按照所述项集为单元将所述数据划分为若干个数据片;
  数据分发步骤;
  挖掘频繁项集步骤,其包括:
    k-项集扫描子步骤:将任意(k-n)-项集与任意n-项集进行两两组合得到包括相应k个k-项组合的k-项集,在每个数据片中扫描组合的所述(k-n)-项集和所述n-项集分别对应的项集编号集合,得到所述(k-n)-项集和所述n-项集对应的项集编号集合的交集,并将该交集所指示的项集编号记录为该k-项集的项集编号集合,从而对应每个所述k-项集被记录有“k个k-项组合—项集编号集合”,其中,k为大于或等于2的整数,n为大于或等于1且小于k的整数;
    k-项集归纳子步骤:所述数据的所有数据片被扫描结束后,合并每个k-项集在所有数据片中的对应的项集编号集合,基于该合并的项集编号集合计算每个k-项集的支持度;以及
    k-频繁项集确定子步骤:基于所述k-项集的支持度判断该k-项集是否为k-频繁项集,并在判断为k-频繁项集时对其进行存储;
  关联规则输出步骤:计算所述k-频繁项集的置信度以得到关联规则。
其中,所述挖掘频繁项集步骤还包括:
  1-项集扫描子步骤:扫描每个所述数据片并记录每个项对应所在的项集的所有项集编号,从而对应每个项的1-项集被记录有“1-项—项集编号集合”;
  1-项集归纳子步骤:所述数据的所有数据片被扫描结束后,合并每个1-项集在所有数据片中的对应的项集编号集合,基于该合并的项集编号集合计算每个1-项集的支持度;以及
  1-频繁项集确定子步骤:基于所述1-项集的支持度判断该1-项集是否为1-频繁项集,并在判断为1-频繁项集时对其进行存储。
其中,在k=2时,所述挖掘频繁项集步骤包括:
  2-项集扫描子步骤:将任意两个所述1-项集进行组合得到包括相应两个2-项组合的2-项集,在每个数据片中扫描组合的两个所述1-项项集对应的项集编号集合,得到两个所述1-项项集对应的项集编号集合的交集,并将该交集所指示的项集编号记录为该2-项集的项集编号集合,从而对应每个所述2-项集被记录有“两个2-项组合—项集编号集合”;
  2-项集归纳子步骤:所述数据的所有数据片被扫描结束后,合并每个2-项集在所有数据片中的对应的项集编号集合,基于该合并的项集编号集合计算每个2-项集的支持度;以及
  2-频繁项集确定子步骤:基于所述2-项集的支持度判断该2-项集是否为2-频繁项集,并在判断为2-频繁项集时对其进行存储。
在一实例中,所述“k个k-项组合—项集编号集合”被记录为以下键值对的形式:
      <{item1,item2,…,itemk},{idk,idk,…,idk}>
  其中,item1,item2,…,itemk表示k个k-项,idk,idk,…,idk表示对应的项集编号。
优选地,每个所述数据片在所述挖掘频繁项集步骤和所述关联规则输出步骤中能够被一个运算单元单独处理。
优选地,在所述数据分发步骤中,每个所述数据片被分发至不同的运算单元。
可选地,在所述数据分发步骤中,采用多机分布式并行数据分发。
可选地,在所述数据分发步骤中,采用单机分发数据分发。
其中,所述单机分发可以为单机多线程并行数据分发,或者所述单机分发可以为单机单线程串行数据分发。
优选地,所述挖掘方法应用大数据的关联规则的挖掘。
按照本发明的又一方面,提供一种数据关联规则的挖掘设备,包括:
  数据编号部件,用于对于基本以项集组成的数据,为每个所述项集对应分配唯一的项集编号,以至于建立对每个所述项集的索引;
  数据分片部件,用于按照所述项集为单元将所述数据划分为若干个数据片;
  数据分发部件;
  挖掘频繁项集部件,其被配置为执行:
    k-项集扫描:将任意(k-n)-项集与任意n-项集进行两两组合得到包括相应k个k-项组合的k-项集,在每个数据片中扫描组合的所述(k-n)-项集和所述n-项集分别对应的项集编号集合,得到所述(k-n)-项集和所述n-项集对应的项集编号集合的交集,并将该交集所指示的项集编号记录为该k-项集的项集编号集合,从而对应每个所述k-项集被记录有“k个k-项组合—项集编号集合”,其中,k为大于或等于2的整数,n为大于或等于1且小于k的整数;
    k-项集归纳:所述数据的所有数据片被扫描结束后,合并每个k-项集在所有数据片中的对应的项集编号集合,基于该合并的项集编号集合计算每个k-项集的支持度;以及
    k-频繁项集确定:基于所述k-项集的支持度判断该k-项集是否为k-频繁项集,并在判断为k-频繁项集时对其进行存储;
  关联规则输出部件,其用于计算所述k-频繁项集的置信度以得到关联规则。
在一实施例挖掘设备中,所述挖掘频繁项集部件还被配置为执行:
  1-项集扫描:扫描每个所述数据片并记录每个项对应所在的项集的所有项集编号,从而对应每个项的1-项集被记录有“1-项—项集编号集合”;
  1-项集归纳:所述数据的所有数据片被扫描结束后,合并每个1-项集在所有数据片中的对应的项集编号集合,基于该合并的项集编号集合计算每个1-项集的支持度;以及
  1-频繁项集确定:基于所述1-项集的支持度判断该1-项集是否为1-频繁项集,并在判断为1-频繁项集时对其进行存储。
优选地,所述数据分发部件被配置为将每个所述数据片被分发至不同的运算单元。
可选地,所述数据分发部件被配置为采用多机分布式并行数据分发。
可选地,所述数据分发部件被配置为采用单机多线程并行数据分发。
可选地,所述数据分发部件被配置为采用单机单线程串行数据分发。
本发明的数据关联规则的挖掘中,一方面,数据分片可以将大数据变为小规模数据的数据片,并且这样的数据片既可以被串行处理又可以被并行处理,可以充分利用分布式计算集群的优势,但又不只是依赖于分布式计算集群;另一方面,不但对每个项集进行项集编号,而且保存挖掘过程中关联规则和项集的对应关系,这加快了数据挖掘过程中的优化和搜索速度,使得关联规则挖掘的效率得以被大幅度提升。因此,本发明的数据关联规则的挖掘效率高,尤其适合于面向大数据的关联规则的挖掘,并且可以适用于各种计算框架的数据处理物理设备,既方便借力于计算资源来更好提高效率却又不被计算设备资源所限制其应用。
附图说明
从结合附图的以下详细说明中,将会使本发明的上述和其他目的及优点更加完整清楚,其中,相同或相似的要素采用相同的标号表示。
图1是按照本发明一实施例的数据关联规则的挖掘方法的流程示意图。
具体实施方式
下面介绍的是本发明的多个可能实施例中的一些,旨在提供对本发明的基本了解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。容易理解,根据本发明的技术方案,在不变更本发明的实质精神下,本领域的一般技术人员可以提出可相互替换的其他实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
在本文中,包含k个项(item)的项集称为k-项集,其中k为大于或等于2的整数,k-项集中所包括的每个项称为k-项;通过计算k-项集的支持度并比对其支持度是否大于或等于相应的支持度阈值,来确定该k-项集是否为k-频繁项集。其中,支持度阈值是可以根据具体情况来设定的,k值大小不同的时,其对应的支持度阈值可以相同,也可以不相同。
图1所示为按照本发明一实施例的数据关联规则的挖掘方法的流程示意图。该挖掘方法主要包括数据部署和关联规则挖掘两大部分。其中,数据部署主要包括如图1所示的数据编号步骤S110、数据分片步骤S210步骤和数据分发步骤S310,关联规则挖掘主要包括如图1所示的步骤S411至步骤S510,其中,数据部署部分可以在一处理单元中完成,关联规则挖掘部分可以在一个或多个运算单元中完成。
具体而言,在该实施例中,数据部署工作的每一步的操作内容如下所述。
首先,数据编号步骤S110。
关联规则挖掘所挖掘的基本数据(也即挖掘所针对的数据)通常是以项集组成的数据,每个项集组成一条数据记录,每个项集所包括的项的个数不是限制性的,例如k-项集、k大于或等于2。在该实施例中,数据编号的具体工作是为每一个输入的项集分配一个唯一的项集编号(id),该项集编号可以为每一个项集建立索引,从而通过项集编号可以快速和准确地找到相应的项集,其在提高关联规则的挖掘效率方面所产生的突出作用将在其后步骤的描述中理解到。
进一步,数据分片步骤S210。
根据输入数据的总的大小和实际的物理处理能力,将编号后的数据分为若干个数据片,优选地,每个数据片都可以被一个独立的运算单元所处理,并且,数据中的每一个项集都会被分在一个特定的数据片中,而不会被分割到不同的数据片中。每个数据分片所包括的项集数不是限制性的。
进一步,数据分发步骤S310。
数据分发的工作可以将不同的数据片分发到不同的运算单元,在本发明实施例中,数据分发既可以选择多机分发也可以选择单机分发,多机分发是指多机分布式并行数据分发,而单机分发主要是指单机多线程并行数据分发和单机单线程串行数据分发。其中,多机分布式并行数据分发是将每一个数据片分发到分布式集群上的不同机器上,每一台机器都处理数据规模相当的数据片,如果某台机器所处理的数据片超过了其运算能力,那么该台机器就会将所分得的数据片在本机再进行一次单机分发;单机多线程并行数据分发是将数据片分发到本机的不同的任务处理线程进行并行处理;单机单线程串行数据分发是将数据片以任意顺序依次分发到本机的任务处理线程。
多机分布式并行数据分发、单机多线程并行数据分发、单机单线程串行数据分发这几种数据分发策略中的任意一种都是完备的,在实际分发时根据实际的物理设备情况可以选择其中的一种或者几种作为分发策略。在物理设备具备分布式处理能力时,优先选择多机分布式并行数据分发,在没有可用的分布式计算集群、但有性能较强的单机计算设备时,可选择单机多线程并行数据分发,在只有普通的或性能较差的计算设备时,可以选择单机单线程串行数据分发。这样,本发明的关联规则的挖掘方法所适用的数据处理物理设备更广泛,突破专利申请号为CN200910077996.5的方案中必须依赖于分布式环境的缺点,可以更好借力于计算资源来更好提高效率却又不单纯依赖计算设备资源来提高效率。
关联规则挖掘部分的主要作用就是从以上部署的数据中挖掘出有用的或达到一定重要程度的关联规则,需要说明的是,在将不同的数据片分发到不同的运算单元时,在每一个计算单元中所执行的关联规则挖掘方法大致相同,并且可以并行地进行,当然,在单机单线程串行处理时(对应单机单线程串行数据分发),针对每个数据片,关联规则挖掘部分可以重复执行。
关联规则挖掘部分包括挖掘频繁项集步骤和关联规则输出步骤S510,其中,挖掘频繁项集步骤可以分为以下若干个子步骤:1-项集扫描S411、1-项集项归纳S412、1-频繁项集项确定S413、2-项集扫描S421、2-项集项归纳S422、2-频繁项集项确定S423、…、k-项集扫描S432、k-项集项归纳S433、k-频繁项集项确定S434。以上子步骤S432至子步骤S434重复步子骤S411至S413或者子步骤S421至S423的原理,直到所有频繁项集被确定并存储。以下对关联规则挖掘部分的各个步骤进行详细说明。
进一步,如图1所示,1-项集扫描子步骤S411。
其中1-项集是指仅包括一个项的项集,其仅包括的一个项在本文中表述为1-项。在该子步骤中,运算单元扫描每个数据片,并记录每一个项所出现在的项集的项集编号(id),从而对应每个项的1-项集被记录有“1-项—项集编号集合”,在该实施例中,“1-项—项集编号集合”的记录方式以键值对的形式呈现,键为项的名称item,值为该项所出现在的项集编号的集合,例如,<{item},{id,id,…,id}>。
进一步,1-项集归纳子步骤S412。在被挖掘的数据对应的所有的数据片都被扫描完成后,对于上一步所记录的键值对中的每一个键,也即对于每个项或每个1-项项集,合并其在各个数据片上的项集编号集合,通过合并后的项集编号集合的大小,来计算相应1-项集的支持度。
进一步,1-频繁项集确定子步骤S413,基于1-项集的支持度判断该1-项集是否为1-频繁项集,具体地,1-项集的支持度与预先所设定的支持度阈值进行比较,在其支持度大于或等于该支持度阈值时,判断该1-项集为1-频繁项集,该1-频繁项集被保留,并进行存储。
进一步,2-项集扫描子步骤S421。将以上步骤S413得到的1-频繁项中的项进行任意地两两组合,得到包括相应两个2-项组合{item1,item2}的2-项集,在每个数据片中扫描组合的两个1-项项集对应的项集编号集合{id1,id1,…,id1}和{id2,id2,…,id2},得到两个1-项项集对应的项集编号集合的交集{id2,id2,…,id2},其中该id2是来自两个1-项项集对应的项集编号集合{id1,id1,…,id1}和{id2,id2,…,id2},并将该交集所指示的项集编号记录为该2-项集的项集编号集合,该2-项集可以被记录为以下键值对形式:
<{item1,item2},{id2,id2,…,id2}>
其中,{item1,item2}为两个2-项组合的名称,为键值对的“键”,{id2,id2,…,id2}为对应的项集编号集合,为键值对的“值”;从而对应每个2-项集被记录有“两个2-项组合—项集编号集合”。
因此,该扫描步骤中,并不需要对整个数据片进行逐项扫描,而只是扫描对应的两个1-频繁项的键值对<{item1},{id1,id1,…,id1}>和<{item2},{id2,id2,…,id2}>中的项集编号,得到{id1,id1,…,id1}和{id2,id2,…,id2}的交集即可。这样,大大提高扫描的效率。
进一步,2-项集归纳子步骤S422。在S21扫描完成后,对于上一步所记录的键值对中的每一个键,也即对于每个2-项项集,合并其在各个数据片上的项集编号集合,通过合并后的项集编号集合的大小,来计算相应2-项集的支持度。
进一步,2-频繁项集确定子步骤S423,基于2-项集的支持度判断该2-项集是否为2-频繁项集,具体地,2-项集的支持度与预先所设定的支持度阈值进行比较,在其支持度大于或等于该支持度阈值时,判断该2-项集为2-频繁项集,该2-频繁项集被保留,并进行存储。
对于项数更多的项集,随着项数的依次增大,可以采用类似于以上子步骤S421至S423的原理,以此类推地进行。以k≥3为例,进行说明。
如图1所示,进一步k-项集扫描子步骤S432。在该实施例中,将任意(k-n)-项集与任意n-项集进行两两组合得到包括相应k个k-项组合的k-项集,例如,k个k-项组合的名称为{item1,item2……itemk-1,itemk},其中,n为大于或等于1且小于k的整数,例如,n=1时,将(k-1)-项集中的(k-1)-项与1-项集中的1-项进行两两组合;然后,在每个数据片中扫描组合的(k-n)-项集和n-项集分别对应的项集编号集合,得到(k-n)-项集和n-项集对应的项集编号集合的交集,并将该交集所指示的项集编号记录为该k-项集的项集编号集合{idk,idk,…,idk},该k-项集可以被记录为以下键值对形式:
         <{item1,item2,…,itemk},{idk,idk,…,idk}>
其中,{item1,item2,…,itemk}为k个k-项组合的名称,构成键值对的“键”,{idk,idk,…,idk}为对应的项集编号集合,构成键值对的“值”;从而对应每个k-项集被记录有“k个k-项组合—项集编号集合”。
进一步,k-项集归纳子步骤S433。在该实施例中,被挖掘的数据的所有数据片被扫描结束后,合并每个k-项集在所有数据片中的对应的项集编号集合{idk,idk,…,idk},基于该合并的项集编号集合计算每个k-项集的支持度。
进一步,k-频繁项集确定子步骤S434,在该实施例中,基于k-项集的支持度判断该k-项集是否为k-频繁项集,具体地,k-项集的支持度与预先所设定的支持度阈值进行比较,在其支持度大于或等于该支持度阈值时,判断该k-项集为k-频繁项集,该k-频繁项集被保留,并进行存储。
这样,完成了k-频繁项集的确定,进入子步骤S435,判断k≥t是否称为,判断为“否”的情况下,进入子步骤S436,k=k+1,进而返回至子步骤S432,依次执行以上子步骤S432至S434过程。其中,t为大于或等于2的整数,其具体大小可以根据需要挖掘的数据所包括的各种项集的最大项数来确定。
在子步骤S435判断为“否”的情况下,表示所有k-频繁项集的确定已经完成,此时进入关联规则输出步骤S510,在该步骤中,根据所存储的1-频繁项集、2-频繁项集、…、k-频繁项集,计算每一个频繁项的置信度,如果该置信度大于或等于预先设定的置信度阈值,即为最终挖掘得到的关联规则,将其输出。在该步骤中,不同频繁项集所比较的置信度阈值可以是相同或部分相同的,也可以是完全不相同的。
至此,本发明实施例的数据关联规则的挖掘方法基本结束。
在本发明实施例的关联规则的挖掘方法中,在数据部署阶段中的数据编号操作为后续挖掘过程奠定了效率基础,通过项集编号实现对项集的索引,大大提高了数据扫描的速度;在挖掘k-频繁项集的过程中,每次在扫面当前数据片时,无需扫描数据片内的全部项集,只需要扫描相应(k-n)-项集和n-项集记录中所指示的项集,而这部分项集的数量通常是非常少,很多时候只占总数据量的百分之一甚至千分之一,因此这样结合项集编号进行扫描的方法可以将挖掘效率提升了成百上千倍,在挖掘效率方法具有明显的提升,有利于大数据的关联规则挖掘处理。
并且,数据分片操作进一步解决了大数据难处理的问题,将大数据分割为众多小的数据片,每个计算单元只需要关注当前被分到的数据片,而不需要对全局数据进行计算,提升了计算效率。
尤其地,本发明在处理众多数据片的分发策略时提供了多种可适用的数据分发的方法,这些数据分发方法的提供可以使得在计算资源丰富的时候资源可以得到充分的利用,在计算资源较为匮乏的时候,挖掘任务同样可以得到顺利推进,这些数据分发策略使得问题的解决可以更好借力于计算资源却又不单纯依赖计算资源。
因此,本发明实施例的数据关联规则的挖掘方法非常适用于面向大数据,能相对高效地从大数据中高效挖掘出关联规则。但是,应当理解到,本发明实施例的数据关联规则的挖掘方法同样也适用于数据量相对较小的关联规则的挖掘。
将理解,以上流程图和/或框图以及相应的流程图和/或框图说明可以由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以构成机器,以便由计算机或其他可编程数据处理设备的处理器执行的这些指令创建用于实施这些流程图和/或框图的一个或多个框中指定的功能/操作的部件。
并且,可以将这些计算机程序指令存储在计算机可读存储器中,这些指令可以指示计算机或其他可编程处理器以特定方式实现功能,以便存储在计算机可读存储器中的这些指令构成包含实施流程图和/或框图的一个或多个框中指定的功能/操作的指令部件的制作产品。
并且,可以将这些计算机程序指令加载到计算机或其他可编程数据处理器上以使一系列的操作步骤在计算机或其他可编程处理器上执行,以便构成计算机实现的进程,以使计算机或其他可编程数据处理器上执行的这些指令提供用于实施此流程图和/或框图的一个或多个框中指定的功能或操作的步骤。还应该注意在一些备选实现中,框中所示的功能/操作可以不按流程图所示的次序来发生。例如,依次示出的两个框实际可以基本同时地执行或这些框有时可以按逆序执行,具体取决于所涉及的功能/操作。
以上例子主要说明了本发明的数据关联规则的挖掘,尤其涉及面向大数据的数据关联规则的挖掘。尽管只对其中一些本发明的实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。

Claims (17)

1.一种数据关联规则的挖掘方法,其特征在于,包括:
  数据编号步骤:对于基本以项集组成的数据,为每个所述项集对应分配唯一的项集编号,以至于建立对每个所述项集的索引;
  数据分片步骤:按照所述项集为单元将所述数据划分为若干个数据片;
数据分发步骤;
  挖掘频繁项集步骤,其包括:
    k-项集扫描子步骤:将任意(k-n)-项集与任意n-项集进行两两组合得到包括相应k个k-项组合的k-项集,在每个数据片中扫描组合的所述(k-n)-项集和所述n-项集分别对应的项集编号集合,得到所述(k-n)-项集和所述n-项集对应的项集编号集合的交集,并将该交集所指示的项集编号记录为该k-项集的项集编号集合,从而对应每个所述k-项集被记录有“k个k-项组合—项集编号集合”,其中,k为大于或等于2的整数,n为大于或等于1且小于k的整数;
    k-项集归纳子步骤:所述数据的所有数据片被扫描结束后,合并每个k-项集在所有数据片中的对应的项集编号集合,基于该合并的项集编号集合计算每个k-项集的支持度;以及
    k-频繁项集确定子步骤:基于所述k-项集的支持度判断该k-项集是否为k-频繁项集,并在判断为k-频繁项集时对其进行存储;
  关联规则输出步骤:计算所述k-频繁项集的置信度以得到关联规则。
2.如权利要求1所述的挖掘方法,其特征在于,所述挖掘频繁项集步骤还包括:
  1-项集扫描子步骤:扫描每个所述数据片并记录每个项对应所在的项集的所有项集编号,从而对应每个项的1-项集被记录有“1-项—项集编号集合”;
  1-项集归纳子步骤:所述数据的所有数据片被扫描结束后,合并每个1-项集在所有数据片中的对应的项集编号集合,基于该合并的项集编号集合计算每个1-项集的支持度;以及
  1-频繁项集确定子步骤:基于所述1-项集的支持度判断该1-项集是否为1-频繁项集,并在判断为1-频繁项集时对其进行存储。
3.如权利要求2所述的挖掘方法,其特征在于,在k=2时,所述挖掘频繁项集步骤包括:
  2-项集扫描子步骤:将任意两个所述1-项集进行组合得到包括相应两个2-项组合的2-项集,在每个数据片中扫描组合的两个所述1-项项集对应的项集编号集合,得到两个所述1-项项集对应的项集编号集合的交集,并将该交集所指示的项集编号记录为该2-项集的项集编号集合,从而对应每个所述2-项集被记录有“两个2-项组合—项集编号集合”;
  2-项集归纳子步骤:所述数据的所有数据片被扫描结束后,合并每个2-项集在所有数据片中的对应的项集编号集合,基于该合并的项集编号集合计算每个2-项集的支持度;以及
2-频繁项集确定子步骤:基于所述2-项集的支持度判断该2-项集是否为2-频繁项集,并在判断为2-频繁项集时对其进行存储。
4.如权利要求1所述的挖掘方法,其特征在于,所述“k个k-项组合—项集编号集合”被记录为以下键值对的形式:
        <{item1,item2,…,itemk},{idk,idk,…,idk}>
  其中,item1,item2,…,itemk表示k个k-项,idk,idk,…,idk表示对应的项集编号。
5.如权利要求1所述的挖掘方法,其特征在于,每个所述数据片在所述挖掘频繁项集步骤和所述关联规则输出步骤中能够被一个运算单元单独处理。
6.如权利要求5所述的挖掘方法,其特征在于,在所述数据分发步骤中,每个所述数据片被分发至不同的运算单元。
7.如权利要求1所述的挖掘方法,其特征在于,在所述数据分发步骤中,采用多机分布式并行数据分发。
8.如权利要求1所述的挖掘方法,其特征在于,在所述数据分发步骤中,采用单机分发数据分发。
9.如权利要求8所述的挖掘方法,其特征在于,所述单机分发为单机多线程并行数据分发。
10.如权利要求8所述的挖掘方法,其特征在于,所述单机分发为单机单线程串行数据分发。
11.如权利要求1所述的挖掘方法,其特征在于,所述挖掘方法应用大数据的关联规则的挖掘。
12.一种数据关联规则的挖掘设备,其特征在于,包括:
  数据编号部件,用于对于基本以项集组成的数据,为每个所述项集对应分配唯一的项集编号,以至于建立对每个所述项集的索引;
  数据分片部件,用于按照所述项集为单元将所述数据划分为若干个数据片;
  数据分发部件;
  挖掘频繁项集部件,其被配置为执行:
    k-项集扫描:将任意(k-n)-项集与任意n-项集进行两两组合得到包括相应k个k-项组合的k-项集,在每个数据片中扫描组合的所述(k-n)-项集和所述n-项集分别对应的项集编号集合,得到所述(k-n)-项集和所述n-项集对应的项集编号集合的交集,并将该交集所指示的项集编号记录为该k-项集的项集编号集合,从而对应每个所述k-项集被记录有“k个k-项组合—项集编号集合”,其中,k为大于或等于2的整数,n为大于或等于1且小于k的整数;
    k-项集归纳:所述数据的所有数据片被扫描结束后,合并每个k-项集在所有数据片中的对应的项集编号集合,基于该合并的项集编号集合计算每个k-项集的支持度;以及
    k-频繁项集确定:基于所述k-项集的支持度判断该k-项集是否为k-频繁项集,并在判断为k-频繁项集时对其进行存储;
  关联规则输出部件,其用于计算所述k-频繁项集的置信度以得到关联规则。
13.如权利要求12所述的挖掘设备,其特征在于,所述挖掘频繁项集部件还被配置为执行:
  1-项集扫描:扫描每个所述数据片并记录每个项对应所在的项集的所有项集编号,从而对应每个项的1-项集被记录有“1-项—项集编号集合”;
  1-项集归纳:所述数据的所有数据片被扫描结束后,合并每个1-项集在所有数据片中的对应的项集编号集合,基于该合并的项集编号集合计算每个1-项集的支持度;以及
  1-频繁项集确定:基于所述1-项集的支持度判断该1-项集是否为1-频繁项集,并在判断为1-频繁项集时对其进行存储。
14.如权利要求12所述的挖掘设备,其特征在于,所述数据分发部件被配置为将每个所述数据片被分发至不同的运算单元。
15.如权利要求12所述的挖掘设备,其特征在于,所述数据分发部件被配置为采用多机分布式并行数据分发。
16.如权利要求12所述的挖掘设备,其特征在于,所述数据分发部件被配置为采用单机多线程并行数据分发。
17.如权利要求12所述的挖掘设备,其特征在于,所述数据分发部件被配置为采用单机单线程串行数据分发。
CN201410838853.2A 2014-12-30 2014-12-30 数据关联规则的挖掘 Pending CN105589907A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410838853.2A CN105589907A (zh) 2014-12-30 2014-12-30 数据关联规则的挖掘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410838853.2A CN105589907A (zh) 2014-12-30 2014-12-30 数据关联规则的挖掘

Publications (1)

Publication Number Publication Date
CN105589907A true CN105589907A (zh) 2016-05-18

Family

ID=55929489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410838853.2A Pending CN105589907A (zh) 2014-12-30 2014-12-30 数据关联规则的挖掘

Country Status (1)

Country Link
CN (1) CN105589907A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937447A (zh) * 2010-06-07 2011-01-05 华为技术有限公司 一种告警关联规则挖掘方法、规则挖掘引擎及系统
CN103020256A (zh) * 2012-12-21 2013-04-03 电子科技大学 一种大规模数据的关联规则挖掘方法
CN103353864A (zh) * 2012-11-20 2013-10-16 深圳市华傲数据技术有限公司 一种数据库近似字典规则的挖掘方法、系统及数据库终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937447A (zh) * 2010-06-07 2011-01-05 华为技术有限公司 一种告警关联规则挖掘方法、规则挖掘引擎及系统
CN103353864A (zh) * 2012-11-20 2013-10-16 深圳市华傲数据技术有限公司 一种数据库近似字典规则的挖掘方法、系统及数据库终端
CN103020256A (zh) * 2012-12-21 2013-04-03 电子科技大学 一种大规模数据的关联规则挖掘方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
付沙等: "关联规则挖掘Apriori算法的研究与改进", 《微电子学与计算机》 *
徐民鹰等: "《三网合一技术基础》", 30 June 2003, 中国国际广播出版社 *
胡胜华等: "《3S技术研究与应用广东RS&GIS学会论文集》", 31 July 2007, 广东省地图出版社 *
郝晓飞等: "Hadoop平台上Apriori算法并行化研究与实现", 《计算机与现代化》 *

Similar Documents

Publication Publication Date Title
CN103020256B (zh) 一种大规模数据的关联规则挖掘方法
CN102129425B (zh) 数据仓库中大对象集合表的访问方法及装置
CN103970848B (zh) 一种通用型互联网信息数据挖掘方法
CN107229751A (zh) 一种面向流式数据的并行增量式关联规则挖掘方法
KR101617696B1 (ko) 데이터 정규표현식의 마이닝 방법 및 장치
US8903803B1 (en) Horizontal interval-based data partitioning and indexing for large clusters
CN104834557A (zh) 一种基于Hadoop的数据分析方法
CN104331435A (zh) 一种基于Hadoop大数据平台的低影响高效率的海量数据抽取方法
CN103514274A (zh) 非关系型数据库HBase的数据迁移方法
CN106055630A (zh) 日志存储的方法及装置
TW201732655A (zh) 目標特徵資料的挖掘方法和其裝置
CN104834709B (zh) 一种基于负载均衡的并行余弦模式挖掘方法
CN104809231A (zh) 一种基于Hadoop的海量web数据挖掘方法
CN102685222B (zh) 一种用于电力系统的云存储资源管理装置
CN103984723A (zh) 一种针对增量数据对频繁项进行更新数据挖掘方法
CN104834734A (zh) 一种高效数据分析处理方法
CN105589907A (zh) 数据关联规则的挖掘
EP3528133A1 (en) Data stream join method and device
CN104965737B (zh) 更新数据的获取方法及装置
CN104834733A (zh) 一种大数据挖掘分析方法
Xian et al. Parallel gathering discovery over big trajectory data
CN104731968A (zh) 一种单机的大规模数据集的聚类挖掘方法
CN111107493B (zh) 一种移动用户位置预测方法与系统
Zitouni et al. Massively distributed environments and closed itemset mining: The DCIM approach
CN104901703A (zh) 一种整数序列快速压缩存储算法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160518

RJ01 Rejection of invention patent application after publication