基于位组合的关联规则生成方法
【专利摘要】基于位组合的关联规则生成方法,涉及一种关联规则的生成方法,本发明为解决现有技术采用递归方式生成关联规则,需要大量的内存空间,耗费栈空间,不利于对该算法进行GPU技术并行的问题。本发明采用二进制位组合基于GPU生成关联规则,具体过程为:频繁项目集合长度为n,关联规则形式为前件和后件不能为空,二进制数从起;用二进制数生成关联规则,1和0分别代表出现在后件和前件中的项;判断生成的关联规则是否满足置信度,如果满足将二进制数加1,然后生成关联规则,如果不满足则将二进制数加2m;然后判断二进制数是否为如果否用二进制数生成关联规则,如果是则全部关联规则生成完毕。本发明用于关联规则挖掘算法。
【专利说明】
基于位组合的关联规则生成方法
技术领域
[0001 ]本发明设及一种关联规则的生成方法。
【背景技术】
[0002] 1993年Agrawal等人提出使用关联规则挖掘算法用来解决购物篮问题,关联规则 分析的过程分为两个部分:频繁项目集挖掘和生成关联规则。在购物篮问题中,每个商品被 称作项目,超市中的所有n个商品构成项目集I = Ui,i2,…,U,1的一个子集X=Ui, i2,…, ik}被称为k项集,并且有义G J。在顾客的一次交易中购买的所有商品构成一条事务T,所 有交易构成事务集合,对于某个集合X在某条事务Tl中出现,则称该事务覆盖X,有 Q 7;,X在所有事务的集合D中出现的次数被称作支持数support(X)。
[0003] 使用频繁项目集挖掘算法得到频繁项目集后,需要对频繁项目中的各项进行组合 生成关联规则,形式天^ ^
},A,B,C为项目,{A,B}为前件,{C}为后件,当规则的 置信度
满足用户定义的阔值时,说明该规则是有意义的。根据频繁项 目集挖掘技术应用场景的不同,例如应用在基因数据上,很可能产生长模式频繁项目集,如 果不能采用有效的算法,生成关联规则的过程既耗费时间也耗费空间。
[0004] 现有技术采用递归的方式生成关联规则。假设频繁项目集中某条频繁项目的长度 为m,现有技术采用递归的方式生成所有后件项目个数为1~m-1的关联规则,当生成后件包 含集合中第i项的关联规则时,首先生成仅W该项为后件的规则,随后生成该项与其后面项 组合成后件的关联规则,该过程按深度递归,直到生成Wi项到m项所有项为后件的规则为 止,接着进行W第i-1项为后件组合的所有关联规则。
【发明内容】
[0005] 本发明目的是为了解决现有技术采用递归方式生成关联规则,需要大量的内存空 间,耗费找空间,不利于对该算法进行GPU技术并行的问题,提供了一种基于位组合的关联 规则生成方法。
[0006] 本发明所述基于位组合的关联规则生成方法,采用二进制位组合基于GPU生成关 联规则,具体过程为:
[0007] 步骤1、对任意频繁项目集合FP生成关联规则,关联规则的形式为
,前件和后件不能为空,频繁项目集合FP的长度为n,用n位的二进制数S 00'、.01 表示集合FP,二进制数S从起; n
[000引步骤2、用二进制数S生成一条关联规则,1代表出现在后件中的项,0代表出现在前 件中的项;
[0009] 步骤3、判断生成的关联规则是否满足置信度,如果是则执行步骤4,如果否则执行 步骤5;
[0010] 步骤4、将生成步骤3关联规则的二进制数加1,获得二进制数Q,用二进制数Q生成 一条关联规则,然后执行步骤6;
[0011] 步骤5、将生成步骤3关联规则的二进制数加2",获得二进制数P,然后执行步骤6, 其中m表示二进制数P末尾0的个数;
[001^ 步骤6、判断二进制数Q或P是否为11::19 '如果否则执行步骤7,如果是则执行步 n 骤8;
[0013] 步骤7、用二进制数Q或P生成一条关联规则,然后返回执行步骤3;
[0014] 步骤8、全部关联规则生成完毕。
[0015] 步骤3所述置信度的获得方法为:'
,其中support!:前件} 表示{前件}的支持数,SUPPOd {前件+后件}表示{前件+后件}的支持数。
[0016] 本发明的优点:本发明采用二进制位组合的形式实现关联规则生成算法,并且采 用了跳跃策略,避免了生成不必要的关联规则,解决了内存空间消耗的问题,并且可W进行 GPU技术的并行。关联规则生成递归算法在进行GPU并行时,由于GPU找空间的限制,GPU并行 能够处理的频繁项集长度极为有限,经过本发明处理后的关联联规则算法可W进行GPU技 术的并行,突破了递归算法存在的找空间的限制,可W对长模式的频繁项目集生成关联规 则。
【附图说明】
[0017] 图1是本发明所述基于位组合的关联规则生成方法的结构示意图;
[0018] 图2是集合。?={4,8,(:,0,6^}采用二进制位组合生成关联规则的示意图;
[0019] 图3是集合。?={4,8,(:,0,6,。}采用二进制位组合生成关联规则时不满足置信度 的二进制数跳跃策略的示意图。
【具体实施方式】
【具体实施方式】 [0020] 一:下面结合图1说明本实施方式,本实施方式所述基于位组合的关 联规则生成方法,采用二进制位组合基于GPU生成关联规则,具体过程为:
[0021] 步骤1、对任意频繁项目集合FP生成关联规则,关联规则的形式为
前件和后件不能为空,频繁项目集合FP的长度为n,用n位的二进制数S 表示集合FP,二进制数S从?-9::-'--9-1起; 巧
[0022] 步骤2、用二进制数S生成一条关联规则,1代表出现在后件中的项,0代表出现在前 件中的项;
[0023] 步骤3、判断生成的关联规则是否满足置信度,如果是则执行步骤4,如果否则执行 步骤5;
[0024] 步骤4、将生成步骤3关联规则的二进制数加 I,获得二进制数Q,用二进制数Q生成 一条关联规则,然后执行步骤6;
[0025] 步骤5、将生成步骤3关联规则的二进制数加2",获得二进制数P,然后执行步骤6, 其中m表示二进制数P末尾0的个数;
[00%]步骤6、判断二进制数Q或P是否为LL:i5'如果否则执行步骤7,如果是则执行步 巧 骤8;
[0027] 步骤7、用二进制数Q或P生成一条关联规则,然后返回执行步骤3;
[0028] 步骤8、全部关联规则生成完毕。
[0029] 【具体实施方式】二:本实施方式对实施方式一作进一步说明,步骤3所述置信度的获 得方法为
.,其中support {前件}表示{前件}的支持数,suppo;rt {前件+后件}表示{前件+后件}的支持数。
[0030] 本发明中,假设对频繁项目集合。口={4,8,(:,0,6,。}生成关联规则,关联规则的形 式为{化件}二{后件},转换为组合问题,后件出现集合FP中任一项的情况为G种, 后件出现集合FP中任两项的情况为Cf种,W此类推,后件出现集合FP中任五项的情况为 CgS种,则可生成不同关联规则的总数为G +G +q>G +Q,根据公式 C: + C,|,十Cf +…+ C^'二2",集合FP可生成的关联规则总数为62个。因此,对于任意频 繁项目集FP,长度为n,可生成全部关联规则的数目为:个。
[0031] 结合图2说明采用二进制位形式生成关联规则的过程中,用1代表出现在后件中的 项,用0代表出现在规则前件中的项。依然W集合。口={4,8,(:,0,6,。}为例生成关联规则,用 6位的二进制数表示集合FP,二进制数从OOOOOl起,0和1分别对应集合FP中的各项,即
OOOOOl表3 j,每生成一条关联规则,二进制数加1,000010表 示关联规见 3011表示关联规则
,依 次类推,直至111110表示关联规则
,全部关联规则生成完毕。图2 中,初始状态下六位的二进制数各位均为0,随着二进制数不断加1,产生关联规则,当生成 的二进制数为OOlOlO时,其中1代表后件的元素,对应项为C和E,0代表前件中的元素,对应 项分别为A,B,D,F,因此该二进制数对应的关联规则为?
[0032] 通过对关联规则的特性分析,能够避免生成不必要的关联规则。根据关联规则的 特性,如果某一规则是不满A甲置信原的,那么Pi巧规刚后件的所有超集生成的规则一定是 不满足置信度的。例如,规则
的支持数3啡9〇^{4,8,(:,0,6,。}为 8,其前件{A,B,D,F}的支持数support{A,B,D,F}为10,那么该规则的置信度为0.8,当用户 设定最小置信度为0.卵寸,该规则不满足置信度,因此不必生成该规则,因为任意集合{A,B, D,F}的子集支持数一定大于集合{A,B,D,F}本身,因此W规见
后 件{C,E}的任意超集构成的关联规则也一定是不满足置信度的,为了提高生成关联规则方 法的效率,可W采用W下方法避免生成不必要的规则:如果某一二进制数P对应的关联规则 是不满足条件的,该二进制数末尾O的数目为m,那么从P起直到二进制数P+2m,运之间二进 制数对应的关联规则都是不满足条件的。因此在生成关联规则的时候,可W直接跳过2"-1 次关联规则生成过程,从而提高关联规则生成的效率,接下来通过一个实例进行说明。如图 3所示。假设规则{
^ 1是不满足置信度的,那么根据关联规则的特性, 规则j
也是不满足置信度的。规则
对应图3中的二进制数为000100,不 满足置信度,m=2,运之间存在3个不满足置信度的规则000101,000110,000111,即 图3中虚框中的数字和字母进行变动,正对应了规则
,
,因此可W直接跳过2"-1个关联规 则的生成过程,进行000100+4规则的判断,即下一步直接判断001000。
[0033] 关联规则生成递归算法在进行GPU并行时,由于GPU找空间的限制,GPU并行能够处 理的频繁项集长度极为有限,经过本发明处理后的关联联规则算法可W进行GPU技术的并 行,突破了递归算法存在的找空间的限制,可W对长模式的频繁项目集生成关联规则。例如 在Iinux环境下,硬件环境为Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50細Z,物理CPU个数 为2,每个CPU上有10个物理core,内存大小为64GB,显示适配器的型号为NVIDIA Qua化O 1(5000,双显卡,每块显卡的显存为46,(:师4环境为(:师4 6.5,计算能力3.0。运样的环境下, 基于GPU的递归关联规则生成算法仅能处理最大长度为5的频繁项集,因而无法达到实用效 果。而采用本发明则在理论上可W对任意长度的频繁项集进行处理,因而其GPU并行执行是 可行的,并且可W进一步实用化。
[0034] 在大豆基因数据的处理过程中,经过数据挖掘后一般不存在只生成长度小于5的 频繁项集,所W在实际应用中采用原有的递归算法无法采用GPU并行方式,采用本发明提出 的二进制位组合能够基于GPU生成关联规则,实现对大豆基因数据的处理。
[0035] 在购物篮处理问题过程中,挖掘后的结果一般不存在客户购物数量不超过5件商 品,因此,原有的递归算法无法采用GPU并行处理。本发明提出的基于位组合的生成方法能 够采用GPU并行技术实现,实现对购物篮数据的处理。
【主权项】
1. 基于位组合的关联规则生成方法,其特征在于,采用二进制位组合基于GPU生成关联 规则,具体过程为:步骤1、对任意频繁项目集合FP生成关联规则,关联规则的形式: 前件和后件不能为空,频繁项目集合FP的长度为n,用η位的二进制数S表示集合FP,二进制 数S,丨; 步骤2、用二进制数S生成一条关联规则,1代表出现在后件中的项,O代表出现在前件中 的项; 步骤3、判断生成的关联规则是否满足置信度,如果是则执行步骤4,如果否则执行步骤 5; 步骤4、将生成步骤3关联规则的二进制数加1,获得二进制数Q,用二进制数Q生成一条 关联规则,然后执行步骤6; 步骤5、将生成步骤3关联规则的二进制数加2'获得二进制数Ρ,然后执行步骤6,其中m 表示二进制数P末尾〇的个数; 步骤6、判断二进制数Q或P是否为'如果否则执行步骤7,如果是则执行步骤8; η 步骤7、用二进制数Q或P生成一条关联规则,然后返回执行步骤3; 步骤8、全部关联规则生成完毕。2. 根据权利要求1所述的基于位组合的关联规则生成方法,其特征在于,步骤3所述置 信度的获得方法,,其中support {前件}表示{前件}的支持数, suppor t {前件+后件}表示{前件+后件}的支持数。
【文档编号】G06Q30/06GK106022886SQ201610356507
【公开日】2016年10月12日
【申请日】2016年5月25日
【发明人】陆军, 郑金亮, 王楠, 徐绅宝, 李君 , 井睿勍, 万康, 张玮, 国家兴
【申请人】黑龙江大学