关联规则挖掘方法的改进

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[收稿日期] 2005 08 08

[基金项目] 吉林省科技发展计划项目(20040529)

[作者简介] 伊卫国(1979-),男,硕士,主要从事人工智能、数据挖掘研究;卫金茂(1967-),男,博士,副教授,主要从事数据库开

发、数据挖掘研究.

[文章编号]1000 1832(2006)02 0015 04

关联规则挖掘方法的改进

伊卫国,卫金茂,王名扬

(东北师范大学物理学院,吉林长春130024)

[摘 要] 分析了关联规则的衡量标准,针对其中的缺点和不足,提出了一种匹配度方法用以取代置信度,并将匹配度方法生成的规则与支持度-置信度框架生成的规则进行了比较.结果

表明:用匹配度方法生成的规则不仅前件和后件具有较高的相关性,而且减少了冗余规则的生成.

[关键词] 数据挖掘;关联规则;相关性;匹配度

[中图分类号] TP 181 [学科代码] 120 10 [文献标识码] A

0 引言

在交易数据库中挖掘关联规则是数据挖掘领域中的一个非常重要的课题[1].关联规则是发现数据库中不同项之间的联系,这些规则可用于发现顾客购买行为模式,如购买了某些商品对购买其他商品的影响.这样的规则可应用于商品货架设计、货存安排以及根据购买模式对用户进行分类等.

关联规则的基本问题描述如下:设I {i 1,i 2, ,i m }是二进制文字的集合,其中的元素称为项(item ).定义交易(transaction)T 为项的集合,并且T I ,定义D 为交易T 的集合.设X 是I 中若干项的集合,如果X T ,那么称交易T 包含X .在项目集中所包含的项的个数成为项目集的长度.关联规则是形如X Y 的蕴涵式,这里X !I ,Y !I ,并且X !Y = .规则X Y 在交易数据库D 中的支持度(support )是交易集中包含X 和Y 的交易数与所有交易数之比,记为support (X Y ),即support (X Y )=|{T :X ∀Y T ,T #D }|/|D |.规则X Y 在交易集中的置信度(confidence )是指包含X 和Y 的交易数与包含X 的交易数之比,记为confidence (X

Y),即confidence (X Y)=|{T :X ∀Y T ,

T #D}|/|{T :X T ,T #D}|.

给定一个交易集D ,挖掘关联规则就是找出支持度和置信度分别大于用户给定的最小支持度(minsup )和最小置信度(minconf )的关联规则.因此挖掘关联规则可分解为如下两个子问题:

(1)找出交易数据库D 中所有大于等于用户指定最小支持度的项目集(itemset ).具有最小支持度的项目集称为频集.

(2)利用频集生成关联规则.对每一个频集M ,找到M 的所有非空子集m ,若support (M )/support (m )∃minconf ,就生成关联规则m (M -m ),support (M )/support (m )为规则m (M -m )的置信度.其中m 定义为规则的前件,M -m 定义为规则的后件.

由于频集的生成需要多次扫描数据库,算法的频率显得非常关键,所以目前许多研究都集中在提高频集生成的算法效率上.R ∀Ag raw al 等人提出了apriori 算法

[2]

;Park 等人提出了PH D 算

法.还有许多比较热门的研究课题,如apriori 算法的改进,关联规则的增量更新,有效关联规则的研究,基于神经网络的关联规则等[3-8]

.本文主

要讨论如何进一步挖掘有效关联规则.

第38卷第2期东北师大学报(自然科学版)

Vol.38N o.22006年6月

Journal of N ortheast N ormal U niversity (N atural Science Edition)

June 2006

1 关联规则衡量标准

在生成关联规则的模式中,一直沿用支持度-置信度的框架来生成关联规则.但是利用该框架生成规则时,会产生大量冗余的、不相关的规则.我们首先看一个实例,如表1.

表1 一组交易数据

T ID items

01C,R,K,H,M,N

02C,R,K,H,M,N

03E,C,R,K

04E,F,R,H,N

05E,F,R,H

06E,F,R

07E,R

08F,R

09E,R

10F,R

这里我们只讨论若干长度为2的项目集,首先规定最小支持度和置信度分别为0∀2和0∀5.从表中可以看出C和K总是同时出现或不出现,应该是有效的关联规则,计算得到C K的支持度和置信度分别为0∀3和1.同样可得C R支持度和置信度也分别为0∀3和1.可以看出C

K和C R具有相同的支持度和置信度,应该都是有效的关联规则.但从表1中可以看到无论C 是否出现,R总是出现.很显然C R不是有效的关联规则.再看F E的支持度和置信度分别为0∀3和0∀6,大于最小支持度和置信度,也应该为有效的规则,但是我们计算得到P(EF)= P(E)%P(F).从数学的角度讲它们是无关的,只有当P(EF)>P(E)%P(F),我们才认为E 和F具有相关性.针对项目集之间的相关性也有许多学者、专家对此进行了研究[9-10],并定义了兴趣度阈值来减少不相关规则的产生。所以并不是所有满足最小支持度和置信度的规则都是有效的.

下面从理论上分析支持度-置信度框架.支持度代表项目集出现的频度,只有项目集频繁出现,才能比较准确地找出其中的规律.如果项目集出现不够频繁,则很难从其中找到规律;置信度表示某些项目集的出现会导致其他项目集的出现.但是我们看到关联规则F E的置信度只考虑了F出现时E出现的可能性,而没有考虑到F不出现时E出现的可能性,以及F和E是否相关.所以使得挖掘出的许多关联规则是无效的.

2 衡量标准的改进

针对关联规则的上述问题,我们发现置信度的描述不够完善,不足以表达项目集之间的相关程度.在文献[8]中作者利用有效度取代置信度的方法来产生关联规则.有效度的定义为:有效度= (在D数据库中X与Y同时出现的概率)-(在D数据库中#X与Y同时出现的概率).用公式表示为:Validity=P(X Y)-P(#X Y).其中定义Va lidity为有效度.我们发现有效度的引入虽然可以减少一部分冗余规则的产生,但是仍然不能消除不相关规则的产生.还是以表1为例,看这样一个规则E F,其支持度为0∀3,有效度Validity= 0∀3-0∀2=0∀1.按照文献[8]的方法,它应该是一个有效的关联规则.但通过计算得到P(EF)= P(E)%P(F),说明E和F是不相关的.所以用有效度来取代置信度也有不足的地方.

本文采用一种新的方法来替代置信度,用以改进置信度所产生的缺点和不足.定义匹配度(match),则生成关联规则必须同时满足以下两个条件:

(1)找出交易数据库D中所有大于等于用户指定最小支持度的项目集(itemset).具有最小支持度的项目集称为频集.否则为非频集.

(2)利用频集生成关联规则.对每一个频集M,若m!M,m& 且匹配度不小于用户给定的最小匹配度,则生成关联规则m(M-m).

如果P(A)表示A出现的概率,P(B)表示B出现的概率,P(AB)表示A与B同时出现的概率,P(#A B)表示#A与B同时出现的概率, P(#A)表示A不出现的概率.则定义A B的匹配度为:(A B的置信度)-(#A B的置信度),即

match=

P(AB)

P(A)

-

P(#A B)

P(A)

.

为便于公式理解和计算,可将上式变形为: m atch=

P(A B)-P(A)%P(B)

P(A)%(1-P(A)).

当某一项目集支持度为1时,我们认为它与任何其他项目集之间不具有相关性,将不考察该项目集与其他项目集之间的匹配度,则任何一个

16东北师大学报(自然科学版)第38卷

相关文档
最新文档