6-第六讲(关联规则分析)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《6-第六讲(关联规则分析)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 关联 规则 分析 课件
- 资源描述:
-
1、关联规则分析-大型数据库中关联规则挖掘大型数据库中关联规则挖掘 (概念描述、关联规则分析、分类、预测、聚类及孤立点分析等等)用DMQL深入学习各种数据挖掘功能之二什么是关联规则挖掘?n关联规则挖掘:q从事务数据库,关系数据库和其他信息存储中的大量数据的项集之间发现有趣的、频繁出现的模式、关联和相关性。q主要的兴趣度度量指标有两个:置信度、支持度,如果一个模式既满足支持度和置信度要求,则称这个模式为强关联规则。n应用:q购物篮分析、分类设计、捆绑销售和亏本销售分析举例一:“尿布与啤酒”隐藏的典型关联分析案例n采用关联模型比较典型的案例是“尿布与啤酒”的故事。在美国,一些年轻的父亲下班后经常要到超
2、市去买婴儿尿布,超市也因此发现了一个规律,在购买婴儿尿布的年轻父亲们中,有30%40%的人同时要买一些啤酒。超市随后调整了货架的摆放,把尿布和啤酒放在一起,明显增加了销售额。同样的,我们还可以根据关联规则在商品销售方面做各种促销活动。举例二:购物篮分析n如果问题的全域是商店中所有商品的集合,则对每种商品都可以用一个布尔量来表示该商品是否被顾客购买,则每个购物篮都可以用一个布尔向量表示(0001001100);而通过分析布尔向量则可以得到商品被频繁关联或被同时购买的模式,这些模式就可以用关联规则表示。 思考:这种布尔购物篮有什么缺陷?影响挖掘结果吗?n关联规则的两个兴趣度度量q支持度q置信度关联
3、规则:基本概念n给定:q项的集合(进行关联分析时问题的邻域所包含的项的集合):I=i1,i2,.,inq任务相关数据D是数据库事务的集合,每个事务T则是项的集合,使得 。例如每个事务就是购买的一个订单,每个订单记录的是购买的哪些商品的信息,项的集合就是商店里所有商品种类的集合,每个订单就是关于这个订单中购买的商品种类的集合。 这样,一个订单中购买商品种类总是被商场所有商品种类的集合所包含。q为了进行关联规则分析,我们将每个事务由事务标识符TID标识;qA,B为两个项集,事务T包含A当且仅当 ,一般分析两个项集。n则关联规则是如下蕴涵式:q其中 并且 (空集),表示规则 在事务集D中成立,并且具
4、有支持度s和置信度cIT TA , csBA IBIA , BABA规则度量:支持度和置信度Customerbuys diaperCustomerbuys bothCustomerbuys beern对所有满足最小支持度和置信度的关联规则q支持度支持度s s是指事务集是指事务集D D中包中包含含 的百分比的百分比q注意: 不是或,是模式间的连接,是unionq置信度置信度c c是指是指D D中包含中包含A A的事的事务同时也包含务同时也包含B B的百分比的百分比n假设最小支持度为50%,最小置信度为50%,则有如下关联规则qA C (50%, 66.6%)qC A (50%, 100%)BA)
5、( )(supportBAPBA)(/ )()|( )( APBAPABPBAconfidence大型数据库关联规则挖掘中如何降低计算复杂度,提高关联规则效率n基本概念qk k项集项集:包含k个项的集合n牛奶,面包,黄油是个3项集q项集的频率项集的频率是指包含项集的事务数占总的事务数的百分比q如果项集的频率大于(最小支持度D中的事务总数),则称该项集为频繁项集频繁项集(即满足最小支持度要求的项集)n大型数据库中的关联规则挖掘包含两个过程:q找出所有频繁项集n涉及到大量数据读取和计算,所以大部分的计算都集中在这一步,完成后找到的项集其本身已经满足了最小支持度规则q由频繁项集产生强关联规则n即满足
6、最小支持度和最小置信度的规则关联规则挖掘一个线路图n关联规则有多种分类:关联规则有多种分类:q1、根据规则中所处理的值类型n布尔关联规则(用布尔值01表示)n量化的关联规则(对各个维进行量化衡量,不是简单的01表示)q2、根据规则中设计的数据维n单维关联规则n多维关联规则(如上例,涉及到年龄、收入和购买三个维的关联规则)) ,( ) 48.42 ,( ) 39.30 ,( computerXbuyskkXincomeXage) ,( ) ,( softwareXbuyscomputerXbuysq3、根据规则集所涉及的抽象层n单层关联规则(关联规则表达时不涉及到概念分层)n多层关联规则(关联规
7、则表达时涉及到概念分层,其内部隐含有概念分层的关系)q4、根据关联挖掘的各种扩充n挖掘最大的频繁模式(该模式的任何真超模式都是非频繁的,意味着这个模式是最大的频繁模式)n挖掘频繁闭项集(一个项集c是频繁闭项集,如果不存在其真超集c,使得每个包含c的事务也包含c,意味着c的任何一个真超集都不可能是频繁的,我们就说c是频繁闭项集)) _ ,( ) 39.30 ,( computerlaptopXbuysXage) ,( )39.30 ,( computerXbuysXage由事务数据库挖掘单维布尔关联规则n最简单的关联规则挖掘,即单维、单层、布尔关联规则的挖掘,而且我们的举例尽量不涉及概念分层。T
8、ransaction ID Items Bought2000A,B,C1000A,C4000A,D5000B,E,FFrequent Itemset SupportA75%B50%C50%A,C50%首先挖掘频繁项集,其前提条件是:最小支持度 50%,且最小置信度 50%n对规则A C,其支持度 =50%n置信度分A推导C和由C推导A,以A推导C为例:%6.66)(support/)(support)(/)()|( )( ACAAPCAPACPCAconfidence)( )(supportCAPCAApriori算法(计算大型数据库时挖掘关联规则的常用算法之一)nApriori算法利用频繁项
9、集性质的先验知识(prior knowledge),通过逐层搜索的迭代方法,即将k-项集用于探察(k+1)-项集,来穷尽数据集中的所有频繁项集(通过先验知识挖掘未知知识)。q先找到频繁1-项集集合(即单个项出现的频率)L1,然后用L1找到频繁2-项集集合L2,接着用L2找L3,直到找不到频繁k-项集,找每个Lk需要一次数据库扫描,过程用到下面性质。nApriori性质:频繁项集的所有非空子集也必须是频频繁项集的所有非空子集也必须是频繁的。(繁的。( 模式不可能比模式不可能比A A更频繁的出现,更频繁的出现,即即A A与与B B的非空交集不可能比的非空交集不可能比A A大,只能被包含)大,只能被
10、包含)qApriori算法是反单调的,即一个集合如果不能通过测试,则该集合的所有超集超集(注意超集与真超集概念是怎么样的?(注意超集与真超集概念是怎么样的?其定义与子集相对!)其定义与子集相对!)也不能通过相同的测试。BAApriori算法步骤nApriori算法由连接连接和剪枝剪枝两个步骤组成。n连接:连接:为了找Lk,通过Lk-1与自己连接产生候选k-项集的集合,该候选k项集记为Ck。qLk-1中的两个元素L1和L2可以执行连接操作 的条件是nCk是Lk的超集,即它的成员可能不是频繁的,但是所有频繁的k-项集都在Ck中(为什么?)。因此可以通过扫描数据库,通过计算每个k-项集的支持度来得到
11、Lk 。q为了减少计算量,可以使用Apriori性质,即如果一个k-项集的(k-1)-子集不在Lk-1中,则该候选不可能是频繁的,可以直接从Ck删除。)1 1()22(.)22()1 1 (21212121klklklklllll21ll Apriori算法示例(如何挖掘满足最小支持度的关联的频繁项集)Database TDB1st scanC1L1L2C2C22rd scanC3L33rd scanTidItems10A, C, D20B, C, E30A, B, C, E40B, EItemsetsupA2B3C3D1E3ItemsetsupA2B3C3E3ItemsetA, BA, CA
12、, EB, CB, EC, EItemsetsupA, B1A, C2A, E1B, C2B, E3C, E2ItemsetsupA, C2B, C2B, E3C, E2ItemsetB, C, EItemsetsupB, C, E2注意:我们假设最小支持度是50%,则最小支持计数是2个,则L1时删除D,则任何包含D的超集其出现次数都不可能再超过1次,即Apriori性质所讲的内容。剪剪枝枝结结果果连接!连接!最终,挖掘出最终,挖掘出2项集中项集中4个个和和3项集中项集中1个频繁项集!个频繁项集!C3Itemset不在不在L2中中A,B,CA,BB,C,E都在都在A,C,EA,E连接!连接!A
13、priori算法示例使用Apiori性质由L2产生C3n1 1 连接:至少有一个元素相同时,才能进行两两连接连接:至少有一个元素相同时,才能进行两两连接qC3=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中!n2 2使用使用AprioriApriori性质剪枝:频繁项集的所有子集必须是频繁性质剪枝:频繁项集的所有子集必须是频繁的,对候选项的,对候选项C C3 3,我们可以删除其子集为非频繁的选项:,我们可以删除其子集为非频繁的选项:qA,B,C的2项子集是A,B,A,C,B,C,其中A
14、,B不是L2的元素,所以删除这个选项;qA,C,E的2项子集是A,C,A,E,C,E,其中A,E 不是L2的元素,所以删除这个选项;qB,C,E的2项子集是B,C,B,E,C,E,它的所有2项子集都是L2的元素,因此保留这个选项。n3 3这样,剪枝后得到这样,剪枝后得到C C3 3=B,C,E=B,C,EApriori算法示例由频繁项集产生关联规则n同时满足最小支持度和最小置信度的才是强关联规则,从频繁项集产生的规则都满足支持度要求,而其置信度则可由一下公式计算:n每个关联规则可由如下过程产生:q对于每个频繁项集 l,产生 l 的所有非空子集;q对于每个非空子集s,如果 则输出规则“ ”)(_
15、sup)(_sup)|()(AcountportBAcountportBAPBAconfidenceconfscountportlcountportmin_)(_sup)(_sup)(slsApriori算法用伪码表示其形式:n基本思路步骤为:基本思路步骤为: 算法:算法:Apriori使用根据候选生成的逐层迭代找出频繁项表 输入:输入:与任务相关的事务数据库D;最小支持临界值min_sup 输出输出:D中的频繁项集Ln具体代码,略。代码了解即可,但要掌握Apriori算法的计算思想。提高Apriori算法的有效性(1)nApriori算法主要的挑战q要对数据进行多次扫描;q会产生大量的候选项
16、集;q对候选项集的支持度计算非常繁琐;n解决思路q减少对数据的扫描次数;q缩小产生的候选项集;q改进对候选项集的支持度计算方法n方法1:基于hash表的项集计数q将每个项集通过相应的hash函数映射到hash表中的不同的桶中,这样可以通过将桶中的项集计数跟最小支持计数相比较先淘汰一部分项集。可以发现:同一个项集只能放在同一个桶中,虽然一个桶中可能包含多个项集。如果桶内模式计数总数达不到最小计数要求,则这个桶中任意模式都达不到计数要求,那么我们直接删掉该桶。q通过hash表方法可以先排除一部分不满足条件的项集。提高Apriori算法的有效性(2)n方法2:事务压缩(压缩进一步迭代的事务数)q不包
17、含任何k-项集的事务不可能包含任何(k+1)-项集,这种事务在下一步的计算中可以加上标记或删除,因为连k项集都不满足要求,那么由k项集生成的(k+1)项集肯定也不满足。如果一个子集是不频繁的,那么它的任何一个真超子集也是不频繁的。n方法3:划分(常用方法)q最大优势,显著提高效率:挖掘频繁项集只需两次数据扫描。q基本思想是将一个大的数据段划分为n个小数据段(可以非均匀划分)qD中的任何频繁项集必须作为局部频繁项集至少出现在一个部分中。q第一次扫描:将数据划分为多个部分并找到局部频繁项集(模式在这个段的局部范围它出现的次数必须大于最小支持度*该段的总事务数)q第二次扫描:评估每个局部频繁项集的实
18、际支持度,以确定这个局部频繁项集是否是全局频繁项集提高Apriori算法的有效性(3)n方法4:选样(因为我们是要挖掘大部分的频繁模式,而不是必须挖掘全部有用模式,所以选样选的好的话会在保持一定精确度基础上大大提高效率,然而选样仍会丢失部分频繁模式)q基本思想:选择原始数据的一个样本,在这个样本上用Apriori算法挖掘频繁模式q通过牺牲精确度来减少算法开销,为了提高效率,样本大小应该以可以放在内存中为宜,可以适当降低最小支持度来减少遗漏的频繁模式q在选样基础上通过两次扫描来提高Apriori算法的精确性q可以通过第一次全局扫描来验证从样本中发现的模式是否满足最小支持度的要求q可以通过第二次全
19、局扫描来找到遗漏的模式n方法5:动态项集计数q在扫描的不同点添加候选项集,这样,如果一个候选项集已经满足最少支持度,则在可以直接将它添加到频繁项集,而不必在这次扫描的以后对比中继续计算,即将其提前作为合格的候选模式。不产生候选频繁项集的算法FP树nApriori算法的主要开销:q可能要产生大量的候选项集n104个频繁1-项集会导致107个频繁2-项集n长度100的频繁模式,会产生2100(10的30次数量级)个候选项集q需要将候选项集中的模式跟数据库中已有的模式进行对比,重复扫描数据库,通过模式匹配模式匹配检查一个很大的候选集合n不产生候选频繁项集的算法FP-树频集算法q一种采用divide
20、and conquer(分治策略)的方法n第一步:在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息;n第二步:将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。示例:从数据库构建一个FP树nullf:4c:1b:1p:1b:1c:3a:3b:1m:2p:2m:1项头表项头表Item frequency head f4c4a3b3m3p3取整得:取整得:min_sup= 3TIDItems bought (ordered) frequent items100f, a, c, d, g, i,
21、m, pf, c, a, m, p200a, b, c, f, l, m, of, c, a, b, m300 b, f, h, j, of, b400 b, c, k, s, pc, b, p500 a, f, c, e, l, p, m, nf, c, a, m, p步骤:1.扫描一次数据库,导出频繁项的集合(即频繁的1-项集集合,用group by count)2.将频繁项按降序排列3.再次扫描数据库,构建出FP树,方法如下所述:假设:假设:min_support= 0.5则:则:min_sup= 0.5*5=2.5FP树的构建(第二次扫描数据库)1.创建树的根节点,用null标记;2.
22、将每个事务中的项按递减支持度计数排列,并对每个事务创建一个分枝;q比如为第一个事务f, c, a, m, p构建一个分枝3.当为一个事务考虑增加分枝时,沿共同前缀上的每个节点的计数加1,为跟随前缀后的项创建节点并连接q比如将第二个事务f, c, a, b, m加到树上时,将为f,c,a各增计数1,然后为b, m创建分枝4.创建一个项头表,以方便遍历,每个项通过一个节点链指向它在树中的出现。FP树结构的优点:n完整性q不会打破任何事务数据中的长模式q为频繁模式的挖掘保留了完整的信息n紧凑性q减少了不相关的信息非频繁的项被删除q按频率递减排列使得更频繁的项更容易在树结构中被共享q数据量比原数据库要
23、小FP树挖掘nFP树的挖掘步骤:q由长度为1的频繁模式(初始后缀模式)开始,构造它的条件模式基(一个“子数据库”,由FP树中与后缀模式一起出现的前缀路径集组成。q构造该初始后缀模式的条件FP树,并递归的在该树上实现挖掘。模式增长通过后缀模式与条件FP树产生的频繁模式连接实现。FP树挖掘从FP树得到条件模式基n从项头表开始挖掘,由频率低的节点开始,自顶端往下查询,找出与该节点相关的条件模式基(注意顶端节点无条件模式基)n沿循每个(频繁)项的链接来遍历FP树n通过积累该项的前缀路径来形成一个条件模式基Conditional pattern basesitemcond. pattern basecf
24、:3afc:3bfca:1, f:1, c:1mfca:2, fcab:1pfcam:2, cb:1nullf:4c:1b:1p:1b:1c:3a:3b:1m:2p:2m:1项头表项头表Item frequency head f4c4a3b3m3p3注意:我们得不到顶端端点f的条件模式基,因为任何模式都是由它开头的FP树挖掘由条件模式基构建条件FP树,最后,再由条件FP树得出频繁模式n对每个条件模式基q为基中的每一项累积计数q为模式基中的频繁项构建FP树m-条件模式基包含条件模式基包含:fca:2, fcab:1f:3c:3a:3m-条件条件FP-树树则得到则得到fcam是满足了最是满足了最小
25、计数为小计数为3的频繁模式的频繁模式 最后:得出关于最后:得出关于m的所的所有频繁模式,以便找出有频繁模式,以便找出最终的关联规则,并且最终的关联规则,并且知道其累积计数:知道其累积计数:m, fm, cm, am, fcm, fam, cam, fcamnullf:4c:1b:1p:1b:1c:3a:3b:1m:2p:2m:1项头表项头表Item frequency head f4c4a3b3m3p3b:1(删除)总结:总结:FP-树挖掘可以避免产生候选频繁模式集树挖掘可以避免产生候选频繁模式集大型数据库中更加复杂的关联规则挖掘n由事务数据库挖掘多层关联规则n由关系数据库和数据仓库挖掘多维关
展开阅读全文