CN105512322A - 频繁项集的生成方法及装置 - Google Patents
频繁项集的生成方法及装置 Download PDFInfo
- Publication number
- CN105512322A CN105512322A CN201510960773.9A CN201510960773A CN105512322A CN 105512322 A CN105512322 A CN 105512322A CN 201510960773 A CN201510960773 A CN 201510960773A CN 105512322 A CN105512322 A CN 105512322A
- Authority
- CN
- China
- Prior art keywords
- frequent
- data
- item set
- item
- frequent item
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种频繁项集的生成方法实施例,本实施例首先确定数据元个数N、频繁支持度及原始数据集,若数据元个数为1,则使用包含分组过滤规则的数据库查询语句,从数据项中,查询个数满足频繁支持度的数据项,生成一元频繁项集,若数据元个数大于1,获得一个一元频繁项集、N-1元频繁项集及N个原始数据表,使用包含分组过滤规则及关联规则的数据库查询语句,对多个数据表进行关联及分组过滤,获得满足频繁支持度的N元目标数据项,生成N元频繁项集。可见,本实施例中使用数据库查询语句表示关联分析的规则,该种基于数据库查询的方式,不需构建复杂的数据结构,运算量较小,生成效率较高。本申请还提供了一种频繁项集的生成装置。
Description
技术领域
本申请涉及数据关联分析技术领域,更具体地,是频繁项集的生成方法及装置。
背景技术
在数据分析领域中,对数据的一种分析是关联分析,以生成频繁项集。具体地,获取到原始数据集,该原始数据集中包含一组或多组数据项,通过关联分析,确定每个数据项在分组中出现的频率,若出现的频率高于一定的阈值,则表示该数据项是频繁的,可以作为频繁项集中的数据项。
目前,频繁项集的生成方法,需要在内存中构建复杂的数据结构,再通过剪枝等过程,从原始数据集中筛选出频繁项集。该种方式计算量较大,频繁项集的生成效率较低。
发明内容
有鉴于此,本申请提供了一种频繁项集的生成方法,用以解决现有的项集生成方式效率较低的技术问题。另外,本申请还提供了一种频繁项集的生成装置,用以保证所述方法在实际中的应用及实现。
为实现所述目的,本申请提供的技术方案如下:
本申请的第一方面提供了一种频繁项集的生成方法,包括:
确定待生成频繁项集的数据元个数N、频繁支持度及原始数据表;其中,所述原始数据表中包含若干组数据项;
若所述数据元个数N为1,则使用包含分组过滤规则的数据库查询语句,从所述若干组数据项中,查询所在组的个数满足所述频繁支持度的目标数据项,将包含所述目标数据项的数据表确定为一元频繁项集;
若所述数据元个数N大于1,则获得一个一元频繁项集、一个N-1元频繁项集及N个原始数据表,使用包含表关联规则及分组过滤规则的数据库查询语句,对所述一元频繁项集、N-1元频繁项集及N个原始数据表进行关联及分组过滤查询,获得所在组的个数满足所述频繁支持度的N元目标数据项,将包含所述N元目标数据项的数据表确定为N元频繁项集。
本申请的第二方面提供了一种频繁项集的生成装置,包括:
参数及原始数据表获取模块,用于确定待生成频繁项集的数据元个数N、频繁支持度及原始数据表;其中,所述原始数据表中包含若干组数据项;
一元频繁项集生成模块,用于若所述数据元个数N为1,则使用包含分组过滤规则的数据库查询语句,从所述若干组数据项中,查询所在组的个数满足所述频繁支持度的目标数据项,将包含所述目标数据项的数据表确定为一元频繁项集;
多元频繁项集生成模块,用于若所述数据元个数N大于1,则获得一个一元频繁项集、一个N-1元频繁项集及N个原始数据表,使用包含表关联规则及分组过滤规则的数据库查询语句,对所述一元频繁项集、N-1元频繁项集及N个原始数据表进行关联及分组过滤查询,获得所在组的个数满足所述频繁支持度的N元目标数据项,将包含所述N元目标数据项的数据表确定为N元频繁项集。
由以上技术方案可知,本申请提供了一种频繁项集的生成方法实施例,本实施例中,首先确定数据元个数N、频繁支持度及原始数据集,若数据元个数为1,则使用包含分组过滤规则的数据库查询语句,从若干组数据项中,查询个数满足频繁支持度的数据项,从而获得一元频繁项集,若数据元个数大于1,则首先获得一个一元频繁项集、N-1元频繁项集及N个原始数据表,并使用包含分组过滤规则及关联规则的数据库查询语句,对该多个数据表进行关联查询及分组过滤查询,获得满足频繁支持度的N元目标数据项,从而获得N元频繁项集。可见,本实施例中使用数据库查询语句表示关联分析的规则,该种基于数据库查询的项集生成方式,不需构建复杂的数据结构,运算量较小,项集生成效率较高。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的频繁项集的生成方式实施例1的流程图;
图2为本申请提供的频繁项集的生成方式实施例2的流程图;
图3为本申请提供的频繁项集的生成装置实施例1的结构示意图;
图4为本申请提供的频繁项集的生成装置实施例2的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在对本申请提供的技术方案说明之前,对几个相关名词进行说明。
项集:在关联分析中,包括0个或多个数据项的集合称为项集。
频繁支持度:或者称为支持度,用于表示数据项的频繁程度,具体计算方式为:频繁支持度=数据项在事务中出现的次数/事务总数。
频繁项集:满足最小频繁支持度的所有项集。
先验原理:如果一个项集是频繁的,则它的所有子集也一定是频繁的,反之,如果一个项集是非频繁的,则它的所有超集也一定是非频繁的。
参见图1,其示出了本申请提供的频繁项集的生成方法实施例1的流程。如图1所示,本实施例可以具体包括步骤S101~步骤S103。
步骤S101:确定待生成频繁项集的数据元个数N、频繁支持度及原始数据表;其中,原始数据表中包含若干组数据项。
可以理解的是,频繁项集的生成过程,即对原始的数据项集合进行关联分析,从而统计出符合关联规则的数据项。因此,需要首先获得用来作为关联分析的原始数据集合。原始的数据集合可以是存储在数据库中的数据表,为了便于描述,将该数据表称为原始数据表。
原始数据表中包括多个数据项,此些数据项可以具有相同或不同的标识,标识相同的数据项可以看作是一组,因此,原始数据表中可以包括一组或多组数据项。
例如,原始数据表可以如下表1所示的购物车数据表。如表1所示,面包和牛奶的订单编号为1,因此,该两个数据项属于同一组。同理分析后可知,该原始数据表中包含五个分组的数据项,每个数据项分组中分别包括两个、四个、四个、四个及四个数据项。另外,该五组数据项也可以称为五个事务数据集。
表1购物车数据表
订单编号 | 数据项 |
1 | 面包 |
1 | 牛奶 |
2 | 面包 |
2 | 尿布 |
2 | 啤酒 |
2 | 牛奶 |
3 | 牛奶 |
3 | 尿布 |
3 | 啤酒 |
3 | 可乐 |
4 | 面包 |
4 | 牛奶 |
4 | 尿布 |
4 | 啤酒 |
5 | 面包 |
5 | 牛奶 |
5 | 尿布 |
5 | 可乐 |
本实施例的目的即是对原始数据表进行关联分析,从而获得该原始数据表的频繁项集。在实施前,该频繁项集则被称为待生成频繁项集。
由以上说明可知,原始数据表中的数据项可以是一组,也可以是多组。同一数据项可以出现在不同分组中,若出现次数大于或等于一定阈值,则表示该数据项出现次数是频繁的,因此,可以将该数据项可以放入频繁项集中。此处的阈值即频繁支持度,数据项出现的次数也可以称为支持度计数。
例如,频繁支持度为0.6,表1所示的原始数据表中包含五个分组,因此,若某数据项在分组中的出现次数大于或等于3(5*0.6),则可以认为该数据项是频繁的。
在实施中,可以根据实际需求,对原始数据表进行不同方式的关联分析,从而获得不同元数的频繁项集。为了便于理解,对频繁项集的数据元个数进行说明。具体来讲,频繁项集中的数据项,可以包括一个数据元,也可以包括多个数据元。
参见表2,其是依据原始数据表即表1生成的一元频繁项集。表2包括四个数据项,分别为尿布、面包、牛奶及啤酒,这些数据项都是一元的,所以称为一元频繁项集。
表2
数据项 | 支持度计数 |
尿布 | 4 |
面包 | 4 |
牛奶 | 5 |
啤酒 | 3 |
再者,参见表3,其是依据原始数据表即表1生成的二元频繁项集。表3包括五个数据项,分别为{面包、牛奶}、{尿布、牛奶}、{面包、尿布}、{牛奶、啤酒}及{尿布、啤酒},这些数据项均包括两个数据元,所以称为二元频繁项集。同理可知,数据项包括N个数据元的频繁项集被称为N元频繁项集。
表3
数据元1 | 数据元2 | 支持度计数 |
面包 | 牛奶 | 4 |
尿布 | 牛奶 | 4 |
面包 | 尿布 | 3 |
牛奶 | 啤酒 | 3 |
尿布 | 啤酒 | 3 |
需要说明的是,在本实施例中,频繁项集的数据元个数不同,则频繁项集的生成方式也不同,因此,需要首先确定待生成频繁项集的数据项是几元的。具体的确定方式可以是,获取预设的数据元个数N值,或者,接收外部输入的参数值,参数值中包括数据元个数N。
如上,频繁支持度也是一个重要参数。因此,也需要确定出频繁支持度。具体的确定方式,也可以是获取预先设置的频繁支持度,或者,接收外部输入的参数值,参数值中包括频繁支持度。
步骤S102:若数据元个数N为1,则使用包含分组过滤规则的数据库查询语句,从若干组数据项中,查询所在组的个数满足频繁支持度的目标数据项,将包含目标数据项的数据表确定为一元频繁项集。
其中,若步骤S101确定出的数据元个数N是1,则说明需要生成一元频繁项集。
需要说明的是,本实施例使用数据库查询语句,从原始数据表中读取数据,从而生成一元频繁项集。由于一元频繁项集中的数据项是一元的,仅仅使用一张数据表即原始数据表即可。
本步骤中的数据库查询语言中包含分组过滤规则,用于对原始数据表的若干组数据项进行分组。
一种分组标准是数据项在数据表中的标识,如表1中的订单编号,按照订单编号对表1中的数据项分组后,获得五个分组。
将原始数据表中的数据项分组后,统计每个数据项在各个分组中出现的次数,换句话后,即统计每个数据项所在组的个数。然后,查找出现次数或者所在组的个数满足频繁支持度的数据项,将查找到的数据项作为目标数据项。
其中,所在组的个数满足频繁支持度,指的是所在组的个数大于或等于频繁支持度与原始数据表中的数据项的组数的乘积。
以表1为例进行说明,原始数据表中数据项的组数为5,假设频繁支持度为0.6,则需要查找所在组的个数大于或等于3(5*0.6)的目标数据项。经过查找发现,尿布、面包、牛奶及啤酒所在组的个数分别为4、4、5及3,符合条件,因此尿布、面包、牛奶及啤酒为目标数据项。
包含目标数据项的数据表即一元频繁项集,如上表2所示。
步骤S103:若数据元个数N大于1,则获得一个一元频繁项集、一个N-1元频繁项集及N个原始数据表,使用包含表关联规则及分组过滤规则的数据库查询语句,对一元频繁项集、N-1元频繁项集及N个原始数据表进行关联及分组过滤查询,获得所在组的个数满足频繁支持度的N元目标数据项,将包含N元目标数据项的数据表确定为N元频繁项集。
其中,若步骤S101确定出的数据元个数N大于1,则表明需要生成多个数据元的频繁项集,即多元频繁项集。
多元频繁项集的生成过程,需要使用数据库查询语句,对多个数据表进行关联查询。数据表的个数及类型均与数据元个数N相关,具体地,数据表的个数为N+2个,分别为1个一元频繁项集、1个N-1元频繁项集,及N个原始数据表。
例如,生成三元频繁项集,需要首先获得1个一元频繁项集、1个二元频繁项集及3个原始数据表。
N个原始数据表可以从数据库直接获取到,一元频繁项集可以按照上述步骤S102的方式获得。对于N-1元频繁项集,若N-1为1,则同样按照上述步骤S102的方式获得,若N-1大于1,则可以按照本步骤的方式获得,即将N-1作为N进行运算。
可见,若N-1大于1,则生成频繁项集的过程是不断迭代的过程。例如,需要生成四元频繁项集,则需要先生成一元频繁项集,依据一元频繁项集生成二元频繁项集、依据二元频繁项集生成三元频繁项集,最后,使用一元频繁项集、三元频繁项集、及原始数据表,生成四元频繁项集。
需要说明的是,使用元数较低的频繁项集生成元数较高的频繁项集,依据的是先验原理。先验原理保证所有非频繁的元数较低的频繁项集的超集都是非频繁的。
在获得多个数据表后,使用数据库查询语句,对多个数据表进行关联查询。需要说明的是,该数据库查询语句是包含关联规则及分组过滤规则的数据库查询语句。
可以理解的是,数据库查询语句在进行关联运算时,会生成包括多个相同数据元的数据项,如AA、BB类型的数据项,此种数据项是无效的,因此需要去除。另外,还会生成数据元相同但排列顺序不同的数据项,关联分析时,并不关心数据项中数据元的排列顺序,因此,需要去除一份数据元相同但排列顺序不同的数据项。
例如,进行关联的数据表中包括A、B及C三个数据项,使用数据库查询语句进行关联运算时,会生成AA、AB、AC、BA、BB、BC、CA、CB及CC这几种数据项,但是,重复数据项AA、AB及CC是无效的,需要去除。并且,AB与BA包含的数据元相同,只是顺序不同而已,需要去除其中的一份数据项。同理,AC与CA等等均是如此。
为了实现上述去除部分无效组合的目的,需要在关联规则中添加限制条件。具体地,N个原始数据表进行关联时,需要保证N个原始数据表中,相同标识的数据项之间进行组合,其他的限制条件可以参见下文所示。
通过以上具有关联规则的限制条件,获得多个N元数据项。其中,N元数据项即包含N个数据元的数据项。例如,3元数据项包括{尿布、牛奶、啤酒}。
在获得多个N元数据项后,使用数据库查询语句中的分组过滤规则,对该多个N元数据项进行分组。由以上限制条件可知,同一N元数据项中的数据元具有相同的标识,因此,可以按照标识对N元数据项进行分组,即将同一标识的N元数据项作为一个分组。
分组后,分别统计每个N元数据项出现在组内的次数,或者,称为所在组的个数。若某个N元数据项出现的次数满足频繁支持度,则将该N元数据项作为N元的目标数据项。
例如,{尿布、牛奶、啤酒}及{面包、尿布、牛奶}的出现在分组的个数均是3,等于频繁支持度0.6与分组总数5的乘积,因此,将该两个数据项作为N元目标数据项。
因此,使用上述表1所示的原始数据表,生成的三元频繁项集如表4所示。
表4
数据元1 | 数据元2 | 数据元3 | 支持度计数 |
尿布 | 牛奶 | 啤酒 | 3 |
面包 | 尿布 | 牛奶 | 3 |
当然,分组过滤规则可以是其他,并不限定于此。
由以上技术方案可知,本申请提供了一种频繁项集的生成方法实施例,本实施例中,首先确定数据元个数N、频繁支持度及原始数据集,若数据元个数为1,则使用包含分组过滤规则的数据库查询语句,从若干组数据项中,查询个数满足频繁支持度的数据项,从而获得一元频繁项集,若数据元个数大于1,则首先获得一个一元频繁项集、N-1元频繁项集及N个原始数据表,并使用包含分组过滤规则及关联规则的数据库查询语句,对该多个数据表进行关联查询及分组过滤查询,获得满足频繁支持度的N元目标数据项,从而获得N元频繁项集。可见,本实施例中使用数据库查询语句表示关联分析的规则,该种基于数据库查询的项集生成方式,不需构建复杂的数据结构,运算量较小,项集生成效率较高。
另外,现有的需要在内存中构建复杂的数据结构的方案,不仅带来上述运算量大的技术问题,若原始数据表的数据量较大,还可能导致内存溢出的问题。因此,需要开发人员设计防止内存溢出的处理过程。但是,本实施例是基于数据库查询语句实现的,数据库系统自身会对内存的换入换出操作进行处理,开发人员无需设计处理过程,因此,对于开发人员来说,本实施例更易实现。
在实际应用中,还可能出现生成的频繁项集为空集的情况。具体地,在生成一元频繁项集时,可能由于并没有一个数据项满足频繁支持度的要求,从而生成的一元频繁项集是空集。在生成数据元个数大于1的N元频繁项集时,迭代过程中,可能生成的某个元数的频繁项集为空集,则终止上述流程的执行,进一步也可知待生成的N元频发项集为空集。
例如,需要使用原始数据集生成4元频繁项集,但是在迭代过程中,生成的3元频繁项集为空集,则可以停止流程的执行,从而也便知待生成的4元频繁项集为空集。
在实际应用中,上述频繁项集生成方法实施例1中步骤S102(若数据元个数N为1,则使用包含分组过滤规则的数据库查询语句,从若干组数据项中,查询所在组的个数满足频繁支持度的目标数据项,将包含目标数据项的数据表确定为一元频繁项集)的具体实现方式可以包括以下步骤A1。
步骤A1:若数据元个数N为1,则将原始数据表中的数据项列作为待生成列,使用包含分组过滤规则的数据库查询语句,对若干组数据项进行分组,并在分组结果中,查询所在组的个数满足频繁支持度的目标数据项,将包含目标数据项的数据表确定为一元频繁项集。
可以知道的是,一元频繁项集中包含数据项列,数据项是由原始数据表中的数据项列生成的。
以上述表1所示的原始数据表为例,生成一元频繁项集的数据库查询语句如下所示:
另外,此段代码中的selectitem即是将表1中的数据项列作为一元频繁项集中的列。例如,从表2即一元频繁项集中可以看出,一元频繁项集中的列即原始数据表中符合分组过滤规则的数据列。
同样以上述表1所示的原始数据表为例,生成二元频繁项集的数据库查询语句如下所示:
与以上同理,可以使用数据库查询语言,生成四元、五元等更高元数的频繁项集,以下并不再赘述。
参见图2,其示出了本申请提供的频繁项集的生成方法实施例2的流程。如图2所示,本实施例可以具体包括步骤S201~步骤S205。需要说明的是,本实施例中的步骤S201、步骤S202及步骤S204分别与上述频繁项集的生成方法实施例1中的步骤S101、步骤S102及步骤S103相同,可以参见上述说明,此处并不赘述。
步骤S201:确定待生成频繁项集的数据元个数N、频繁支持度及原始数据表;其中,原始数据表中包含若干组数据项。
步骤S202:若数据元个数N为1,则使用包含分组过滤规则的数据库查询语句,从若干组数据项中,查询所在组的个数满足频繁支持度的目标数据项,将包含目标数据项的数据表确定为一元频繁项集。
步骤S203:将目标数据项所在组的个数作为一元频繁项集的频繁次数。
其中,将分组过滤规则查询到的目标数据项个数,也包含在一元频繁项集中。个数可以称为频繁次数,或者称为支持度计数。如表1中,尿布的频繁次数为4。
步骤S204:若数据元个数N大于1,则获得一个一元频繁项集、一个N-1元频繁项集及N个原始数据表,使用包含表关联规则及分组过滤规则的数据库查询语句,对一元频繁项集、N-1元频繁项集及N个原始数据表进行关联及分组过滤查询,获得所在组的个数满足频繁支持度的N元目标数据项,将包含N元目标数据项的数据表确定为N元频繁项集。
步骤S205:将N元目标数据项所在组的个数作为N元频繁项集的频繁次数。
其中,将分组过滤规则查询到的目标数据项个数,也包含在N元频繁项集中。同理,个数可以称为频繁次数,或者称为支持度计数。如表4中,{尿布、牛奶、啤酒}的频繁次数为3。
以下对本申请提供的频繁项集的生成装置进行介绍,需要说明的是,下文有关频繁项集的生成装置的说明可以参见上文提供的频繁项集的生成方法,以下并不赘述。
与上述频繁项集的生成方法实施例1相对应,本申请提供了一种频繁项集的生成装置实施例1。如图3所示,本装置实施例可以具体包括:参数及原始数据表获取模块301、一元频繁项集生成模块302及多元频繁项集生成模块303。其中:
参数及原始数据表获取模块301,用于确定待生成频繁项集的数据元个数N、频繁支持度及原始数据表;其中,原始数据表中包含若干组数据项;
一元频繁项集生成模块302,用于若数据元个数N为1,则使用包含分组过滤规则的数据库查询语句,从若干组数据项中,查询所在组的个数满足频繁支持度的目标数据项,将包含目标数据项的数据表确定为一元频繁项集;
多元频繁项集生成模块303,用于若数据元个数N大于1,则获得一个一元频繁项集、一个N-1元频繁项集及N个原始数据表,使用包含表关联规则及分组过滤规则的数据库查询语句,对一元频繁项集、N-1元频繁项集及N个原始数据表进行关联及分组过滤查询,获得所在组的个数满足频繁支持度的N元目标数据项,将包含N元目标数据项的数据表确定为N元频繁项集。
由以上技术方案可知,本申请提供了一种频繁项集的生成方法实施例,本实施例中,首先参数及原始数据表获取模块301确定数据元个数N、频繁支持度及原始数据集,若数据元个数为1,则一元频繁项集生成模块302使用包含分组过滤规则的数据库查询语句,从若干组数据项中,查询个数满足频繁支持度的数据项,从而获得一元频繁项集,若数据元个数大于1,则多元频繁项集生成模块303首先获得一个一元频繁项集、N-1元频繁项集及N个原始数据表,并使用包含分组过滤规则及关联规则的数据库查询语句,对该多个数据表进行关联查询及分组过滤查询,获得满足频繁支持度的N元目标数据项,从而获得N元频繁项集。可见,本实施例中使用数据库查询语句表示关联分析的规则,该种基于数据库查询的项集生成方式,不需构建复杂的数据结构,运算量较小,项集生成效率较高。
可选地,一元频繁项集生成模块302具体包括:一元频繁项集生成子模块;其中:
一元频繁项集生成子模块,用于若数据元个数N为1,则将原始数据表中的数据项列作为待生成列,使用包含分组过滤规则的数据库查询语句,对若干组数据项进行分组,并在分组结果中,查询所在组的个数满足频繁支持度的目标数据项,将包含目标数据项的数据表确定为一元频繁项集。
与上述频繁项集的生成方法实施例2相对应,本申请提供了一种频繁项集的生成装置实施例2。如图4所示,本装置实施例可以具体包括:参数及原始数据表获取模块301、一元频繁项集生成模块302、一元频繁次数获取模块304、多元频繁项集生成模块303及多元频繁次数获取模块305。
需要说明的是,本实施例中的模块301~模块303可以参见上述装置实施例1,此处并不赘述,仅对模块304及模块305进行说明。
一元频繁次数获取模块304,用于若数据元个数N为1,则将目标数据项所在组的个数作为一元频繁项集的频繁次数。
多元频繁次数获取模块305,用于若数据元个数N大于1,则将N元目标数据项所在组的个数作为N元频繁项集的频繁次数。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种频繁项集的生成方法,其特征在于,包括:
确定待生成频繁项集的数据元个数N、频繁支持度及原始数据表;其中,所述原始数据表中包含若干组数据项;
若所述数据元个数N为1,则使用包含分组过滤规则的数据库查询语句,从所述若干组数据项中,查询所在组的个数满足所述频繁支持度的目标数据项,将包含所述目标数据项的数据表确定为一元频繁项集;
若所述数据元个数N大于1,则获得一个一元频繁项集、一个N-1元频繁项集及N个原始数据表,使用包含表关联规则及分组过滤规则的数据库查询语句,对所述一元频繁项集、N-1元频繁项集及N个原始数据表进行关联及分组过滤查询,获得所在组的个数满足所述频繁支持度的N元目标数据项,将包含所述N元目标数据项的数据表确定为N元频繁项集。
2.根据权利要求1所述的频繁项集的生成方法,其特征在于,所述若所述数据元个数N为1,则使用包含分组过滤规则的数据库查询语句,从所述若干组数据项中,查询所在组的个数满足所述频繁支持度的目标数据项,包括:
若所述数据元个数N为1,则将所述原始数据表中的数据项列作为待生成列,使用包含分组过滤规则的数据库查询语句,对所述若干组数据项进行分组,并在分组结果中,查询所在组的个数满足所述频繁支持度的目标数据项。
3.根据权利要求1所述的频繁项集的生成方法,其特征在于,还包括:
若所述数据元个数N为1,则将所述目标数据项所在组的个数作为所述一元频繁项集的频繁次数。
4.根据权利要求1或3所述的频繁项集的生成方法,其特征在于,还包括:
若所述数据元个数N大于1,则将所述N元目标数据项所在组的个数作为所述N元频繁项集的频繁次数。
5.一种频繁项集的生成装置,其特征在于,包括:
参数及原始数据表获取模块,用于确定待生成频繁项集的数据元个数N、频繁支持度及原始数据表;其中,所述原始数据表中包含若干组数据项;
一元频繁项集生成模块,用于若所述数据元个数N为1,则使用包含分组过滤规则的数据库查询语句,从所述若干组数据项中,查询所在组的个数满足所述频繁支持度的目标数据项,将包含所述目标数据项的数据表确定为一元频繁项集;
多元频繁项集生成模块,用于若所述数据元个数N大于1,则获得一个一元频繁项集、一个N-1元频繁项集及N个原始数据表,使用包含表关联规则及分组过滤规则的数据库查询语句,对所述一元频繁项集、N-1元频繁项集及N个原始数据表进行关联及分组过滤查询,获得所在组的个数满足所述频繁支持度的N元目标数据项,将包含所述N元目标数据项的数据表确定为N元频繁项集。
6.根据权利要求5所述的频繁项集的生成装置,其特征在于,所述一元频繁项集生成模块包括:
一元频繁项集生成子模块,用于若所述数据元个数N为1,则将所述原始数据表中的数据项列作为待生成列,使用包含分组过滤规则的数据库查询语句,对所述若干组数据项进行分组,并在分组结果中,查询所在组的个数满足所述频繁支持度的目标数据项,将包含所述目标数据项的数据表确定为一元频繁项集。
7.根据权利要求5所述的频繁项集的生成装置,其特征在于,还包括:
一元频繁次数获取模块,用于若所述数据元个数N为1,则将所述目标数据项所在组的个数作为所述一元频繁项集的频繁次数。
8.根据权利要求5或7所述的频繁项集的生成装置,其特征在于,还包括:
多元频繁次数获取模块,用于若所述数据元个数N大于1,则将所述N元目标数据项所在组的个数作为所述N元频繁项集的频繁次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510960773.9A CN105512322B (zh) | 2015-12-18 | 2015-12-18 | 频繁项集的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510960773.9A CN105512322B (zh) | 2015-12-18 | 2015-12-18 | 频繁项集的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105512322A true CN105512322A (zh) | 2016-04-20 |
CN105512322B CN105512322B (zh) | 2019-02-15 |
Family
ID=55720302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510960773.9A Active CN105512322B (zh) | 2015-12-18 | 2015-12-18 | 频繁项集的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105512322B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108441A (zh) * | 2017-12-21 | 2018-06-01 | 新博卓畅技术(北京)有限公司 | 一种数据库表结构分析方法和系统 |
CN108132777A (zh) * | 2016-11-30 | 2018-06-08 | 上海驭创信息科技有限公司 | 一种跨表取值计算系统及方法 |
CN110543779A (zh) * | 2019-09-05 | 2019-12-06 | 国网山西省电力公司阳泉供电公司 | 数据处理方法及装置 |
CN113835919A (zh) * | 2021-09-26 | 2021-12-24 | 中国联合网络通信集团有限公司 | 数据处理方法、服务器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103258049A (zh) * | 2013-05-27 | 2013-08-21 | 重庆邮电大学 | 一种基于海量数据的关联规则挖掘方法 |
CN103823823A (zh) * | 2013-07-08 | 2014-05-28 | 电子科技大学 | 基于频繁项集挖掘算法的反规范化策略选择方法 |
CN105159952A (zh) * | 2015-08-14 | 2015-12-16 | 安徽新华博信息技术股份有限公司 | 基于频繁项集挖掘的数据处理方法 |
-
2015
- 2015-12-18 CN CN201510960773.9A patent/CN105512322B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103258049A (zh) * | 2013-05-27 | 2013-08-21 | 重庆邮电大学 | 一种基于海量数据的关联规则挖掘方法 |
CN103823823A (zh) * | 2013-07-08 | 2014-05-28 | 电子科技大学 | 基于频繁项集挖掘算法的反规范化策略选择方法 |
CN105159952A (zh) * | 2015-08-14 | 2015-12-16 | 安徽新华博信息技术股份有限公司 | 基于频繁项集挖掘的数据处理方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132777A (zh) * | 2016-11-30 | 2018-06-08 | 上海驭创信息科技有限公司 | 一种跨表取值计算系统及方法 |
CN108108441A (zh) * | 2017-12-21 | 2018-06-01 | 新博卓畅技术(北京)有限公司 | 一种数据库表结构分析方法和系统 |
CN110543779A (zh) * | 2019-09-05 | 2019-12-06 | 国网山西省电力公司阳泉供电公司 | 数据处理方法及装置 |
CN110543779B (zh) * | 2019-09-05 | 2023-04-07 | 国网山西省电力公司阳泉供电公司 | 数据处理方法及装置 |
CN113835919A (zh) * | 2021-09-26 | 2021-12-24 | 中国联合网络通信集团有限公司 | 数据处理方法、服务器及存储介质 |
CN113835919B (zh) * | 2021-09-26 | 2023-06-13 | 中国联合网络通信集团有限公司 | 数据处理方法、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105512322B (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104408179A (zh) | 数据表中数据处理方法和装置 | |
CN110633292B (zh) | 一种异构数据库的查询方法、装置、介质、设备及系统 | |
CN105512322A (zh) | 频繁项集的生成方法及装置 | |
CN104809130B (zh) | 数据查询的方法、设备及系统 | |
CN104504154B (zh) | 一种数据聚合查询的方法及装置 | |
CN105005029B (zh) | 一种基于数据场层次聚类的多模雷达信号分选方法 | |
CN104598197B (zh) | 一种浮点倒数和/或平方根倒数运算方法及其装置 | |
CN107515878A (zh) | 一种数据索引的管理方法及装置 | |
CN103870507A (zh) | 一种基于类目的搜索方法和装置 | |
EP3217296A1 (en) | Data query method and apparatus | |
CN104408192B (zh) | 字符串类型列的压缩处理方法及装置 | |
CN104484398A (zh) | 数据表中的数据聚合方法和装置 | |
CN103338155A (zh) | 一种数据包的高效过滤方法 | |
CN105005584A (zh) | 一种多子空间Skyline查询计算方法 | |
CN102982147B (zh) | 一种提高数据信息整合效率的方法和装置 | |
CN110555034B (zh) | 一种数据查询分页方法、装置、服务器及介质 | |
CN104303176A (zh) | 查询处理 | |
CN105573843A (zh) | 一种数据处理方法和系统 | |
WO2015131579A1 (zh) | 数据存储方法、装置及系统 | |
CN107657050A (zh) | 一种基于“用归并算法计算一对一join、一对多join”的对位分段并行方法 | |
CN113986931B (zh) | 报表分页的方法、装置、存储介质及计算设备 | |
CN116450675A (zh) | 基于元数据及相似度实现任务优化合并方法、系统及装置 | |
CN110019187A (zh) | 一种数据分配方法、装置及设备 | |
CN109460533B (zh) | 一种提高gemm计算性能的方法及装置 | |
CN106446039A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |