基于多变量提升度量在Apriori算法中的研究与应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于多变量提升度量在Apriori 算法中的研究与应用
高乾,吕成兴,王强德
曲阜师范大学自动化研究所,山东日照(276826)
E-mail :gaoqian925@
摘 要:关联规则挖掘是数据挖掘的一个重要研究方向。传统关联规则使用支持度-置信度框架来进行数据挖掘,所得到的规则并不一定全都是用户感兴趣的,有些甚至是误导的。本文改进了传统的基于支持度-置信度框架的关联规则,引入了相关度量—提升度,并将提升度由二元变量扩展至多元变量使其更加适合于大型数据库。实验结果表明,使用提升度框架进行关联规则挖掘,获得的规则数量少,能够挖掘出支持度-置信度框架下遗漏的许多有用规则,实用价值高,无错误规则,是一种比较理想的关联规则挖掘模式。
关键词:数据挖掘,关联规则,提升度,多元变量
中图分类号:TP319
1.引言
数据挖掘[1],就是从大型数据库的数据中提取人们感兴趣的知识。这些知识是隐含的、事先未知的、潜在的有用信息,提取的知识表示为概念、规则、规律、模式等形式。数据挖掘的主要功能有:关联分析、分类、聚类、时序模式、偏差检测和预测等。其中关联规则是数据挖掘的一个重要研究方向,旨在发现大型事务数据库或数值数据库中的项目之间有趣的关系。自Agrawal 等人开创性的提出Apriori 算法[2]之后,关联分析在理论方面已有大量的研究成果。专家们相继提出了FP-树频集算法,多层关联规则挖掘,多维关联规则挖掘等算法。而这些关联规则算法本质上都是使用支持度-置信度框架来进行数据挖掘,所得到的规则并不一定全都是用户感兴趣的,有些甚至是误导的。本文改进了传统基于支持度-置信度框架的关联规则,引入了相关度量—提升度,并将提升度由二元变量扩展至多元变量使其更加适合于大型数据库。
2. 关联规则描述
关联规则[3]是形如 X Y → 的蕴含表达式,其中 X 和Y 是不相交的项集,即X Y ∩=∅。关联规则的强度可以用它的支持度和置信度度量。支持度 (sup ) 和置信度 (conf )的定义如下:
()
sup()()()X Y X Y N X Y conf X Y X σσ∪→=∪→= (2—1) 其中 ()X σ 表示事务集中含有项集 X 的事务个数,N 表示事务集中事务的总数。()X Y σ∪ 表示事务集中同时出现项集 X 和项集 Y 的事务个数。
关联规则发现 对于给定事务的集合 T ,找出支持度大于等于 minsup 并且置信度大于等于 minconf 的所有规则,其中 minsup 和 minconf 是对应的支持度和置信度的阈值。
经典的关联规则算法是由 Agrawal 等人于 1993 年提出的 Apriori 算法,将关联规则挖掘任务分成两部分:
(1) 频繁项集的产生,即发现满足最小支持度阈值的所有项集,这些项集称为频繁项集。
(2) 规则的产生,即从发现的频繁项集中提取所有满足最小置信度阈值的规则,这些规
则称作强关联规则。
3.相关度框架在关联规则中的应用
3.1相关度的引入
基于支持度和置信度框架提取的强关联规则并不一定都是用户有用的,感兴趣的。我们给出如下例子加以说明。
例 1 假设分析某商场足球与篮球的销售量之间的关系,我们现将收集的一组信息汇总于下表中。
表1 足球与篮球销售量的二元相依表
表1是足球与篮球销售量的二元相依表,表中篮球和足球分别表示项集{篮球}和{足球}的负项,即为不购买篮球或足球的人数。从表中我们可以得到一组规则{篮球}→{足球}(sup=15%,conf=75%),由于其支持度和置信度都比较高,人们似乎可以接受这个推论,但是在所有事物中,不管是否买篮球,买足球的人都占总数的80%,而购买足球的同时购买篮球的人却只占75%。由此说明规则{篮球}→{足球}尽管有很高的置信度,但是它错误的。而购买足球又同时购买篮球的人所占的比例明显少于单纯购买足球的人的比例,这表明篮球并不能促销足球反而起到了抑制的作用。当支持度和置信度框架不能够完全正确的为规则的有效性把关时,一些学者提出了相关度的度量【4,5】。
3.2目前几种主要的相关度量
(1)皮尔逊 2χ 统计量
()()()
22,f E f jk jk
j k E f jk χ−∑= (3—1) f jk 表示列联表中一个特定单元的频率。E(f jk ) 表示该单元的期望频率。它的计算方法是: ()f f j k E f N jk N N
++=×× (3—2) f j+ 表示第 j 行所有单元的频率之和, f +k 表示第 k 列所有单元的频率之和。
2χ 统计量把数据集的真实分布和在一个空假设下的期望作比较。为了测试项间的相关性,空假设假定模式中的项之间是独立的。那么,在由数据集提供的证据的基础上,人们能够确定是接受还是拒绝独立性假设。简单地说,把数据集的真实分布和在一个空假设下的期望作比较。2χ 度量观察到的频率和期望频率之间的标准化偏差。偏差越大,我们就越有证据拒绝独立性假设。如果变量之间有很强的正(负)关联,其值将会很大。
(2) 提升度 lift 度量:
这个度量定义为规则置信度和规则后件中项集的支持度之间的比率。
()()sup()
conf X Y lift X Y Y →→= (3—3) 基于提升度的定义,我们进一步讨论它的变形。
()()()()()()sup()sup()sup()
sup()()1111X Y X Y N conf X Y X N X lift X Y Y Y Y X Y N X Y Nf X Y X Y f f σσσσσ∪∪→→====→∪==++ (3—4) 由推导过程我们可以看到对于二元变量提升度实际上是比较模式的频率与统计独立假定下计算的基线频率。对于互相独立的两个变量,基线频率为:
1111f f f N N N
++=× (3—5) 该式中分式 11f N 是联合概率P(X,Y) 的估计,而 1f N + 和 1f N + 分别是概率P(X) 和 P(Y)的估计。如果 A 和 B 是相互独立的,则 P(X,Y)= P(X)×P(Y),从而产生了(3—5)式。使用(3—4)式和(3—5)式,提升度量可以解释如下:
lift 的取值范围是 [)0,∞,当 ()lift X Y →<1 时,说明 X 的出现会抑制 Y 的出现,它们是负相关的;当 ()lift X Y →=1 时,说明 X 的出现和 Y 的出现无关,它们是独立的;当 ()lift X Y →>1 时,说明 X 的出现能够提升 Y 的出现,它们是正相关的。
(3)余弦度量
给定两个项集 X 和 Y ,X 和 Y 的余弦度量定义为:
cos (,)ine X Y (3—6) 余弦度量可以看作调和的提升度度量,余弦值只受 X 、Y 和X Y
∪的支持度的影响,而不受事务个数的影响。
3.3 基于多变量的提升度量
上文提到的几种度量都是针对二元变量定义的(如,2-项集或者规则)。但是我们平时所涉及到的数据往往都是大型数据库,具有多个数据属性和多元数据变量。通过挖掘将会找到较大的项目集,那么对于上述度量将无法使用。所以我们将对提升度进行扩展使其适合较大的项目集或规则集。
根据(3-5)式,可以将二元变量的基线频率扩展至多元变量
1212k
k
i i i i i i f f f N N N N f ++++
++
×××=L L L L L (3—7)
12k
i i i N f L 表示联合概率12()k P i i i L 的估计,1i f N ++
L ,2i f N ++
L 和k
i f N ++L 分别表示概率1()P i ,
2()P i 和()k P i 的估计。如果(3—7)式成立则有12,,,k i i i L 是相互独立的。因而,给定一个k-项集 {}12,,,k i i i L ,其统计独立性条件可以定义为: