数据挖掘-第6章-关联分析基本概念和算法_第1页
数据挖掘-第6章-关联分析基本概念和算法_第2页
数据挖掘-第6章-关联分析基本概念和算法_第3页
数据挖掘-第6章-关联分析基本概念和算法_第4页
数据挖掘-第6章-关联分析基本概念和算法_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、关联分析: 基本概念和算法第6章关联分析: 基本概念和算法定义:关联分析(association analysis)关联分析用于发现隐藏在大型数据集中的令人感兴趣的联系,所发现的模式通常用关联规则或频繁项集的形式表示。关联分析可以应用于生物信息学、医疗诊断、网页挖掘、科学数据分析等Rules Discovered: Diaper - Beer6.1 问题定义项集(Itemset)包含0个或多个项的集合例子: Milk, Bread, Diaperk-项集如果一个项集包含k个项支持度计数(Support count )()包含特定项集的事务个数例如: (Milk, Bread,Diaper) =

2、 2 支持度(Support)包含项集的事务数与总事务数的比值例如: s(Milk, Bread, Diaper) = 2/5频繁项集(Frequent Itemset)满足最小支持度阈值( minsup )的所有项集定义: 关联规则(Association Rule)关联规则关联规则是形如 X Y的蕴含表达式, 其中 X 和 Y 是不相交的项集例子:Milk, Diaper Beer 定义: 关联规则(Association Rule)Example:关联规则的强度支持度 Support (s)确定项集的频繁程度置信度 Confidence (c)确定Y在包含X的事 务中出现的频繁程度关联规

3、则挖掘问题关联规则挖掘问题:给定事务的集合 T, 关联规则发现是指找出支持度大于等于 minsup并且置信度大于等于minconf的所有规则, minsup和minconf是对应的支持度和置信度阈值挖掘关联规则的一种原始方法是:Brute-force approach:计算每个可能规则的支持度和置信度这种方法计算代价过高,因为可以从数据集提取的规则的数量达指数级从包含d个项的数据集提取的可能规则的总数R=3d-2d+1+1,如果d等于6,则R=602挖掘关联规则(Mining Association Rules)大多数关联规则挖掘算法通常采用的一种策略是,将关联规则挖掘任务分解为如下两个主要的

4、子任务: 频繁项集产生(Frequent Itemset Generation)其目标是发现满足最小支持度阈值的所有项集,这些项集称作频繁项集。规则的产生(Rule Generation)其目标是从上一步发现的频繁项集中提取所有高置信度的规则,这些规则称作强规则(strong rule)。6.2 频繁项集产生(Frequent Itemset Generation)格结构(lattice structure)频繁项集产生(Frequent Itemset Generation)Brute-force 方法: 把格结构中每个项集作为候选项集将每个候选项集和每个事务进行比较,确定每个候选项集的支持

5、度计数。时间复杂度 O(NMw),这种方法的开销可能非常大。降低产生频繁项集计算复杂度的方法减少候选项集的数量 (M)先验(apriori)原理减少比较的次数 (NM)替代将每个候选项集与每个事务相匹配,可以使用更高级的数据结构,或存储候选项集或压缩数据集,来减少比较次数先验原理( Apriori principle)先验原理:如果一个项集是频繁的,则它的所有子集一定也是频繁的相反,如果一个项集是非频繁的,则它的所有超集也一定是非频繁的:这种基于支持度度量修剪指数搜索空间的策略称为基于支持度的剪枝(support-based pruning)这种剪枝策略依赖于支持度度量的一个关键性质,即一个项

6、集的支持度决不会超过它的子集的支持度。这个性质也称为支持度度量的反单调性(anti-monotone)。非频繁项集例子被剪枝的超集Apriori算法的频繁项集产生Apriori算法的频繁项集产生Items (1-itemsets)Pairs (2-itemsets)Triplets (3-itemsets)支持度阈值=60%最小支持度计数 = 3枚举所有项集将产生 个候选而使用先验原理,将减少为6 + 6 + 1 = 13Apriori 算法Apriori 算法Apriori算法的频繁项集产生的部分有两个重要的特点:它是一个逐层算法。即从频繁1-项集到最长的频繁项集,它每次遍历项集格中的一层它

7、使用产生-测试策略来发现频繁项集。在每次迭代,新的候选项集由前一次迭代发现的频繁项集产生,然后对每个候选的支持度进行计数,并与最小支持度阈值进行比较。该算法需要的总迭代次数是kmax+1,其中kmax是频繁项集的最大长度候选的产生与剪枝(构造apriori-gen函数)候选项集的产生候选项集的剪枝蛮力方法蛮力方法把所有的k-项集都看作可能的候选,然后使用候选剪枝除去不必要的候选第k层产生的候选项集的数目为虽然候选产生是相当简单的,但是候选剪枝的开销极大,因为必须考察的项集数量太大。设每一个候选项集所需的计算量为O(k),这种方法 的总复杂度为候选的产生与剪枝Items (1-itemsets)

8、Pairs (2-itemsets)Triplets (3-itemsets)支持度阈值=60%最小支持度计数 = 3枚举所有项集将产生 个候选而使用先验原理,将减少为6 + 6 + 1 = 13候选的产生与剪枝 这种方法用其他频繁项来扩展每个频繁(k-1)-项集这种方法将产生 个候选k-项集,其中|Fj|表示频繁j-项集的个数。这种方法总复杂度是这种方法是完全的,因为每一个频繁k-项集都是由一个频繁(k-1)-项集和一个频繁1-项集组成的。因此,所有的频繁k-项集是这种方法所产生的候选k-项集的一部分。候选的产生与剪枝候选的产生与剪枝 然而,这种方法很难避免重复地产生候选项集。 如:面包,尿

9、布,牛奶不仅可以由合并项集面包,尿布和牛奶得到,而且还可以由合并面包,牛奶和尿布得到,或由合并尿布,牛奶和面包得到。候选的产生与剪枝避免产生重复的候选项集的一种方法是确保每个频繁项集中的项以字典序存储,每个频繁(k-1)-项集X只用字典序比X中所有的项都大的频繁项进行扩展 如:项集面包,尿布可以用项集牛奶扩展,因为“牛奶”(milk)在字典序下比“面包”(Bread)和“尿布”(Diapers)都大。尽管这种方法比蛮力方法有明显改进,但是仍然产生大量不必要的候选。 例如,通过合并啤酒,尿布和牛奶而得到的候选是不必要的。因为它的子集啤酒,牛奶是非频繁的。候选的产生与剪枝 这种方法合并一对频繁(k

10、-1)-项集,仅当它们的前k-2个项都相同。 如频繁项集面包,尿布和面包,牛奶合并,形成了候选3-项集面包,尿布,牛奶。算法不会合并项集啤酒,尿布和尿布,牛奶,因为它们的第一个项不相同。然而,由于每个候选都由一对频繁(k-1)-项集合并而成,因此,需要附加的候选剪枝步骤来确保该候选的其余k-2个子集是频繁的。候选的产生与剪枝支持度计数支持度计数过程确定在apriori-gen函数的候选项剪枝步骤保留下来的每个候选项集出现的频繁程度。计算支持度的主要方法:一种方法是将每个事务与所有的候选项集进行比较,并且更新包含在事务中的候选项集的支持度计数。这种方法是计算昂贵的,尤其当事务和候选项集的数目都很

11、大时。另一种方法是枚举每个事务所包含的项集,并且利用它们更新对应的候选项集的支持度。枚举事务t的所有包含3个项的子集产生Hash树2 3 45 6 71 4 51 3 61 2 44 5 71 2 54 5 81 5 93 4 53 5 63 5 76 8 93 6 73 6 81,4,72,5,83,6,9Hash functionHash函数h(p)=p mod 3假设有15个候选3-项集: 1 4 5, 1 2 4, 4 5 7, 1 2 5, 4 5 8, 1 5 9, 1 3 6, 2 3 4, 5 6 7, 3 4 5, 3 5 6, 3 5 7, 6 8 9, 3 6 7, 3

