CN106033447B - 项集挖掘方法及装置 - Google Patents

项集挖掘方法及装置 Download PDF

Info

Publication number
CN106033447B
CN106033447B CN201510115234.5A CN201510115234A CN106033447B CN 106033447 B CN106033447 B CN 106033447B CN 201510115234 A CN201510115234 A CN 201510115234A CN 106033447 B CN106033447 B CN 106033447B
Authority
CN
China
Prior art keywords
item set
item
sum
utility
equal
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.)
Active
Application number
CN201510115234.5A
Other languages
English (en)
Other versions
CN106033447A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Tencent Technology Shenzhen Co Ltd
Shenzhen Graduate School Harbin Institute of Technology
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 Tencent Technology Shenzhen Co Ltd, Shenzhen Graduate School Harbin Institute of Technology filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510115234.5A priority Critical patent/CN106033447B/zh
Publication of CN106033447A publication Critical patent/CN106033447A/zh
Application granted granted Critical
Publication of CN106033447B publication Critical patent/CN106033447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种项集挖掘方法及装置,属于数据挖掘领域。所述方法包括:获取自定义的最小期望支持度μ和最低效用比例ε;计算不确定性数据库D中项集的实际期望支持度expSup和实际效用值u,该项集中包含至少一个数据项;当expSup≥|D|*μ,且u≥总效用值TU*ε时,确定该项集为高概率且高效用项集;TU表示不确定性数据库D中所有数据项的效用之和;|D|表示不确定性数据库D中包含的事务总数。本发明达到了挖掘出的项集效用值较高,且发生概率较大,从而保证挖掘出的项集具有较高的实际使用价值的效果。

Description

