第六讲(关联规则分析)课件.ppt
《第六讲(关联规则分析)课件.ppt》由会员分享,可在线阅读,更多相关《第六讲(关联规则分析)课件.ppt(54页珍藏版)》请在三一办公上搜索。
1、关联规则分析-大型数据库中关联规则挖掘 (概念描述、关联规则分析、分类、预测、聚类及孤立点分析等等),用DMQL深入学习各种数据挖掘功能之二,什么是关联规则挖掘?,关联规则挖掘:从事务数据库,关系数据库和其他信息存储中的大量数据的项集之间发现有趣的、频繁出现的模式、关联和相关性。主要的兴趣度度量指标有两个:置信度、支持度,如果一个模式既满足支持度和置信度要求,则称这个模式为强关联规则。应用:购物篮分析、分类设计、捆绑销售和亏本销售分析,举例一:“尿布与啤酒”隐藏的典型关联分析案例,采用关联模型比较典型的案例是“尿布与啤酒”的故事。在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,超市也因此
2、发现了一个规律,在购买婴儿尿布的年轻父亲们中,有30%40%的人同时要买一些啤酒。超市随后调整了货架的摆放,把尿布和啤酒放在一起,明显增加了销售额。同样的,我们还可以根据关联规则在商品销售方面做各种促销活动。,举例二:购物篮分析,如果问题的全域是商店中所有商品的集合,则对每种商品都可以用一个布尔量来表示该商品是否被顾客购买,则每个购物篮都可以用一个布尔向量表示(0001001100);而通过分析布尔向量则可以得到商品被频繁关联或被同时购买的模式,这些模式就可以用关联规则表示。 思考:这种布尔购物篮有什么缺陷?影响挖掘结果吗?关联规则的两个兴趣度度量支持度置信度,关联规则:基本概念,给定:项的集
3、合(进行关联分析时问题的邻域所包含的项的集合):I=i1,i2,.,in任务相关数据D是数据库事务的集合,每个事务T则是项的集合,使得 。例如每个事务就是购买的一个订单,每个订单记录的是购买的哪些商品的信息,项的集合就是商店里所有商品种类的集合,每个订单就是关于这个订单中购买的商品种类的集合。 这样,一个订单中购买商品种类总是被商场所有商品种类的集合所包含。为了进行关联规则分析,我们将每个事务由事务标识符TID标识;A,B为两个项集,事务T包含A当且仅当 ,一般分析两个项集。则关联规则是如下蕴涵式:其中 并且 (空集),表示规则 在事务集D中成立,并且具有支持度s和置信度c,规则度量:支持度和
4、置信度,Customerbuys diaper,Customerbuys both,Customerbuys beer,对所有满足最小支持度和置信度的关联规则支持度s是指事务集D中包含 的百分比注意: 不是或,是模式间的连接,是union置信度c是指D中包含A的事务同时也包含B的百分比假设最小支持度为50%,最小置信度为50%,则有如下关联规则A C (50%, 66.6%)C A (50%, 100%),大型数据库关联规则挖掘中如何降低计算复杂度,提高关联规则效率,基本概念k项集:包含k个项的集合牛奶,面包,黄油是个3项集项集的频率是指包含项集的事务数占总的事务数的百分比如果项集的频率大于(
5、最小支持度D中的事务总数),则称该项集为频繁项集(即满足最小支持度要求的项集)大型数据库中的关联规则挖掘包含两个过程:找出所有频繁项集涉及到大量数据读取和计算,所以大部分的计算都集中在这一步,完成后找到的项集其本身已经满足了最小支持度规则由频繁项集产生强关联规则即满足最小支持度和最小置信度的规则,关联规则挖掘一个线路图,关联规则有多种分类:1、根据规则中所处理的值类型布尔关联规则(用布尔值01表示)量化的关联规则(对各个维进行量化衡量,不是简单的01表示)2、根据规则中设计的数据维单维关联规则多维关联规则(如上例,涉及到年龄、收入和购买三个维的关联规则),3、根据规则集所涉及的抽象层单层关联规
6、则(关联规则表达时不涉及到概念分层)多层关联规则(关联规则表达时涉及到概念分层,其内部隐含有概念分层的关系)4、根据关联挖掘的各种扩充挖掘最大的频繁模式(该模式的任何真超模式都是非频繁的,意味着这个模式是最大的频繁模式)挖掘频繁闭项集(一个项集c是频繁闭项集,如果不存在其真超集c,使得每个包含c的事务也包含c,意味着c的任何一个真超集都不可能是频繁的,我们就说c是频繁闭项集),由事务数据库挖掘单维布尔关联规则,最简单的关联规则挖掘,即单维、单层、布尔关联规则的挖掘,而且我们的举例尽量不涉及概念分层。,首先挖掘频繁项集,其前提条件是:最小支持度 50%,且最小置信度 50%,对规则A C,其支持
7、度 =50%置信度分A推导C和由C推导A,以A推导C为例:,Apriori算法(计算大型数据库时挖掘关联规则的常用算法之一),Apriori算法利用频繁项集性质的先验知识(prior knowledge),通过逐层搜索的迭代方法,即将k-项集用于探察(k+1)-项集,来穷尽数据集中的所有频繁项集(通过先验知识挖掘未知知识)。先找到频繁1-项集集合(即单个项出现的频率)L1,然后用L1找到频繁2-项集集合L2,接着用L2找L3,直到找不到频繁k-项集,找每个Lk需要一次数据库扫描,过程用到下面性质。Apriori性质:频繁项集的所有非空子集也必须是频繁的。( 模式不可能比A更频繁的出现,即A与B
8、的非空交集不可能比A大,只能被包含)Apriori算法是反单调的,即一个集合如果不能通过测试,则该集合的所有超集(注意超集与真超集概念是怎么样的?其定义与子集相对!)也不能通过相同的测试。,Apriori算法步骤,Apriori算法由连接和剪枝两个步骤组成。连接:为了找Lk,通过Lk-1与自己连接产生候选k-项集的集合,该候选k项集记为Ck。Lk-1中的两个元素L1和L2可以执行连接操作 的条件是Ck是Lk的超集,即它的成员可能不是频繁的,但是所有频繁的k-项集都在Ck中(为什么?)。因此可以通过扫描数据库,通过计算每个k-项集的支持度来得到Lk 。为了减少计算量,可以使用Apriori性质,
9、即如果一个k-项集的(k-1)-子集不在Lk-1中,则该候选不可能是频繁的,可以直接从Ck删除。,Apriori算法示例(如何挖掘满足最小支持度的关联的频繁项集),Database TDB,1st scan,C1,L1,L2,C2,C2,2rd scan,C3,L3,3rd scan,注意:我们假设最小支持度是50%,则最小支持计数是2个,则L1时删除D,则任何包含D的超集其出现次数都不可能再超过1次,即Apriori性质所讲的内容。,剪枝结果,连接!,最终,挖掘出2项集中4个和3项集中1个频繁项集!,C3,连接!,Apriori算法示例使用Apiori性质由L2产生C3,1 连接:至少有一个
10、元素相同时,才能进行两两连接C3=L2 L2= A,C,B,C,B,EC,E A,C,B,C,B,EC,E = A,B,C,A,C,E,B,C,E, 我们认为任何频繁的三项集都包含在此C3中!2使用Apriori性质剪枝:频繁项集的所有子集必须是频繁的,对候选项C3,我们可以删除其子集为非频繁的选项:A,B,C的2项子集是A,B,A,C,B,C,其中A,B不是L2的元素,所以删除这个选项;A,C,E的2项子集是A,C,A,E,C,E,其中A,E 不是L2的元素,所以删除这个选项;B,C,E的2项子集是B,C,B,E,C,E,它的所有2项子集都是L2的元素,因此保留这个选项。3这样,剪枝后得到C
11、3=B,C,E,Apriori算法示例由频繁项集产生关联规则,同时满足最小支持度和最小置信度的才是强关联规则,从频繁项集产生的规则都满足支持度要求,而其置信度则可由一下公式计算:每个关联规则可由如下过程产生:对于每个频繁项集 l,产生 l 的所有非空子集;对于每个非空子集s,如果 则输出规则“ ”,Apriori算法用伪码表示其形式:,基本思路步骤为: 算法:Apriori使用根据候选生成的逐层迭代找出频繁项表 输入:与任务相关的事务数据库D;最小支持临界值min_sup 输出:D中的频繁项集L具体代码,略。代码了解即可,但要掌握Apriori算法的计算思想。,提高Apriori算法的有效性(
12、1),Apriori算法主要的挑战要对数据进行多次扫描;会产生大量的候选项集;对候选项集的支持度计算非常繁琐;解决思路减少对数据的扫描次数;缩小产生的候选项集;改进对候选项集的支持度计算方法方法1:基于hash表的项集计数将每个项集通过相应的hash函数映射到hash表中的不同的桶中,这样可以通过将桶中的项集计数跟最小支持计数相比较先淘汰一部分项集。可以发现:同一个项集只能放在同一个桶中,虽然一个桶中可能包含多个项集。如果桶内模式计数总数达不到最小计数要求,则这个桶中任意模式都达不到计数要求,那么我们直接删掉该桶。通过hash表方法可以先排除一部分不满足条件的项集。,提高Apriori算法的有
13、效性(2),方法2:事务压缩(压缩进一步迭代的事务数)不包含任何k-项集的事务不可能包含任何(k+1)-项集,这种事务在下一步的计算中可以加上标记或删除,因为连k项集都不满足要求,那么由k项集生成的(k+1)项集肯定也不满足。如果一个子集是不频繁的,那么它的任何一个真超子集也是不频繁的。方法3:划分(常用方法)最大优势,显著提高效率:挖掘频繁项集只需两次数据扫描。基本思想是将一个大的数据段划分为n个小数据段(可以非均匀划分)D中的任何频繁项集必须作为局部频繁项集至少出现在一个部分中。第一次扫描:将数据划分为多个部分并找到局部频繁项集(模式在这个段的局部范围它出现的次数必须大于最小支持度*该段的
14、总事务数)第二次扫描:评估每个局部频繁项集的实际支持度,以确定这个局部频繁项集是否是全局频繁项集,提高Apriori算法的有效性(3),方法4:选样(因为我们是要挖掘大部分的频繁模式,而不是必须挖掘全部有用模式,所以选样选的好的话会在保持一定精确度基础上大大提高效率,然而选样仍会丢失部分频繁模式)基本思想:选择原始数据的一个样本,在这个样本上用Apriori算法挖掘频繁模式通过牺牲精确度来减少算法开销,为了提高效率,样本大小应该以可以放在内存中为宜,可以适当降低最小支持度来减少遗漏的频繁模式在选样基础上通过两次扫描来提高Apriori算法的精确性可以通过第一次全局扫描来验证从样本中发现的模式是
15、否满足最小支持度的要求可以通过第二次全局扫描来找到遗漏的模式方法5:动态项集计数在扫描的不同点添加候选项集,这样,如果一个候选项集已经满足最少支持度,则在可以直接将它添加到频繁项集,而不必在这次扫描的以后对比中继续计算,即将其提前作为合格的候选模式。,不产生候选频繁项集的算法FP树,Apriori算法的主要开销:可能要产生大量的候选项集104个频繁1-项集会导致107个频繁2-项集长度100的频繁模式,会产生2100(10的30次数量级)个候选项集需要将候选项集中的模式跟数据库中已有的模式进行对比,重复扫描数据库,通过模式匹配检查一个很大的候选集合不产生候选频繁项集的算法FP-树频集算法一种采
16、用divide and conquer(分治策略)的方法第一步:在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息;第二步:将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。,示例:从数据库构建一个FP树,取整得:min_sup= 3,TIDItems bought (ordered) frequent items100f, a, c, d, g, i, m, pf, c, a, m, p200a, b, c, f, l, m, of, c, a, b, m300 b, f, h, j, of
17、, b400 b, c, k, s, pc, b, p500 a, f, c, e, l, p, m, nf, c, a, m, p,步骤:扫描一次数据库,导出频繁项的集合(即频繁的1-项集集合,用group by count)将频繁项按降序排列再次扫描数据库,构建出FP树,方法如下所述:,假设:min_support= 0.5,则:min_sup= 0.5*5=2.5,FP树的构建(第二次扫描数据库),创建树的根节点,用null标记;将每个事务中的项按递减支持度计数排列,并对每个事务创建一个分枝;比如为第一个事务f, c, a, m, p构建一个分枝当为一个事务考虑增加分枝时,沿共同前缀上的
18、每个节点的计数加1,为跟随前缀后的项创建节点并连接比如将第二个事务f, c, a, b, m加到树上时,将为f,c,a各增计数1,然后为b, m创建分枝创建一个项头表,以方便遍历,每个项通过一个节点链指向它在树中的出现。,FP树结构的优点:,完整性不会打破任何事务数据中的长模式为频繁模式的挖掘保留了完整的信息紧凑性减少了不相关的信息非频繁的项被删除按频率递减排列使得更频繁的项更容易在树结构中被共享数据量比原数据库要小,FP树挖掘,FP树的挖掘步骤:由长度为1的频繁模式(初始后缀模式)开始,构造它的条件模式基(一个“子数据库”,由FP树中与后缀模式一起出现的前缀路径集组成。构造该初始后缀模式的条
19、件FP树,并递归的在该树上实现挖掘。模式增长通过后缀模式与条件FP树产生的频繁模式连接实现。,FP树挖掘从FP树得到条件模式基,从项头表开始挖掘,由频率低的节点开始,自顶端往下查询,找出与该节点相关的条件模式基(注意顶端节点无条件模式基)沿循每个(频繁)项的链接来遍历FP树通过积累该项的前缀路径来形成一个条件模式基,Conditional pattern basesitemcond. pattern basecf:3afc:3bfca:1, f:1, c:1mfca:2, fcab:1pfcam:2, cb:1,注意:我们得不到顶端端点f的条件模式基,因为任何模式都是由它开头的,FP树挖掘由条
20、件模式基构建条件FP树,最后,再由条件FP树得出频繁模式,对每个条件模式基为基中的每一项累积计数为模式基中的频繁项构建FP树,m-条件模式基包含:fca:2, fcab:1,则得到fcam是满足了最小计数为3的频繁模式 最后:得出关于m的所有频繁模式,以便找出最终的关联规则,并且知道其累积计数:m, fm, cm, am, fcm, fam, cam, fcam,null,f:4,c:1,b:1,p:1,b:1,c:3,a:3,b:1,m:2,p:2,m:1,项头表Item frequency head f4c4a3b3m3p3,b:1(删除),总结:FP-树挖掘可以避免产生候选频繁模式集,大
21、型数据库中更加复杂的关联规则挖掘,由事务数据库挖掘多层关联规则由关系数据库和数据仓库挖掘多维关联规则由关联挖掘到相关分析(兴趣度衡量)基于约束的关联挖掘(加约束减少数据扫描运算),区别于之前单层单维的关联规则挖掘,其多层多维关联规则挖掘的主要内容为:,什么是多层关联规则,数据项中经常会形成概念分层底层的数据项,其支持度往往也较低(一个节点支持度是其所有子节点支持度之和)在适当的等级挖掘出来的数据项间的关联规则可能是非常有用的,不一定等级越高越有用通常,事务数据库中的数据也是根据维和概念分层来进行储存的在多个抽象层挖掘关联规则,并在不同的抽象层进行转化,是数据挖掘系统应该提供的能力,即挖掘出来的
22、模式应该能够在各个不同抽象层之间灵活转化,便于用户灵活考察,All,Computeraccessory,software,laptop,financial,mouse,color,printer,computer,desktop,IBM,edu.,Microsoft,b/w,HP,Sony,wristpad,Logitech,TID,Items,T1,IBM D/C, Sony b/w,T2,Ms. edu. Sw., Ms. fin. Sw.,T3,Logi. mouse, Ergoway wrist pad,T4,IBM D/C, Ms. Fin. Sw.,T5,IBM D/C,Ergow
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 关联 规则 分析 课件

链接地址:https://www.31ppt.com/p-1547559.html