12、6 8Hash树结构1 5 91 4 51 3 63 4 53 6 73 6 83 5 63 5 76 8 92 3 45 6 71 2 44 5 71 2 54 5 81,4,72,5,83,6,9Hash FunctionCandidate Hash TreeHash on 1, 4 or 7Hash树结构1 5 91 4 51 3 63 4 53 6 73 6 83 5 63 5 76 8 92 3 45 6 71 2 44 5 71 2 54 5 81,4,72,5,83,6,9Hash FunctionCandidate Hash TreeHash on 2, 5 or 8Hash树

13、结构1 5 91 4 51 3 63 4 53 6 73 6 83 5 63 5 76 8 92 3 45 6 71 2 44 5 71 2 54 5 81,4,72,5,83,6,9Hash FunctionCandidate Hash TreeHash on 3, 6 or 9使用Hash树进行支持度计数1 5 91 4 51 3 63 4 53 6 73 6 83 5 63 5 76 8 92 3 45 6 71 2 44 5 71 2 54 5 81 2 3 5 61 +2 3 5 63 5 62 +5 63 +1,4,72,5,83,6,9Hash Functiontransacti

14、on使用Hash树进行支持度计数1 5 91 4 51 3 63 4 53 6 73 6 83 5 63 5 76 8 92 3 45 6 71 2 44 5 71 2 54 5 81,4,72,5,83,6,9Hash Function1 2 3 5 63 5 61 2 +5 61 3 +61 5 +3 5 62 +5 63 +1 +2 3 5 6transaction使用Hash树进行支持度计数1 5 91 4 51 3 63 4 53 6 73 6 83 5 63 5 76 8 92 3 45 6 71 2 44 5 71 2 54 5 81,4,72,5,83,6,9Hash Func

15、tion1 2 3 5 63 5 61 2 +5 61 3 +61 5 +3 5 62 +5 63 +1 +2 3 5 6transaction15个项集中的9个与事务进行比较存放在被访问的叶结点中的候选项集与事务进行比较,如果候选项集是该事务的子集,则增加它的支持度计数。在该例子中 ,访问了9个叶子结点中的5个。15个项集中的9个与事务进行比较计算复杂性支持度阈值 降低支持度阈值通常将导致更多的项集是频繁的。计算复杂度增加随着支持度阈值的降低,频繁项集的最大长度将增加,导致算法需要扫描数据集的次数也将增多项数 随着项数的增加,需要更多的空间来存储项的支持度计数。如果频繁项集的数目也随着数据项

16、数增加而增长,则由于算法产生的候选项集更多,计算量和I/O开销将增加事务数 由于Apriori算法反复扫描数据集,因此它的运行时间随着事务数增加而增加事务的平均宽度频繁项集的最大长度随事务平均宽度增加而增加随着事务宽度的增加,事务中将包含更多的项集,这将增加支持度计数时Hash树的遍历次数6.3 规则产生忽略那些前件或后件为空的规则,每个频繁k-项集能够产生多达2k-2个关联规则关联规则的提取:将一个项集 Y划分成两个非空的子集 X 和Y-X,使得X Y X满足置信度阈值。如果 A,B,C,D 是频繁项集, 候选项集为:ABC D, ABD C, ACD B, BCD A, A BCD,B A