项集挖掘方法及装置
技术领域
本发明实施例涉及数据挖掘技术领域,特别涉及一种项集挖掘方法及装置。
背景技术
数据库中通常包括有至少一个事务(英文:Transaction),每个事务中包括至少一个数据项(英文:item),比如,一条关于人物记录的事务中,包括姓名、出生年月、性别、血型等数据项。
为了发现不同数据项之间的关联规则,需要进行目标数据项集的挖掘。项集(英文:Itemsets)是由至少一个数据项构成的集合,用于表征数据库中内在的一种关联规则。HUIM(High-Utility Itemsets Mining,高效用项集挖掘)作为一种常见的数据挖掘方式,用于从数据库中挖掘出由不同数据项组成的效用值较高的项集。在现有的基于HUIM的算法中,通过计算数据库中各个项集对应的效用值,当该效用值大于或等于预设效用值时,确定该项集为高效用项集并进行挖掘,从而实现从数据库中挖掘出高效用的项集。
在实现本发明实施例的过程中,发明人发现上述技术至少存在以下问题:在实际情况中,数据库中存储的数据往往是不确定性数据,即数据库中的事务存在一个发生概率,且每个事务对应的发生概率存在较大差异。而现有的基于HUIM的算法并未考虑事务的发生概率,容易挖掘出效用值较高但是发生概率较低的项集,导致挖掘出的项集的实际使用价值较低。
发明内容
为了解决上述技术的问题,本发明实施例提供了一种项集挖掘方法及装置。所述技术方案如下:
根据本发明实施例的第一方面,提供一种项集挖掘方法,所述方法包括:
获取自定义的最小期望支持度μ和最低效用比例ε;
计算不确定性数据库D中项集的实际期望支持度(英文:expSup)和实际效用值u,该项集中包含至少一个数据项;
当expSup≥|D|*μ,且u≥TU(Total Utility,总效用值)*ε时,确定项集为高概率且高效用项集;TU表示不确定性数据库D中所有数据项的效用之和;|D|表示不确定性数据库D中包含的事务总数。
根据本发明实施例的第二方面,提供一种项集挖掘装置,所述装置包括:
获取模块,用于获取自定义的最小期望支持度μ和最低效用比例ε;
计算模块,用于计算不确定性数据库D中项集的实际期望支持度expSup和实际效用值u,项集中包含至少一个数据项;
第一确定模块,用于当expSup≥|D|*μ,且u≥总效用值TU*ε时,确定项集为高概率且高效用项集;TU表示不确定性数据库D中所有数据项的效用之和;|D|表示不确定性数据库D中包含的事务总数。
本发明实施例提供的技术方案带来的有益效果是:
通过从不确定性数据库中挖掘出实际期望支持度大于最小期望支持度,且实际效用值大于最低效用的高概率且高效用项集;解决了现有的基于HUIM的算法由于未考虑事务的发生概率,导致挖掘出实际使用价值较低的项集的问题;达到了挖掘出的项集效用值较高,且发生概率较大,从而保证挖掘出的项集具有较高的实际使用价值的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明一个实施例提供的项集挖掘方法的方法流程图;
图1B是本发明一个实施例提供的项集挖掘方法的方法流程图;
图2A是本发明另一实施例提供的项集挖掘方法的方法流程图;
图2B是本发明另一实施例提供的项集挖掘方法的方法流程图;
图3A是本发明再一实施例提供的项集挖掘方法的方法流程图;
图3B是本发明再一实施例提供的项集挖掘方法中生成的第1-PU表的结构示意图;
图3C是本发明再一实施例提供的项集挖掘方法所涉及的枚举树的示意图;
图4是本发明一个实施例提供的项集挖掘装置的结构方框图;
图5是本发明另一实施例提供的项集挖掘装置的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于对本发明实施例进行说明,预先对本发明实施例涉及的基本概念进行如下介绍:
1、事务:指数据库中的一条记录。比如,当数据库中记录的是超市商品的购买记录,则数据库中的每一个事务对应商品的购买记录,该购买记录中包含购买商品的数量和名称等信息。
2、数据项:事务中记录的每条信息项目,且一个事务中包含至少一个数据项。比如,当数据库中的事务对应顾客的购买记录时,事务中的数据项则可以是购买记录中,购买商品的数量和名称等信息。
3、项集:至少一个数据项构成的集合,用于表征数据库内在的一种关联规则。事务与项集的不同的点是,事务通常是由实际的事件所触发生成的数据库中的记录;而项集通常是从数据库挖掘而出的,并不一定有实际的含义。
4、k-项集:包含有k个数据项的集合。比如,1-项集可以为A,即只包含数据项A;2-项集可以为AB,即包含数据项A和B。
5、不确定性数据库(英文:Uncertain Databases):指数据库中的每个事务都存在一个发生概率。一种示意性的不确定性数据库的结构如表一所示。不确定性数据库中记录的是超市商品的购买记录,数据库中每一条购买记录对应一个发生概率,即不确定性数据库中的每个事务对应一个发生概率。
表一
TID A B C D E 发生概率
1 2 0 3 0 2 0.9
2 0 1 0 2 0 0.7
3 1 2 1 0 3 0.85
4 0 0 2 0 0 0.5
5 0 3 0 2 1 0.75
6 2 0 2 5 0 0.7
7 1 1 0 4 1 0.45
8 0 4 0 0 1 0.36
9 3 0 3 2 0 0.81
10 0 2 3 0 1 0.6
6、事务的编号(英文:TID):数据库中不同事务的编号。
7、|D|:数据库中包含的事务总数,比如,表一所示的不确定性数据库对应的|D|为10。
8、发生概率:指不确定性数据库中,每个事务所对应的发生概率。
9、实际期望支持度:指定项集的期望支持度,是指不确定性数据库中,包含指定项集的各个事务各自对应的期望支持度之和。比如,不确定性数据库如表一所示,指定项集为AB,包含指定项集AB的事务的编号为3和7,对应的发生概率分别为0.85和0.45,即项集AB对应的expSup为0.85+0.45=1.3。
10、效用值:数据库中各个数据项对应的效用或利益,表示为效用值。比如,以数据库为包含超市商品的购买记录的不确定性数据库为例,效用值可以表示为卖出不同商品所带来的利润。
11、效用表(英文:Profit Table):记录数据库中不同数据项及其效用值对应关系的表。比如,效用表可以如表二所示。
表二
数据项 A B C D E
效用值 4 1 12 6 15
12、TWU(Transaction-Weighted Utility,事务权重效用):指包含指定项集的事务对应的效用值之和。比如,结合表一和表二,当指定项集为AB时,包含项集AB的事务的编号为3和7,事务3和事务7对应的效用值之和为1*4+2*1+1*12+0*6+3*15+1*4+1*1+0*12+4*6+1+15=107。
13、u:指定项集对应的效用值之和。比如,结合表一和表二,当指定项集为AB时,包含项集AB的事务的编号为3和7,项集AB的实际效用值为1*4+2*1+1*4*1*1=11。
14、TU:指数据库中所有事务对应的效用值之和。比如,结合表一和表二,该不确定性数据库对应的总效用为74+13+63+24+30+62+44+19+60+53=442
15、μ:即用户自定义的最小期望支持度,指挖掘出的项集占数据库中事务总数的最小比例。比如,如表一所示,当用户自定义的μ=15%时,挖掘出的项集占不确定性数据库中事务总数的最小比例即为15%,即挖掘出的项集对应的expSup最小为10*15%=1.5。
16、ε:即用户自定义的最低效用比例,指挖掘出的项集占数据库总效用的最小比例。比如,如表一所示,当用户自定义的ε=25%时,挖掘出的项集占不确定性数据库总效用的最小比例即为25%,即挖掘出的项集对应的u最小为442*25%=110.5。
17、HPUIs(High Probability-Utility Itemsets,高概率且高效用项集):指实际期望支持度expSup≥|D|*μ且实际效用值u≥总效用值TU*ε的项集。比如,结合表一和表二,以μ=15%,ε=25%为例,项集C对应的实际期望支持度expSup=4.36≥1.5,且实际效用值u=168≥110.5,即项集C为高概率且高效用项集。
18、项集效用(英文:Iutility):指定项集在指定事务中的对应的效用值。比如,结合表一和表二,指定项集D在指定事务2中的项集效用为2*6=12。
19、项集剩余效用(英文:Rutility):在指定事务中,除指定项集的项集效用之外的效用值。比如,结合表一和表二,指定事务3中,指定项集D的项集剩余效用为1*1=1。
20、PU表(英文:Probability-Utility List):包含项集所在事务的TID、项集所在事务的发生概率、项集对应的Iutility以及项集对应的Rutility的表。比如,结合表一和表二,项集D对应的PU表可以如表三所示。
表三
Figure BDA0000682803470000051
Figure BDA0000682803470000061
请参考图1A,其示出了本发明一个实施例提供的项集挖掘方法的方法流程图。该方法包括:
步骤101,获取自定义的最小期望支持度μ和最低效用比例ε。
步骤102,计算不确定性数据库D中项集的实际期望支持度expSup和实际效用值u,该项集中包含至少一个数据项。
步骤103,当expSup≥|D|*μ,且u≥总效用值TU*ε时,确定该项集为高概率且高效用项集;TU表示不确定性数据库D中所有数据项的效用之和;|D|表示不确定性数据库D中包含的事务总数。
综上所述,本实施例提供的项集挖掘方法,通过从不确定性数据库中挖掘出实际期望支持度大于最小期望支持度,且实际效用值大于最低效用的高概率且高效用项集;解决了现有的基于HUIM的算法由于未考虑事务的发生概率,导致挖掘出实际使用价值较低的项集的问题;达到了挖掘出的项集效用值较高,且发生概率较大,从而保证挖掘出的项集具有较高的实际使用价值的效果。
可选地,如图1B所示,上述步骤102可以包括步骤102A和步骤102B:
步骤102A,对于一个项集,计算包含该项集的事务各自对应的发生概率之和,得到项集对应的实际期望支持度expSup。
首先,定义事务Tq中项集X对应的发生概率p(X,Tq)=p(Tq),其中p(Tq)表示事务Tq对应的发生概率。比如,表一所示事务2对应发生概率为0.7,则事务2中包含的项集B、项集D和项集BD对应的发生概率均为0.7。
相应的,指定项集X对应的实际期望支持度即为包含该项集的事务各自对应的发生概率之和,表示为:
Figure BDA0000682803470000062
比如,如表一所述,包含项集ABE的事务为事务3和事务7,则项集ABE对应的实际期望支持度为0.85+0.45=1.3。
步骤102B,将包含该项集的事务中项集所对应的效用值相加,得到该项集对应的u。
首先,定义事务Tq中数据项ij在事务Tq中的效用值u(ij,Tq)=q(ij,Tq)×pr(ij),其中,q(ij,Tq)表示事务Tq包含的数据项ij的个数,pr(ij)表示效用表中数据项ij对应的效用值。比如,结合表一和表二,在事务1中,数据项A的效用值即为2*4=8。
显而易见的,指定项集X在事务Tq中的效用值可以表示为:
Figure BDA0000682803470000071
比如,如表一所示,项集AC在事务1中的效用值为2*4+3+12=44。
相应的,指定项集X对应的实际效用值即为包含该项集的事务中项集所对应的效用值相加,表示为
Figure BDA0000682803470000072
比如,如表一所示,项集A对应的实际效用值u(A)=8+4+8+4+12=36;项集AC对应的实际效用值u(AC)=44+16+32+48=140。
对不确定性数据库进行挖掘的过程,即可以认为是计算不确定性数据库中,所有项集对应的实际期望支持度和实际效用值的过程。
需要说明的是,上述步骤102A与步骤102B不存在严格的先后顺序,本发明仅以步骤102A在步骤102B之前进行说明,并不对本发明构成限定。
在步骤103中,与上述步骤102相似的,在对不确定性数据库进行挖掘的过程中,还会根据公式
Figure BDA0000682803470000073
计算该不确定性数据库的总效用,其中,tu(Tq)为事务Tq对应的效用值,并可以表示为
Figure BDA0000682803470000074
其中,m表示为事务Tq中包含的数据项的个数。比如,如表一所示,事务2对应的效用值为1*1+2*6=13;该不确定性数据库的总效用为74+13+63+24+30+62+44+19+60+53=442。
最后,比较各个项集对应的实际期望支持度与|D|*μ的大小关系,以及各个项集对应的实际效用值与TU*ε的大小关系,当项集对应的expSup≥|D|*μ,且u≥TU*ε时,即可确定该项集为高概率且高效用项集。
由于计算不确定性数据库中所有项集的实际期望支持度和实际效用值,需要耗费大量的计算资源,且需要耗费大量时间,造成数据挖掘效率较低。为了减少数据挖掘过程中消耗的计算资源,从而提高挖掘的速度,本发明提出了两种优化挖掘的方法,分别为HPUI-apriori算法和HPUI-List算法。下面采用两个实施例分别进行说明。
请参考图2A,其示出了本发明另一实施例提供的项集挖掘方法的方法流程图,该方法包括:
步骤201,获取自定义的最小期望支持度μ和最低效用比例ε。
该最小期望支持度μ和最低效用比例ε可以由用户根据实际挖掘需要进行自定义设置。
比如,当需要挖掘的不确定性数据库中记录的是天气情况,即不确定性数据库中每一个事务包含的数据项可以是日期、温度和降雨概率,对应的每个事务的发生概率即为出现该天气情况的概率。为了保证挖掘的项集具有较高的发生概率,用户可以将最小期望支持度μ设置的较大。
又比如,当需要挖掘的不确定性数据库中记录的是超市商品的购买记录,即不确定性数据库中每一个事务包含的数据项可以是购买A商品的数量、购买B商品的数量、购买C商品的数量和购买D商品的数量,每个事务的发生概率即为出现这种购买情况的概率,对应的,各个数据项的效用值可以表示为卖出一件该商品能够获得的利润。为了保证挖掘的项集具有较高的效用值,即挖掘出的项集所对应的商品或商品的组合具有较高的利润,用户可以将最低效用比例ε设置的较大。
需要说明的是,该不确定性数据库中记录的内容为天气情况或超市商品的购买记录进行举例说明,本发明并不对此进行限定。
步骤202,扫描不确定性数据库D,将不确定性数据库D中TWU≥TU*ε且expSup≥|D|*μ的k-项集确定为候选项集,TWU表示包含该项集的事务对应的效用值之和,k-项集中包含k个数据项,k≥1。
首先,定义TWU为包含指定项集X的所有事务的效用值之和,即对于指定项集X,其对应
Figure BDA0000682803470000081
比如,如表一所示,在不确定性数据库中,包含项集E的事务分别为事务1、事务3、事务5、事务7、事务8和事务10,而这些事务对应的效用值又分别为74、63、30、44、19和53,则项集E对应的TWU(E)=74+63+30+44+19+53=283。
根据高概率项集的向下封闭特性,可以得到推论1:如果一个项集Xk是高概率项集,那么它的子集Xk-1也是高概率项集;如果一个项集Xk不是高概率项集,那么它的超集Xk+1也不是高概率项集。推论1的证明可以如下。
设k-项集为Xk,k-项集的子集(k-1)项集为Xk-1,而在不确定性数据库D中,必定有p(Xk-1,Tq)≤p(Xk,Tq),可以得出,
Figure BDA0000682803470000091
所以,当Xk是高概率项集,它的子集Xk-1也是高概率项集,推论1得证。
根据高事务权重且高效用项集的向下封闭特性,可以得到推论2:如果一个项集Xk是高事务权重且高效用项集,那么它的子集Xk-1也是高事务权重且高效用项集;如果一个项集Xk不是高事务权重且高效用项集,那么它的超集Xk+1也不是高事务权重且高效用项集。推论2的证明可以如下。
设k-项集为Xk,k-项集的子集(k-1)-项集为Xk-1,有
Figure BDA0000682803470000092
结合高概率项集的向下封闭特性,可以推出,当Xk是高事务权重且高效用项集,那么它的子集Xk-1也是高事务权重且高效用项集,推论2得证。
结合上述两个推论,可以认为TWU≥TU*ε且expSup≥|D|*μ的项集才是有前途的项集,而不满足该条件的项集可以进行过滤,从而起到减小挖掘范围的效果。
基于上述推论,作为一种可能的实现方式,如图2B所示,步骤202又可以包括步骤202A至步骤202C。
步骤202A,扫描不确定性数据库D,获取TWU≥TU*ε且expSup≥|D|*μ的k-项集,并将k项集添加到第k候选项集。
在第k次扫描数据库时,获取k-项集对应的TWU和expSup,将TWU≥TU*ε且expSup≥|D|*μ的k-项集添加到第k候选项集,并将不满足该条件的k-项集进行过滤,其中,该k-项集为是(k-1)-项集自连接生成的。
当第k候选项集为空时,执行步骤203;当第k候选项集不为空时,令k=k+1,再次执行步骤202B。
比如,结合表一和表二所示,并以ε=25%且μ=15%为例,当第一次扫描不确定性数据库时,计算各个1-项集对应的TWU和expSup,可以得到A对应的TWU=303,expSup=3.71;B对应的TWU=222,expSup=3.71;C对应的TWU=336,expSup=4.36;D对应的TWU=209,expSup=3.41;E对应的TWU=283,expSup=3.91;均满足TWU≥TU*ε且expSup≥|D|*μ,所以将A、B、C、D和E均添加到第1候选项集。
步骤202B,当第k候选项集不为空时,根据第k候选项集中的k-项集自连接生成(k+1)-项集,(k+1)-项集是k-项集的超集,(k+1)-项集是包含k+1个数据项的项集。
当第k候选项集不为空时,按照第k候选项集中项集的排列顺序,将每个项集与排在该项集之后的项集进行合并且去重后,生成一个(k+1)-项集。
比如,当第1候选项集中包含的项集为A、B、C、D和E时,且排列顺序为A-B-C-D-E时,自连接生成的2-项集即为AB、AC、AD、AE、BC、BD、BE、CD、CE和DE。
又比如,当第2候选项集为AC、AD、AE、BE、CD和CE时,生成的3-项集即为ACD、ACE、ABE、BCE和CDE。
显而易见的,根据上述步骤202A对不满足TWU≥TU*ε且expSup≥|D|*μ的项集进行过滤,使得根据第k候选项集中的k-项集自连接生成(k+1)-项集数量远小于不确定性数据库中包含的(k+1)-项集的总数,从而达到了缩小挖掘范围的效果。
步骤202C,扫描不确定性数据库D,获取(k+1)-项集中TWU≥TU*ε且expSup≥|D|*μ的项集,并将项集添加到第k+1候选项集。
再次扫描不确定性数据库时,获取上述步骤中生成的各个(k+1)-项集对应的TWU和expSup,并将满足TWU≥TU*ε且expSup≥|D|*μ的k+1项集添加到第k+1候选项集。
当第k+1候选项集不为空时,令k=k+1,重复上述步骤202B,直到获取不到候选项集。
比如,结合表一和表二所示,根据第1候选项集中的1-项集自连接生成的2-项集分别为AB、AC、AD、AE、BC、BD、BE、CD、CE和DE,扫描不确定性数据库,获取到AB对应TWU=107,expSup=1.3;AC对应TWU=259,expSup=3.26;AD对应TWU=166,expSup=1.96;AE对应TWU=181,expSup=2.2;BC对应TWU=116,expSup=1.45;BD对应TWU=87,expSup=1.9;BE对应TWU=209,expSup=3.01;CD对应TWU=122,expSup=1.51;CE对应TWU=190,expSup=2.35;DE对应TWU=74,expSup=1.2。其中,满足TWU≥TU*ε且expSup≥|D|*μ的2-项集为AC、AD、AE、BE、CD、CE,并将上述2-项集添加到第2候选项集中。
由于获取到的第2候选项集不为空,所以执行上述步骤202B,将第2候选项集中的2-项集自连接,生成的3-项集为ACD、ACE、ABE、BCE和CDE。
再次扫描不确定性数据库,获得上述3-项集对应的TWU和expSup,发现仅有3-项集ACD(TWU=122,expSup=1.51)和ACE(TWU=137,expSup=1.75)满足上述条件,并将ACD和ACE添加到第3候选项集。
由于第3候选项集不为空,根据第3候选项集中的3-项集ACD和ACE生成4-项集ACDE。
再次扫描不确定性数据库,发现事务中不存在项集ACDE,无法生成第4候选项集,即结束上述循环,将第1、2、3候选项集汇总,生成表四所述的候选项集表。
表四
项集 TWU expSup
A 303 3.71
B 222 3.71
C 336 4.36
D 209 3.41
E 283 3.91
AC 259 3.26
AD 166 1.96
AE 181 2.2
BE 209 3.01
CD 122 1.51
CE 190 2.35
ACD 122 1.51
ACE 137 1.75
步骤203,再次扫描不确定性数据库D,计算候选项集中的各个项集对应的u。
结束上述步骤202后,再次扫描不确定性数据库,计算候选项集中各个项集对应的实际效用值。
步骤204,将候选项集中,expSup≥|D|*μ且u≥TU*ε的项集确定为高概率且高效用项集。
根据计算得到的候选项集中各个项集对应的实际效用值和实际期望支持度,获取满足expSup≥|D|*μ且u≥TU*ε的项集,并将该项集确定为高概率且高效用项集。
结合表一、表二和表四,不确定性数据库中的高概率且高效用项集如表五所示。
表五
项集 u expSup
C 168 4.36
E 135 3.91
AC 140 3.26
BE 117 3.01
CE 174 2.35
ACD 122 1.51
ACE 135 1.75
综上所述,本实施例提供的项集挖掘方法,通过从不确定性数据库中挖掘出实际期望支持度大于最小期望支持度,且实际效用值大于最低效用的高概率且高效用项集;解决了现有的基于HUIM的算法由于未考虑事务的发生概率,导致挖掘出实际使用价值较低的项集的问题;达到了挖掘出的项集效用值较高,且发生概率较大,从而保证挖掘出的项集具有较高的实际使用价值的效果。
本实施还通过多次扫描不确定性数据库,获取多个候选项集,并将候选项集中expSup≥|D|*μ且u≥TU*ε的项集确定为高概率且高效用项集,达到了加快挖掘速度,节约计算资源的效果。
本实施例提供的项集挖掘方法,可以通过HPUI-apriori算法实现,该算法的伪代码可以如下所示。
Input:D,uncertain databases;ptable,profit table;ε,minimum utilitythreshold;μ,minimum expected support threshold.//输入:不确定性数据库D;效用表;ε;μ
Output:the set of high probability-utility itemsets(HPUIs).//输出:高概率且高效用项集
Figure BDA0000682803470000131
Figure BDA0000682803470000141
上述算法中,步骤1至4为第一次扫描不确定性数据库,并获取不确定性数据库中所有1-项集的TWU和expSup;步骤5至9为根据获取的1-项集生成第1候选项集;步骤12至21为多次扫描不确定性数据库,生成后续候选项集的过程;步骤22至30是不再生成候选项集时,再次扫描不确定性数据库,获取候选项集中实际效用值≥TU*ε的项集,并确定为高概率且高效用项集。
请参考图3A,其示出了本发明再一实施例提供的项集挖掘方法的方法流程图,该方法包括:
步骤301,获取自定义的最小期望支持度μ和最低效用比例ε。
本步骤具体实现方式与上述步骤201相似,在此不再赘述。且为了方便描述,下述步骤中,均以上述表一和表二为例进行说明,对应的μ=15%,ε=25%。
步骤302,构建概率效用PU表,PU表包含k-项集所在事务的编号TID、k-项集所在事务对应的发生概率、k-项集在事务中的项集效用Iutility以及k-项集在事务中的项集剩余效用Rutility,项集剩余效用Rutility表示事务中除k-项集以外的其它数据项的效用和,k-项集包含k个数据项,k≥1。
在进行数据挖掘的过程中,只需要扫描一次不确定性数据库,生成第1-PU表,并根据该第1-PU表生成后续的PU表,而不再需要重复扫描不确定性数据库,从而节省计算资源,提高挖掘效率。
作为一种可能的实现方式,步骤302可以包括步骤302A和302B。
步骤302A,扫描不确定性数据库D,构建第1-PU表,第1-PU表包括1-项集对应的TID、发生概率、Iutility和Rutility。
构建PU表的过程,可以看做是生成枚举树的过程,而生成枚举树的第一步,则是需要生成第一级节点,即对应构建第1-PU表。
与上述步骤202相似的是,对不确定性数据库进行挖掘时,都需要对该不确定性数据库进行一次扫描,计算不确定性数据库中的1-项集对应的TWU和expSup,并获取TWU≥TU*ε且expSup≥|D|*μ的1-项集。在获取到该1-项集后,还按照1-项集对应TWU大小,按照升序进行排列,递归生成1-项集各自对应的第1-PU表。
其中,第1-PU表中TID表示包含该1-项集的事务的编号,发生概率表示包含该1-项集的事务对应的发生概率,Iutility表示该1-项集的事务中的效用值,Rutility则表示该事务中,除了该1-项集外,其他数据项的效用值之和。需要说明的是,由于在生成第1-PU表的过程中,需要先根据各个1-项集对应的TWU大小,按照升序进行排序,并在排序后递归生成各自对应的第1-PU表,所以1-项集在指定事务中对应的Rutility,还需要减去排列在该1-项集的左边的1-项集在该事务中对应的Iutility。
比如,对如表一所示的不确定性数据库进行挖掘,知悉1-项集A、B、C、D和E均满足TWU≥TU*ε且expSup≥|D|*μ,即根据各个1-项集对应的TWU的大小进行排序,得到序列为DBEAC。按照该序列的顺序依次构建D对应的第1-PU表、B对应的第1-PU表、E对应的第1-PU表、A对应的第1-PU表和C对应的第1-PU表。其中D对应的第1-PU表如表六所示。
表六
Figure BDA0000682803470000151
由于首先构建D对应的第1-PU表,所以D的左边不存在其他1-项集,对应的Rutility即为事务中除D以外的其它数据项的效用和。
在构建完D对应的第1-PU表后,构建B对应的第1-PU表。由于B的左边存在1-项集D,所以Rutility为除了B和D以外,其他数据项的效用和。如表七所示,由于事务2中同时出现了B和D,所以B在事务2中对应的Rutility为u(T2)-u(B,T2)-u(D,T2)=13-1-12=0;相似的,B在事务5中对应的Rutility为u(T5)-u(B,T5)-u(D,T5)=30-3-12=15;B在事务7中对应的Rutility为u(T7)-u(B,T7)-u(D,T7)=44-1-24=19。
表七
Figure BDA0000682803470000161
根据上述构建PU表的方法,依次构建E对应的第1-PU表、A对应的第1-PU表和C对应的第1-PU表,合并为如图3B所示。
步骤302B,在第k-PU表中,当(项集效用和Iutility.SUM+项集剩余效用和Rutility.SUM)≥TU*ε,且k-项集所在事务的发生概率之和≥|D|*μ时,根据第k-PU表递归生成第(k+1)-PU表,第(k+1)-PU表中的(k+1)-项集为k项集的超集;Iutility.SUM表示k-项集在不同事务中Iutility之和;Rutility.SUM表示k-项集在不同事务中Rutility之和。
当项集对应的(Iutility.SUM+Rutility.SUM)≥TU*ε且所在事务的发生概率之和≥|D|*μ时,即表明该项集的超集中可能包含高概率且高效用项集,并进一步根据该项集对应的PU表递归生成其超集对应的PU表。
步骤303,计算PU表中k-项集对应的expSup和u。
根据生成的各个PU表计算k-项集对应的expSup即将PU表中的各个事务对应的发生概率相加;而计算k-项集对应的u即计算该k-项集对应的Iutility.SUM。
步骤304,当第k-PU表中,k-项集的Iutility.SUM≥TU*ε,且k-项集所在事务的发生概率之和≥|D|*μ时,确定k-项集为高概率且高效用项集。
由于k-项集的Iutility.SUM即k-项集的实际效用值u,k-项集所在事务的发生概率之和即k-项集的实际期望支持度expSup,所以当第k-PU表中,k-项集的Iutility.SUM≥TU*ε且k-项集所在事务的发生概率之和≥|D|*μ时,即可确定k-项集为高概率且高效用项集。
步骤305,当第k-PU表中,k-项集所在事务的发生概率之和≤|D|*μ,确定该k-项集及其超集均不是高概率且高效用项集,并对k-项集进行过滤。
由于在第k-PU表中,k-项集所在事务的发生概率之和即k-项集对应的实际期望支持度expSup,所以,当k-项集所在事务的发生概率之和≤|D|*μ,即k-项集对应的实际期望支持度expSup≤|D|*μ,可以确定该k-项集不是高概率项集,与得到步骤202中的推论1过程相似的,可以推出该k-项集的超集也不是高概率项集。
显而易见的,当该k-项集不是高概率项集时,该k-项集也不是高概率且高效用项集;当该k-项集的超集不是高概率项集时,该k-项集的超集也不是高概率且高效用项集。
根据上述结论,当确定第k-PU表中的k-项集不是高概率且高效用项集时,即可对该k-项集进行过滤,在后续根据第k-PU表生成第(k+1)-PU表的过程中,就不再需要生成该k-项集的超集对应的第(k+1)-PU表,从而节约了计算资源。
需要说明的是,当对第k-PU表中的部分项集进行过滤后,
步骤306,当第k-PU表中,k-项集的(Iutility.SUM+Rutility.SUM)≤TU*ε,确定k-项集及其超集均不是高概率且高效用项集,并对k-项集进行过滤。
在第k-PU表中,存在推论3:当第k-PU表中,k-项集的(Iutility.SUM+Rutility.SUM)≤TU*ε,确定k-项集及其超集均不是高概率且高效用项集。推论3的证明可以如下。
Figure BDA0000682803470000171
Figure BDA0000682803470000172
∴in Tq
Xk.Iutility=Xk-1.Iutility+(Xk/Xk-1).Iutility
=Xk-1.Iutility+Σi∈(Xk/Xk-1)i.Iutility
≤Xk-1.Iutility+Σi∈(Tq/Xk-1)i.Iutility
=Xk-1.Iutility+Xk-1.Rutility
∴in each Tq
Xk.Iutility≤Xk-1.Iutility+Xk-1.Rutility.
Figure BDA0000682803470000173
∴in D,
Figure BDA0000682803470000181
Figure BDA0000682803470000182
Figure BDA0000682803470000183
Figure BDA0000682803470000184
=Xk-1.Iutility.SUM+Xk-1.Rutility.SUM.
即Xk.Iutility.SUM≤Xk-1.Iutility.SUM+Xk-1.Rutility.SUM,所以当(k-1)-项集的(Iutility.SUM+Rutility.SUM)≤TU*ε时,k-项集对应的Iutility.SUM≤TU*ε,即k-项集不是高效用项集,显而易见的,当k-项集不是高效用项集时,k-项集也不是高概率且高效用项集,推论3得证。
所以当第k-PU表中,k-项集的(Iutility.SUM+Rutility.SUM)≤TU*ε,即可确定k-项集及其超集均不是高概率且高效用项集,即可对该k-项集进行过滤,在后续根据第k-PU表生成第(k+1)-PU表的过程中,就不再需要生成该k-项集的超集对应的第(k+1)-PU表,从而节约了计算资源。
上述步骤304至步骤306即对生成的PU-表中的部分没有前途的项集进行过滤,仅保留有前途的项集。在执行完上述步骤304至步骤306后,由于仅需要根据保留的有前途的项集生成相应的PU-表,从而大大减少了最终生成的PU-表的数量。
为了方便理解,结合表一、表二及图3B对本实施例进行说明。
1、扫描不确定性数据库后,得到的图3B所示的第1-PU表,对应的,生成了如图3C所示的枚举树。该枚举树中包含第一级节点D、B、E、A和C,第二级节点DB、DE、DA、DC…,第三级节点DBE、DBA、DBC、DEA、DEC、DAC…,第四级节点DBEA、DBEC、DBAC、DEAC…,第五节点DBEAC。
2、第1-PU表中的第一个项集D对应的Iutility.SUM=12+12+30+24+12=90<110.5,所以D不是一个高效用且高效率项集,但是D对应的Iutility.SUM+Rutility.SUM=90+1+18+32+20+48=209>110.5,且D的实际期望支持度expSup=0.7+0.75+0.7+0.45+0.81=3.41>1.5,所以D的超集中可能存在高效用且高效率项集。
3、由于D的超集中可能存在高效用且高效率项集,所以进一步根据第1-PU表生成相应的第2-PU表。生成的DB、DE、DA和DC对应的第2-PU表如表八所示。
表八
Figure BDA0000682803470000191
4、由于DB对应的Iutility.SUM+Rutility.SUM=13+15+25+0+15+19=87<110.5,所以DB及其超集均不是高效用且高效率项集,并将项集DB过滤。对应的,在图3C所示的枚举树中,第二级节点DB及其子节点被终止。
由于DE对应的Iutility.SUM+Rutility.SUM=27+39+0+4=70<110.5,所以DE及其超集均不是高效用且高效率项集,并将项集DE过滤。对应的,在图3C所示的枚举树中,第二级节点DE及其子节点被终止。
由于DA对应的Iutility.SUM=90<110.5,所以DA不是高效用且高效率项集;但是DA对应的Iutility.SUM+Rutility.SUM=90+24+36=150>110.5,且DA对应的实际期望支持度expSup=0.7+0.45+0.81=1.96>1.5,所以DA的超集中可能存在高效用且高效率项集。相应的,根据DA和DC对应的第2-PU表生成DAC对应的第3-PU表。
由于DC对应的Iutility.SUM+Rutility.SUM=54+48=102<110.5,所以DC不是高效用且高效率项集,并将项集DC过滤。对应的,在图3C所示的枚举树中,第二级节点DC被终止。
5、经过上述步骤,仅生成了DAC对应的第3-PU表,该第3-PU表如表九所示。
表九
Figure BDA0000682803470000192
由于DAC对应的Iutility.SUM=62+60=122>110.5,且DAC对应的实际期望支持度expSup=0.7+0.81=1.51>1.5,所以DAC为高效用且高效率项集。
6、与上述步骤相似的,依次对B、E、A和C进行判断,直到查找出所有高效用且高效率项集。
综上所述,本实施例提供的项集挖掘方法,通过从不确定性数据库中挖掘出实际期望支持度大于最小期望支持度,且实际效用值大于最低效用的高概率且高效用项集;解决了现有的基于HUIM的算法由于未考虑事务的发生概率,导致挖掘出实际使用价值较低的项集的问题;达到了挖掘出的项集效用值较高,且发生概率较大,从而保证挖掘出的项集具有较高的实际使用价值的效果。
本实施例还通过对生成的PU表中的没有前途的项集进行过滤,并根据剩余的有前途的项集生成对应超集的PU表,使得数据挖掘过程中只需要扫描一次不确定性数据库,并生成第1-PU表,并需要根据该第1-PU表生成后续的PU表,不仅减少了扫描不确定性数据库的次数,而且通过缩小所要挖掘数据的范围,提高了挖掘的速度,节约了计算资源。
本实施例还根据PU表检测对应的项集是否有前途,并对没有前途的项集进行过滤,从而减少了后续生成的PU表数量,达到了节约计算资源,提高挖掘速度的效果。
本实施例提供的项集挖掘方法,可以通过HPUI-List算法实现,该算法的伪代码可以如下所示。
Input:D,uncertain databases;ptable,a profit table;ε,minimum utilitythreshold;μ,minimum expected support threshold.//输入:不确定性数据库D;效用表;ε;μ
Output:The set of high probability-utility itemsets(HPUIs).//输出:高概率且高效用项集。
Figure BDA0000682803470000201
Figure BDA0000682803470000211
上述算法中,步骤1为扫描不确定性数据库,找到高事务权重且高概率且高效用1-项集;步骤2至6为根据高事务权重且高概率且高效用1-项集生成第1PU表;步骤8至11为从第1PU表中挖掘高概率且高效用项集;步骤12至20则是根据第1PU表生成后续的PU表,并从生成的PU表中挖掘高概率且高效用项集。
另外,在实现本实施例的过程中,还包括根据k-项集对应的第k-PU表生成(k+1)-项集对应的第(k+1)-PU表的过程,对应上述步骤302B。该过程对应算法的伪代码如下。
Input:X,an itemset;X.PUL is the PU-list of X;Xab.PUL,Xa.PUL,Xb.PUL,
Figure BDA0000682803470000213
Figure BDA0000682803470000214
and
Figure BDA0000682803470000215
Xa6=Xb.//输入:项集X;X对应的PU表;Xab对应的PU表;Xa对应的PU表;Xb对应的PU表,Xa、Xb均是X的子集,且Xa≠Xb
Output:Xab.PUL.//输出:Xab的PU表
Figure BDA0000682803470000212
Figure BDA0000682803470000221
请参考图4,其示出了本发明一个实施例提供的项集挖掘装置的结构方框图,该项集挖掘装置,包括:
获取模块401,用于获取自定义的最小期望支持度μ和最低效用比例ε;
计算模块402,用于计算不确定性数据库D中项集的期望支持度expSup和实际效用值u,项集中包含至少一个数据项;
第一确定模块403,用于当expSup≥|D|*μ,且u≥总效用值TU*ε时,确定项集为高概率且高效用项集;TU表示不确定性数据库D中所有数据项的效用之和;|D|表示不确定性数据库D中包含的事务总数。
综上所述,本实施例提供的项集挖掘装置,通过从不确定性数据库中挖掘出实际期望支持度大于最小期望支持度,且实际效用值大于最低效用的高概率且高效用项集;解决了现有的基于HUIM的算法由于未考虑事务的发生概率,导致挖掘出实际使用价值较低的项集的问题;达到了挖掘出的项集效用值较高,且实际期望支持度较大,从而保证挖掘出的项集具有较高的实际使用价值的效果。
请参考图5,其示出了本发明另一实施例提供的项集挖掘装置的结构方框图,该项集挖掘装置,包括:
获取模块501,用于获取自定义的最小期望支持度μ和最低效用比例ε;
计算模块502,用于计算不确定性数据库D中项集的期望支持度expSup和实际效用值u,项集中包含至少一个数据项;
第一确定模块503,用于当expSup≥|D|*μ,且u≥总效用值TU*ε时,确定项集为高概率且高效用项集;TU表示不确定性数据库D中所有数据项的效用之和;|D|表示不确定性数据库D中包含的事务总数。
作为第一种可能的实现方式,计算模块502,包括:
第一计算单元502A,用于对于一个项集,计算包含项集的事务各自对应的发生概率之和,得到项集对应的expSup;
第二计算单元502B,用于将包含项集的事务中项集所对应的效用值相加,得到项集对应的u。
作为第二种可能的实现方式,计算模块502,包括:
第一扫描单元502C,用于扫描不确定性数据库D,将不确定性数据库D中事务权重效用TWU≥TU*ε且expSup≥|D|*μ的k-项集确定为候选项集,TWU表示包含项集的事务对应的效用值之和,k-项集中包含k个数据项,k≥1;
第二扫描单元502D,用于再次扫描不确定性数据库D,计算候选项集中的各个项集对应的u。
可选地,第一扫描单元502C,包括:
第一添加子单元502Ca,用于扫描不确定性数据库D,获取TWU≥TU*ε且expSup≥|D|*μ的k-项集,并将k项集添加到第k候选项集;
生成子单元502Cb,用于当第k候选项集不为空时,根据第k候选项集中的k-项集自连接生成(k+1)-项集,(k+1)-项集是k-项集的超集,(k+1)-项集是包含k+1个数据项的项集;
第二添加子单元502Cc,用于扫描不确定性数据库D,获取(k+1)-项集中TWU≥TU*ε且expSup≥|D|*μ的项集,并将项集添加到第k+1候选项集。
可选地,第一确定模块503,包括:
第一确定单元503A,用于将候选项集中,所述expSup≥|D|*μ且u≥TU*ε的项集确定为高概率且高效用项集。
作为第三种可能的实现方式,计算模块502,包括:
构建单元502E,用于构建概率效用PU表,PU表包含k-项集所在事务的编号TID、k-项集所在事务对应的发生概率、k-项集在事务中的项集效用Iutility以及k-项集在事务中的项集剩余效用Rutility,项集剩余效用Rutility表示事务中除k-项集以外的其它数据项的效用和,k-项集包含k个数据项,k≥1;
第三计算单元502F,用于计算PU表中k-项集对应的expSup和u。
可选地,构建单元502E,包括:
第一构建子单元502Ea,用于扫描不确定性数据库D,构建第1-PU表,第1-PU表包括1-项集对应的TID、发生概率、Iutility和Rutility;
或,
第二构建子单元502Eb,用于在第k-PU表中,当(项集效用和Iutility.SUM+项集剩余效用和Rutility.SUM)≥TU*ε,且k-项集所在事务的发生概率之和≥|D|*μ时,根据第k-PU表递归生成第(k+1)-PU表,第(k+1)-PU表中的(k+1)-项集为k项集的超集;Iutility.SUM表示k-项集在不同事务中Iutility之和;Rutility.SUM表示k-项集在不同事务中Rutility之和。
可选地,第一确定模块503,包括:
第二确定单元503B,用于当第k-PU表中,k-项集的Iutility.SUM≥TU*ε,且k-项集所在事务的发生概率之和≥所述|D|*μ时,确定k-项集为高概率且高效用项集。
可选地,该装置,还包括:
第二确定模块504,用于当第k-PU表中,k-项集的(Iutility.SUM+Rutility.SUM)≤TU*ε,确定k-项集及其超集均不是高概率且高效用项集,并对k-项集进行过滤;
或,
第三确定模块505,用于当第k-PU表中,k-项集所在事务的发生概率之和≤|D|*μ,确定k-项集及其超集均不是高概率且高效用项集,并对k-项集进行过滤。
综上所述,本实施例提供的项集挖掘装置,通过从不确定性数据库中挖掘出实际期望支持度大于最小期望支持度,且实际效用值大于最低效用的高概率且高效用项集;解决了现有的基于HUIM的算法由于未考虑事务的发生概率,导致挖掘出实际使用价值较低的项集的问题;达到了挖掘出的项集效用值较高,且实际期望支持度较大,从而保证挖掘出的项集具有较高的实际使用价值的效果。
本实施还通过多次扫描不确定性数据库,获取多个候选项集,并将候选项集中expSup≥|D|*μ且u≥TU*ε的项集确定为高概率且高效用项集,达到了加快挖掘速度,节约计算资源的效果。
本实施例还通过对生成的PU表中的没有前途的项集进行过滤,并根据剩余的有前途的项集生成对应超集的PU表,使得数据挖掘过程中只需要扫描一次不确定性数据库,并生成第1-PU表,并需要根据该第1-PU表生成后续的PU表,不仅减少了扫描不确定性数据库的次数,而且通过缩小所要挖掘数据的范围,提高了挖掘的速度,节约了计算资源。
本实施例还根据PU表检测对应的项集是否有前途,并对没有前途的项集进行过滤,从而减少了后续生成的PU表数量,达到了节约计算资源,提高挖掘速度的效果。
需要说明的是:上述实施例提供的项集挖掘装置在进行项集挖掘时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的项集挖掘装置与项集挖掘方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种项集挖掘方法,其特征在于,所述方法包括:
获取自定义的最小期望支持度μ和最低效用比例ε;
计算不确定性数据库D中项集的实际期望支持度expSup和实际效用值u,所述项集中包含至少一个数据项,所述expSup是指所述不确定数据库中包含所述项集的各个事务各自对应的期望支持度之和,所述不确定性数据库D中存储有商品的购买记录,所述实际效用值u为销售商品所得的利润;
当所述expSup≥|D|*μ,且所述u≥总效用值TU*ε时,确定所述项集为高概率且高效用项集;所述TU表示所述不确定性数据库D中所有数据项的效用之和;所述|D|表示所述不确定性数据库D中包含的事务总数。
2.根据权利要求1所述的方法,其特征在于,所述计算不确定性数据库D中项集的实际期望支持度expSup和实际效用值u,包括:
对于一个项集,计算包含所述项集的事务各自对应的发生概率之和,得到所述项集对应的所述expSup;
将包含所述项集的事务中所述项集所对应的效用值相加,得到所述项集对应的所述u。
3.根据权利要求1所述的方法,其特征在于,所述计算不确定性数据库D中项集的实际期望支持度expSup和实际效用值u,包括:
扫描所述不确定性数据库D,将所述不确定性数据库D中事务权重效用TWU≥所述TU*ε且所述expSup≥所述|D|*μ的k-项集确定为候选项集,所述TWU表示包含所述项集的事务对应的效用值之和,所述k-项集中包含k个数据项,k≥1;
再次扫描所述不确定性数据库D,计算所述候选项集中的各个项集对应的所述u。
4.根据权利要求3所述的方法,其特征在于,所述扫描所述不确定性数据库D,将所述不确定性数据库D中事务权重效用TWU≥所述TU*ε且所述expSup≥所述|D|*μ的k-项集确定为候选项集,包括:
扫描所述不确定性数据库D,获取所述TWU≥所述TU*ε且所述expSup≥所述|D|*μ的k-项集,并将所述k项集添加到第k候选项集;
当所述第k候选项集不为空时,根据所述第k候选项集中的所述k-项集自连接生成(k+1)-项集,所述(k+1)-项集是所述k-项集的超集,所述(k+1)-项集是包含k+1个数据项的项集;
扫描所述不确定性数据库D,获取所述(k+1)-项集中所述TWU≥所述TU*ε且所述expSup≥所述|D|*μ的项集,并将所述项集添加到第k+1候选项集。
5.根据权利要求3或4所述的方法,其特征在于,所述当所述expSup≥|D|*μ,且所述u≥总效用值TU*ε时,确定所述项集为高概率且高效用项集,包括:
将所述候选项集中,所述expSup≥所述|D|*μ且所述u≥所述TU*ε的项集确定为所述高概率且高效用项集。
6.根据权利要求1所述的方法,其特征在于,所述计算不确定性数据库D中项集的实际期望支持度expSup和实际效用值u,包括:
构建概率效用PU表,所述PU表包含k-项集所在事务的编号TID、所述k-项集所在事务对应的发生概率、所述k-项集在事务中的项集效用Iutility以及所述k-项集在事务中的项集剩余效用Rutility,所述项集剩余效用Rutility表示事务中除所述k-项集以外的其它数据项的效用和,所述k-项集包含k个数据项,k≥1;
计算所述PU表中所述k-项集对应的所述expSup和所述u。
7.根据权利要求6所述的方法,其特征在于,所述构建概率效用PU表,包括:
扫描所述不确定性数据库D,构建第1-PU表,所述第1-PU表包括1-项集对应的所述TID、所述发生概率、所述Iutility和所述Rutility;
或,
在第k-PU表中,当(项集效用和Iutility.SUM+项集剩余效用和Rutility.SUM)≥所述TU*ε,且所述k-项集所在事务的所述发生概率之和≥所述|D|*μ时,根据所述第k-PU表递归生成第(k+1)-PU表,所述第(k+1)-PU表中的(k+1)-项集为所述k项集的超集;所述Iutility.SUM表示所述k-项集在不同事务中所述Iutility之和;所述Rutility.SUM表示所述k-项集在不同事务中所述Rutility之和。
8.根据权利要求7所述的方法,其特征在于,所述当所述expSup≥|D|*μ,且所述u≥总效用值TU*ε时,确定所述项集为高概率且高效用项集,包括:
当所述第k-PU表中,所述k-项集的所述Iutility.SUM≥TU*ε,且所述k-项集所在事务的所述发生概率之和≥所述|D|*μ时,确定所述k-项集为所述高概率且高效用项集。
9.根据权利要求7所述的方法,其特征在于,所述方法,还包括:
当所述第k-PU表中,所述k-项集的(所述Iutility.SUM+所述Rutility.SUM)≤所述TU*ε,确定所述k-项集及其超集均不是所述高概率且高效用项集,并对所述k-项集进行过滤;
或,
当所述第k-PU表中,所述k-项集所在事务的所述发生概率之和≤所述|D|*μ,确定所述k-项集及其超集均不是所述高概率且高效用项集,并对所述k-项集进行过滤。
10.一种项集挖掘装置,其特征在于,所述装置包括:
获取模块,用于获取自定义的最小期望支持度μ和最低效用比例ε;
计算模块,用于计算不确定性数据库D中项集的实际期望支持度expSup和实际效用值u,所述项集中包含至少一个数据项,所述expSup是指所述不确定数据库中包含所述项集的各个事务各自对应的期望支持度之和,所述不确定性数据库D中存储有商品的购买记录,所述实际效用值u为销售商品所得的利润;
第一确定模块,用于当所述expSup≥|D|*μ,且所述u≥总效用值TU*ε时,确定所述项集为高概率且高效用项集;所述TU表示所述不确定性数据库D中所有数据项的效用之和;所述|D|表示所述不确定性数据库D中包含的事务总数。
11.根据权利要求10所述的装置,其特征在于,所述计算模块,包括:
第一计算单元,用于对于一个项集,计算包含所述项集的事务各自对应的发生概率之和,得到所述项集对应的所述expSup;
第二计算单元,用于将包含所述项集的事务中所述项集所对应的效用值相加,得到所述项集对应的所述u。
12.根据权利要求10所述的装置,其特征在于,所述计算模块,包括:
第一扫描单元,用于扫描所述不确定性数据库D,将所述不确定性数据库D中事务权重效用TWU≥所述TU*ε且所述expSup≥所述|D|*μ的k-项集确定为候选项集,所述TWU表示包含所述项集的事务对应的效用值之和,所述k-项集中包含k个数据项,k≥1;
第二扫描单元,用于再次扫描所述不确定性数据库D,计算所述候选项集中的各个项集对应的所述u。
13.根据权利要求12所述的装置,其特征在于,所述第一扫描单元,包括:
第一添加子单元,用于扫描所述不确定性数据库D,获取所述TWU≥所述TU*ε且所述expSup≥所述|D|*μ的k-项集,并将所述k项集添加到第k候选项集;
生成子单元,用于当所述第k候选项集不为空时,根据所述第k候选项集中的所述k-项集自连接生成(k+1)-项集,所述(k+1)-项集是所述k-项集的超集,所述(k+1)-项集是包含k+1个数据项的项集;
第二添加子单元,用于扫描所述不确定性数据库D,获取所述(k+1)-项集中所述TWU≥所述TU*ε且所述expSup≥所述|D|*μ的项集,并将所述项集添加到第k+1候选项集。
14.根据权利要求12或13所述的装置,其特征在于,所述第一确定模块,包括:
第一确定单元,用于将所述候选项集中,所述expSup≥所述|D|*μ且所述u≥所述TU*ε的项集确定为所述高概率且高效用项集。
15.根据权利要求10所述的装置,其特征在于,所述计算模块,包括:
构建单元,用于构建概率效用PU表,所述PU表包含k-项集所在事务的编号TID、所述k-项集所在事务对应的发生概率、所述k-项集在事务中的项集效用Iutility以及所述k-项集在事务中的项集剩余效用Rutility,所述项集剩余效用Rutility表示事务中除所述k-项集以外的其它数据项的效用和,所述k-项集包含k个数据项,k≥1;
第三计算单元,用于计算所述PU表中所述k-项集对应的所述expSup和所述u。
16.根据权利要求15所述的装置,其特征在于,所述构建单元,包括:
第一构建子单元,用于扫描所述不确定性数据库D,构建第1-PU表,所述第1-PU表包括1-项集对应的所述TID、所述发生概率、所述Iutility和所述Rutility;
或,
第二构建子单元,用于在第k-PU表中,当(项集效用和Iutility.SUM+项集剩余效用和Rutility.SUM)≥所述TU*ε,且所述k-项集所在事务的所述发生概率之和≥所述|D|*μ时,根据所述第k-PU表递归生成第(k+1)-PU表,所述第(k+1)-PU表中的(k+1)-项集为所述k项集的超集;所述Iutility.SUM表示所述k-项集在不同事务中所述Iutility之和;所述Rutility.SUM表示所述k-项集在不同事务中所述Rutility之和。
17.根据权利要求16所述的装置,其特征在于,所述第一确定模块,包括:
第二确定单元,用于当所述第k-PU表中,所述k-项集的所述Iutility.SUM≥TU*ε,且所述k-项集所在事务的所述发生概率之和≥所述|D|*μ时,确定所述k-项集为所述高概率且高效用项集。
18.根据权利要求16所述的装置,其特征在于,所述装置,还包括:
第二确定模块,用于当所述第k-PU表中,所述k-项集的(所述Iutility.SUM+所述Rutility.SUM)≤所述TU*ε,确定所述k-项集及其超集均不是所述高概率且高效用项集,并对所述k-项集进行过滤;
或,
第三确定模块,用于当所述第k-PU表中,所述k-项集所在事务的所述发生概率之和≤所述|D|*μ,确定所述k-项集及其超集均不是所述高概率且高效用项集,并对所述k-项集进行过滤。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,所述程序由硬件执行以实现如权利要求1至9任一所述的项集挖掘方法。
CN201510115234.5A 2015-03-16 2015-03-16 项集挖掘方法及装置 Active CN106033447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510115234.5A CN106033447B (zh) 2015-03-16 2015-03-16 项集挖掘方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510115234.5A CN106033447B (zh) 2015-03-16 2015-03-16 项集挖掘方法及装置

