关联分析基本概念与算法幻灯片

上传人:E**** 文档编号:89877371 上传时间:2019-06-03 格式:PPT 页数:93 大小:4.09MB
返回 下载 相关 举报
关联分析基本概念与算法幻灯片_第1页
第1页 / 共93页
关联分析基本概念与算法幻灯片_第2页
第2页 / 共93页
关联分析基本概念与算法幻灯片_第3页
第3页 / 共93页
关联分析基本概念与算法幻灯片_第4页
第4页 / 共93页
关联分析基本概念与算法幻灯片_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《关联分析基本概念与算法幻灯片》由会员分享,可在线阅读,更多相关《关联分析基本概念与算法幻灯片(93页珍藏版)》请在金锄头文库上搜索。

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

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

3、在包含X的事 务中出现的频繁程度,关联规则挖掘问题,关联规则挖掘问题:给定事务的集合 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)。,频繁项集产生(Frequent Itemset Generation),格结构(lattice structure),频繁项集产生(Frequent Itemset Generation),Brute-force 方法: 把格结构中每个项集作为候选

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

6、t-based pruning) 这种剪枝策略依赖于支持度度量的一个关键性质,即一个项集的支持度决不会超过它的子集的支持度。这个性质也称为支持度度量的反单调性(anti-monotone)。,例子,被剪枝的超集,Apriori算法的频繁项集产生,Apriori算法的频繁项集产生,Items (1-itemsets),Pairs (2-itemsets),Triplets (3-itemsets),支持度阈值=60% 最小支持度计数 = 3,枚举所有项集将产生 6C1 + 6C2 + 6C3 = 41个候选 而使用先验原理,将较少为 6 + 6 + 1 = 13,Apriori 算法,Aprio

7、ri 算法,Apriori算法的频繁项集产生的部分有两个重要的特点: 它是一个逐层算法。即从频繁1-项集到最长的频繁项集,它每次遍历项集格中的一层 它使用产生-测试策略来发现频繁项集。在每次迭代,新的候选项集由前一次迭代发现的频繁项集产生,然后对每个候选的支持度进行计数,并与最小支持度阈值进行比较。 该算法需要的总迭代次数是kmax+1,其中kmax是频繁项集的最大长度,候选的产生与剪枝(构造apriori-gen函数),蛮力方法 蛮力方法把所有的k-项集都看作可能的候选,然后使用候选剪枝除去不必要的候选 第k层产生的候选项集的数目为 虽然候选产生是相当简单的,但是候选剪枝的开销极大,因为必须

8、考察的项集数量太大。 设每一个候选项集所需的计算量为O(k),这种方法 的总复杂度为,候选的产生与剪枝,Items (1-itemsets),Pairs (2-itemsets),Triplets (3-itemsets),支持度阈值=60% 最小支持度计数 = 3,枚举所有项集将产生 6C1 + 6C2 + 6C3 = 41个候选 而使用先验原理,将较少为 6 + 6 + 1 = 13,候选的产生与剪枝,这种方法用其他频繁项来扩展每个频繁(k-1)-项集 这种方法将产生 个候选k-项集,其中|Fj|表示频繁j-项集的个数。这种方法总复杂度是 这种方法是完全的,因为每一个频繁k-项集都是由一个

9、频繁(k-1)-项集和一个频繁1-项集组成的。因此,所有的频繁k-项集是这种方法所产生的候选k-项集的一部分。 然而,这种方法很难避免重复地产生候选项集。 如:面包,尿布,牛奶不仅可以由合并项集面包,尿布和牛奶得到,而且还可以由合并面包,牛奶和尿布得到,或由合并尿布,牛奶和面包得到。,候选的产生与剪枝,候选的产生与剪枝,避免产生重复的候选项集的一种方法是确保每个频繁项集中的项以字典序存储,每个频繁(k-1)-项集X只用字典序比X中所有的项都大的频繁项进行扩展 如:项集面包,尿布可以用项集牛奶扩展,因为“牛奶”(milk)在字典序下比“面包”(Bread)和“尿布”(Diapers)都大。 尽管

10、这种方法比蛮力方法有明显改进,但是仍然产生大量不必要的候选。 例如,通过合并啤酒,尿布和牛奶而得到的候选是不必要的。因为它的子集啤酒,牛奶是非频繁的。,候选的产生与剪枝,这种方法合并一对频繁(k-1)-项集,仅当它们的前k-2个项都相同。 如频繁项集面包,尿布和面包,牛奶合并,形成了候选3-项集面包,尿布,牛奶。算法不会合并项集啤酒,尿布和尿布,牛奶,因为它们的第一个项不相同。 然而,由于每个候选都由一对频繁(k-1)-项集合并而成,因此,需要附加的候选剪枝步骤来确保该候选的其余k-2个子集是频繁的。,候选的产生与剪枝,支持度计数,支持度计数过程确定在apriori-gen函数的候选项剪枝步骤

11、保留下来的每个候选项集出现的频繁程度。计算支持度的主要方法: 一种方法是将每个事务与所有的候选项集进行比较,并且更新包含在事务中的候选项集的支持度计数。这种方法是计算昂贵的,尤其当事务和候选项集的数目都很大时。 另一种方法是枚举每个事务所包含的项集,并且利用它们更新对应的候选项集的支持度。,枚举事务t的所有包含3个项的子集,产生Hash树,Hash函数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

12、, 3 6 8,Hash树结构,1,4,7,2,5,8,3,6,9,Hash Function,Candidate Hash Tree,Hash on 1, 4 or 7,Hash树结构,1,4,7,2,5,8,3,6,9,Hash Function,Candidate Hash Tree,Hash on 2, 5 or 8,Hash树结构,1,4,7,2,5,8,3,6,9,Hash Function,Candidate Hash Tree,Hash on 3, 6 or 9,使用Hash树进行支持度计数,transaction,使用Hash树进行支持度计数,1 5 9,1 3 6,3 4

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

14、,则由于算法产生的候选项集更多,计算量和I/O开销将增加 事务数 由于Apriori算法反复扫描数据集,因此它的运行时间随着事务数增加而增加 事务的平均宽度 频繁项集的最大长度随事务平均宽度增加而增加 随着事务宽度的增加,事务中将包含更多的项集,这将增加支持度计数时Hash树的遍历次数,规则产生,忽略那些前件或后件为空的规则,每个频繁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

15、CD, C ABD, D ABC AB 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),则(ABCD)/ (ABC) (ABCD)/ (AB) ,则c(ABC D) c(AB CD),Apriori 算法中规则的产生,低置信度规则,频繁项集的紧凑表示,由事务数据集产生的频繁项集的数量可能非常大。因此,从中识别出可以推导出其他所有的频繁项集的,较小的,具有代表性的项集是有用的。,最大频繁项集(Maximal Frequent Itemset),频繁项集的边界,不频繁项集,最大频繁项集,最大频繁项集是这样的频繁项集,它的直

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号