17、CD,C ABD, D ABCAB CD,AC BD, AD BC, BC AD, BD AC, CD AB,这样的规则必然已经满足支持度阈值,因为它们是由频繁项集产生的。规则产生怎样有效的从频繁项集中产生关联规则?一般,计算关联规则的置信度并不需要再次扫描事务数据集。规则A,B,C D的置信度为(ABCD)/ (ABC)。 因为这两个项集的支持度计数已经在频繁项集产生时得到,因此不必再扫描整个数据集如果规则X Y-X不满足置信度阈值,则形如XY-X的规则一定也不满足置信度阈值,其中X是X的子集。 例如:c(ABC D) c(AB CD) c(A BCD) 因为(AB) (ABC),则(ABC

18、D)/ (ABC) (ABCD)/ (AB) ,则c(ABC D) c(AB CD) Apriori 算法中规则的产生被剪枝的规则低置信度规则Apriori 算法中规则的产生6.4 频繁项集的紧凑表示由事务数据集产生的频繁项集的数量可能非常大。因此,从中识别出可以推导出其他所有的频繁项集的,较小的,具有代表性的项集是有用的。频繁项集的数量需要紧凑的表示最大频繁项集(Maximal Frequent Itemset)频繁项集的边界不频繁项集最大频繁项集最大频繁项集是这样的频繁项集,它的直接超集都不是频繁的非频繁的频繁的最大频繁项集的特点优点:最大频繁项集有效地提供了频繁项集的紧凑表示。 换句话说

19、,最大频繁项集形成了可以导出所有频繁项集的最小的项集的集合。从图中,可以看出,所有的频繁项集是最大频繁项集 A,D, A,C,E, B,C,D,E的子集缺点:尽管最大频繁项集提供了一种紧凑表示,但是它却不包含它们子集的支持度信息。频繁闭项集(Closed Frequent Itemset)闭项集(Closed Itemset):项集X是闭的,如果它的直接超集都不具有和它相同的支持度计数。换句话说,如果至少存在一个X的直接超集,其支持度计数与X相同,X就不是闭的。频繁闭项集: 一个项集是频繁闭项集,如果它是闭的,并且它的支持度大于或等于最小支持度阈值。频繁闭项集Transaction IdsNo

20、t supported by any transactions频繁闭项集minsup = 40%# Closed Frequent Itemset = 9# Maximal Frequent itemset = 4频繁项集、最大频繁项集和频繁闭项集之间的关系使用频繁闭项集进行支持度计数6.5 产生频繁项集的其他方法项集格遍历一般到特殊 vs 特殊到一般。一般到特殊:适合于频繁项集的最大长度不是太长的时候。特殊到一般:适合于处理频繁项集的最大长度较长的时候产生频繁项集的其他方法项集格遍历等价类:将格划分为两个不相交的节点组(或等价类)。频繁项集产生算法依次在每个等价类内搜索频繁项集Apriori

21、算法采用的逐层策略可以看作根据项集的大小划分格。等价类也可以根据项集的前缀或后缀来定义。产生频繁项集的其他方法项集格遍历宽度优先与深度优先通常,深度优先搜索方法是用于发现最大频繁项集的算法产生频繁项集的其他方法事务数据集的表示水平数据分布(horizontal data layout)垂直(vertical data layout)6.6 FP增长算法(FP-growth Algorithm)不产生候选项集的算法该算法采用完全不同的方法来发现频繁项集。该算法不同于Apriori算法的“产生-测试”范型。而是使用一种称作FP树的紧凑数据结构组织数据,并直接从该结构中提取频繁项集。FP树是一种输入

22、数据的压缩表示,它通过逐个读入事务,并把每个事务映射到FP树中的一条路径来构造。 构造FP树扫描一次数据集,确定每个项的支持度计数。丢弃非频繁项,将频繁项按照支持度的递减排序算法第二次扫描数据集,构建FP树:创建根节点,用null标记;将每个事务中的项按递减支持度计数排列,并对每个事务创建一个分支;当为一个事务考虑增加分支时,沿共同前缀上的每个节点的计数加1,为跟随前缀后的项创建节点并连接。继续该过程,直到每个事务都映射到FP树的一条路径。创建一个项头表,以方便遍历,每个项通过一个节点链指向它在树中的出现。构造FP树nullA:1B:1nullA:1B:1B:1C:1D:1读入事务 TID=1

23、后:读入事务 TID=2后:构造FP树D:1E:1nullA:2B:1B:1C:1D:1读入事务 TID=3后:C:1构造FP树nullA:8B:5B:2C:2D:1C:1D:1C:3D:1D:1E:1E:1D:1E:1Header table构造FP树通常,FP树的大小比未压缩的数据小,因为购物篮数据的事务常常共享一些共同项。如果共同项较少,FP树对存储空间的压缩效果将不明显。FP树的大小也依赖于项如何排序。一般按照支持度计数递减序可以导致较小的FP树。但也有一些例外。FP树还包含一个连接具有相同项的结点的指针列表。这些指针有助于方便快捷地访问树中的项。构造FP树FP增长(FP-growth

24、)算法FP增长是一种以自底向上方式探索树,由FP树产生频繁项集的算法。由于每一个事务都映射到FP树中的一条路径,因而通过仅考察包含特定结点(例如e)的途径,就可以发现以e结尾的频繁项集。使用与结点e相关联的指针,可以快速访问这些路径。FP增长(FP-growth)算法FP增长(FP-growth)算法FP增长(FP-growth)算法发现以e结尾的频繁项集的任务:收集包含e结点的所有路径。前缀路径通过把与e相关联的支持度计数相加得到e的支持度计数。如果e是频繁的,则解决发现以de、ce、be和ae结尾频繁项集的子问题。先将前缀路径转化为条件FP树,步骤如下:更新前缀路径上的支持度计数。删除e的

25、结点,修剪前缀路径。删除不频繁项。FP增长使用e的条件FP树来解决发现以de,ce,be和ae结尾的频繁项集的子问题。FP增长(FP-growth)算法6.7 关联模式的评估(Pattern Evaluation)关联分析算法往往产生大量的规则,而其中很大一部分可能是不感兴趣的。 因此,建立一组广泛接受的评价关联模式质量的标准是非常重要的。第一组标准可以通过统计论据建立。涉及相互独立的项或覆盖少量事务的模式被认为是不令人感兴趣的,因为它们可能反映数据中的伪联系。这些令人感兴趣的模式可以使用客观兴趣度度量来排除。第二组标准可以通过主观论据建立。一个模式被主观认为是无趣的,除非它能够揭示料想不到的

26、信息或提供导致有益的行动的有用信息。例如:黄油 面包可能不是有趣的,尽管有很高的支持度和置信度,但是它表示的关系显而易见。另一方面,规则尿布 啤酒是有趣的,因为这种联系十分出乎意料,并且可能为零售商提供新的交叉销售机会。将主观知识加入到模式的评价中是一项困难的任务,因为需要来自领域专家的大量先验信息。兴趣度客观度量(objective interestingness measure)客观兴趣度度量使用从数据推导出的统计量来确定模式是否是有趣的。客观兴趣度度量的例子包括支持度、置信度、相关性。给定一个规则 X Y, 我们可以构建一个相依表(contingency table)。YY Xf11f1

27、0f1+X f01f00fo+f+1f+0|T|Contingency table for X Y支持度-置信度框架的局限性现有的关联规则的挖掘算法依赖于支持度和置信度来除去没有意义的模式。例子:假定希望分析爱喝咖啡和爱喝茶的人之间的关系。收集一组人关于饮料偏爱的信息,并汇总到下表6-8。CoffeeCoffeeTea15050200Tea6501508008002001000支持度-置信度框架的局限性可以使用表中给出的信息来评估关系规则茶 咖啡。似乎喜欢喝茶的人也喜欢喝咖啡,因为该规则的支持度(15%)和置信度(75%)都相当高。但是所有人中,不管他是否喝茶,喝咖啡的人的比例为80%。这意味

28、着,一个人如果喝茶,则他喝咖啡的可能性由80%减到了75%。置信度的缺点在于该度量忽略了规则后件中项集的支持度。由于支持度-置信度框架的局限性,各种客观度量已经用来评估关联模式。下面,简略介绍这些度量并解释它们的优点和局限性。兴趣因子相关分析IS度量兴趣因子茶和咖啡的例子表明,由于置信度度量忽略了规则后件中出现的项集的支持度,高置信度的规则有时存在误导。解决这个问题的一种方法是使用称作提升度(lift)的度量: 它计算规则置信度和规则后件中项集的支持度之间的比率对于二元变量,提升度等价于另一种称作兴趣因子(interest factor)的客观度量,其定义如下:对于相互独立的两个变量,I(A,

29、B)=1。如果A和B是正相关的,则I(A,B)1。对于表6-8中的例子,I=0.15/(0.2*0.8)=0.9375, 这表明存在负相关。兴趣因子的局限性表6-9显示了两个词p,q和r,s出现的频率。p,q和r,s的兴趣因子分别为1.02和4.08.这表明虽然p和q同时出现在88%的文档中,但是它们的兴趣因子接近于1,表明二者是相互独立的。另一方面,r,s的兴趣因子比p,q的高,尽管r和s很少同时出现在同一个文档中。这种情况下,置信度可能是一个更好的选择,因为置信度表明p和q之间的关联(94.6%)远远强于r和s之间的关联(28.6%).表6-9ppq88050930q50207093070

30、1000rrs205070s50880930709301000相关分析对于二元变量,相关度可以用以下公式表示。相关度的值从-1(完全负相关)到+1(完全正相关)。如果变量是统计独立的,则值为0.例如:在表6-8中给出的饮茶者和喝咖啡者之间的相关度为-0.0625。相关分析的局限性相关性的缺点通过表6-9所给出词的关联可以看出.虽然p和q同时出现的次数比r和s更多,但是它们的系数是相同的,都等于0.232。这是因为,这种方法把项在事务中出现和同时不出现视为同等重要。因此,它更适合于分析对称的二元变量。这种度量的另一个局限性是,当样本大小成比例变化时,它不能够保持不变。IS度量IS是另一种度量,用

31、于处理非对称二元变量。该度量定义如下:表6-9中显示的词对p,q和r,s的IS值分别是0.946和0.286.IS度量暗示p,q之间的关联强于r,s,这与期望的文档中词的关联一致。可以证明IS数学上等价于二元变量的余弦变量IS度量也可以表示为从一对二元变量中提取出的关联规则的置信度的几何平均值:IS度量的局限性一对相互独立的项集A和B的IS值是:尽管表6-10中所显示的项p和q之间的IS值相当大(0.889),当项统计独立时它仍小于期望值(ISindep=0.9)。表6-10ppq800100900q10001009001001000其他客观兴趣度度量不同度量间的比较客观度量的性质反演性客观度

32、量M在反演操作下是不变的,如果交换频度计数f11和f00、f10和f01它的值保持不变.在反演操作下保持不变的度量有系数、几率、k和集体强度。这些度量可能不适合于分析非对称的二元数据。一些非反演不变的度量包括兴趣因子、IS、PS、Jaccard系数。零加性客观度量M在零加操作下是不变的,如果增加f00而保持相依表中所有其他的频度不变并不影响M的值.对文档分析或购物篮分析这样的应用,期望度量多在零加操作下保持不变。满足零加性的度量包括余弦(IS)和Jaccard度量,而不满足该性质的度量包括兴趣因子、PS、几率和系数。缩放性客观度量M在行/列缩放操作下是不变的,如果M(T)=M(T),其中T是频度计数为f11,f00,f10,f01的相依表。T是频度计数为k1k3f11, k2k3f10, k1k4f01, k2k4f00的相依表。MaleFemaleHigh302050Low4010507030100MaleFemaleHigh6060120Low803011014090230表6-16显示了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论