Publications (2)

Publication Number Publication Date
CN106033447A CN106033447A (zh) 2016-10-19
CN106033447B true CN106033447B (zh) 2020-04-21

Family

ID=57150087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510115234.5A Active CN106033447B (zh) 2015-03-16 2015-03-16 项集挖掘方法及装置

Country Status (1)

Country Link
CN (1) CN106033447B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608182A (zh) * 2015-12-23 2016-05-25 一兰云联科技股份有限公司 面向不确定数据模型中的效用项集挖掘方法
CN107864050A (zh) * 2017-10-20 2018-03-30 国家电网公司 基于格结构的服务器故障高效关联规则分析方法
CN109408563B (zh) * 2018-11-07 2021-06-22 哈尔滨工业大学(深圳) 高平均效用项集挖掘方法、装置及计算机设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171068B2 (en) * 2012-03-07 2015-10-27 Ut-Battelle, Llc Recommending personally interested contents by text mining, filtering, and interfaces
CN103995882B (zh) * 2014-05-28 2017-07-07 南京大学 基于MapReduce的概率频繁项集挖掘方法

Also Published As

Publication number Publication date
CN106033447A (zh) 2016-10-19

Similar Documents

Publication Publication Date Title
US11113313B2 (en) Fast path traversal in a relational database-based graph structure
CN101427248B (zh) 用于基于内容的分割与挖掘的基于系统的方法
EP2364473A2 (en) Method and system for clustering data points
CN107102999B (zh) 关联分析方法和装置
WO2008016822A2 (en) Primenet data management system
Thabtah et al. A new Classification based on Association Algorithm
CN106033447B (zh) 项集挖掘方法及装置
Chang et al. A novel incremental data mining algorithm based on fp-growth for big data
CN111930797A (zh) 不确定周期性频繁项集挖掘方法及装置
Tseng Mining frequent itemsets in large databases: The hierarchical partitioning approach
CN107870956A (zh) 一种高效用项集挖掘方法、装置及数据处理设备
CN105718509A (zh) 一种基于有向图关联规则音乐云推荐算法
Tseng et al. Generating frequent patterns with the frequent pattern list
Subramanian et al. UP-GNIV: an expeditious high utility pattern mining algorithm for itemsets with negative utility values
CN115328883A (zh) 一种数据仓库建模方法和系统
CN108073641B (zh) 查询数据表的方法和装置
Tiwari et al. Improved performance of data warehouse
CN109344169B (zh) 数据处理方法及装置
JP6973137B2 (ja) 生成プログラム、生成方法及び生成装置
CN105159931A (zh) 用于生成同义词的方法和装置
CN109657060B (zh) 安全生产事故案例推送方法及系统
Pham et al. An efficient algorithm for mining sequential rules with interestingness measures
CN106445975B (zh) 项集挖掘方法及装置
Wu et al. A new approach to mine frequent patterns using item-transformation methods
CN110413602B (zh) 一种分层清洗式大数据清洗方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Lin Junwei

Inventor after: Gan Wensheng

Inventor after: Lai Xiaoping

Inventor after: Li Yong

Inventor after: Wang Juhong

Inventor before: Lin Junwei

Inventor before: Lai Xiaoping

Inventor before: Li Yong

Inventor before: Wang Juhong

Inventor before: Gan Wensheng

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant