浙江大学《数据挖掘》课程-关联挖掘.ppt
《浙江大学《数据挖掘》课程-关联挖掘.ppt》由会员分享,可在线阅读,更多相关《浙江大学《数据挖掘》课程-关联挖掘.ppt(57页珍藏版)》请在沃文网上搜索。
1、挖掘频繁模式、关挖掘频繁模式、关联和相关联和相关什么是频繁模式分析?n频繁模式是频繁的出现在数据集中的模式q如项集、子序或者子结构n动机:发现数据中蕴含的内在规律q那些产品经常被一起购买?-啤酒和尿布?q买了PC之后接着都会买些什么?q哪种DNA对这种新药敏感q我们能够自动的分类WEB文档吗?n应用q购物篮分析、WEB日志(点击流)分析、捆绑销售、DNA序列分析等频繁模式挖掘的重要性n揭示数据集的内在的、重要的特性n作为很多重要数据挖掘任务的基础q关联、相关和因果分析q序列、结构(e.g.子图)模式分析q时空、多媒体、时序和流数据中的模式分析q分类:关联分类q聚类分析:基于频繁模式的聚类q数据
2、仓库:冰山方体计算购物篮分析n如果问题的全域是商店中所有商品的集合,则对每种商品都可以用一个布尔量来表示该商品是否被顾客购买,则每个购物篮都可以用一个布尔向量表示;而通过分析布尔向量则可以得到商品被频繁关联或被同时购买的模式,这些模式就可以用关联规则表示(e.g.0001001100,这种方法丢失了什么信息?)n关联规则的两个兴趣度度量q支持度q置信度q通常,如果关联规则同时满足最小支持度阈值和最小置信度阈值,则此关联规则是有趣的关联规则:基本概念n给定:q项的集合:I=i1,i2,.,inq任务相关数据D是数据库事务的集合,每个事务T则是项的集合,使得q每个事务由事务标识符TID标识;qA,
3、B为两个项集,事务T包含A当且仅当n则关联规则是如下蕴涵式:q其中 并且 ,规则 在事务集D中成立,并且具有支持度s和置信度c规则度量:支持度和置信度Customerbuys diaperCustomerbuys bothCustomerbuys beerq支持度s是指事务集D中包含 的百分比q置信度c是指D中包含A的事务同时也包含B的百分比q假设最小支持度阈值为50%,最小置信度阈值为50%,则有如下关联规则nA C (50%,66.6%)nC A (50%,100%)q同时满足最小支持度阈值和最小置信度阈值的规则称作强规则P148 基本概念示例n项的集合 I=A,B,C,D,E,Fn每个事
4、务T由事务标识符TID标识,它是项的集合 TID(2000)=A,B,Cn任务相关数据D是数据库事务的集合频繁项集n基本概念qk项集项集:包含k个项的集合n牛奶,面包,黄油是个3项集q项集的频率项集的频率是指包含项集的事务数,简称为项集的频率频率、支持度计数支持度计数或计数计数q项集的支持度有时称为相对支持度相对支持度,而出现的频率称作绝对支持度绝对支持度。如果项集I的频率大于(最小支持度阈值D中的事务总数),则称该项集I为频繁项频繁项集集。频繁k项集的集合通常记作Lk。关联规则挖掘 的两步过程n一般来说,关联规则的挖掘可以看作两步的过程:q找出所有频繁项集n该项集的每一个出现的频繁性 min
5、_supq由频繁项集产生强关联规则n即满足最小支持度和最小置信度的规则n主要挑战:会产生大量满足min_sup的项集,尤其当min_sup设置得低的时候qE.g.一个长度为100的频繁项集a1,a2,a100包含的频繁项集的总个数为闭频繁项集和极大频繁项集n如果不存在真超项集Y使得Y与X在S中有相同的支持度计数,则称项集X在数据集S中是闭的。项集X是数据集S中的闭频繁项集,如果X在S中是闭的和频繁的。项集X是S中的极大频繁项集(或极大项集),如果X是频繁的,并且不存在超项集Y使得 并且Y在S中是频繁的。n设C是数据集S中满足min_sup的闭频繁项集的集合,令M是S中满足min_sup的极大频
6、繁项集的集合。假定我们有C和M中每个项集的支持度计数,则C和他的计数信息可以用来导出频繁项集的完整集合(我们称C包含了关于频繁项集的完整信息)。nE.g.qDB中只有两个事务;,min_sup=1,则 C=:1;:2,M=:1(显然a1,a2,a100 有个频繁超集a1,a2,a100)。关联规则挖掘分类(1)n根据挖掘的模式的完全性分类:给定min_sup,可以挖掘频繁项集的完全集频繁项集的完全集,闭频繁项集闭频繁项集和极大大频繁项集频繁项集。也可以挖掘被约束的频繁项集被约束的频繁项集(即满足用户指定的一组约束的频繁项集)、近似的频近似的频繁项集繁项集(只推导被挖掘的频繁项集的近似支持度计数
7、)、接近匹配的频繁项集接近匹配的频繁项集(即与接近或几乎匹配的项集的支持度计数符合的项集)、top-k频频繁项集繁项集n不同的应用对挖掘的模式的完全性有不同的要求,我们主要研究挖掘频繁项集的完全集频繁项集的完全集、闭频繁项闭频繁项集集和被约束的频繁项集被约束的频繁项集关联规则挖掘分类(2)n根据规则集所涉及的抽象层q单层关联规则q多层关联规则(挖掘的规则集由多层关联规则组成)nE.g.下例购买的商品涉及不同的抽象级n根据规则中设计的数据维q单维关联规则nE.g.(仅涉及buys这个维)q多维关联规则关联规则挖掘分类(3)n根据规则中所处理的值类型q布尔关联规则(规则考虑的关联为项是否出现)q量
8、化关联规则(规则描述量化的项或属性间的关联)n根据所挖掘的规则类型分类q关联规则q相关规则q强梯度联系关联规则挖掘分类(4)n根据所挖掘的模式类型分类q频繁项集挖掘n从事务或关系数据集中挖掘频繁项集q序列模式挖掘n从序列数据集中搜索频繁子序列q结构模式挖掘n在结构化数据集中搜索频繁子结构由事务数据库挖掘单维布尔关联规则n最简单的关联规则挖掘,即单维、单层、布尔关联规则的挖掘。最小支持度 50%最小置信度 50%n对规则A C,其支持度 =50%n置信度Apriori算法(1)nApriori算法是挖掘布尔关联规则频繁项集的算法nApriori算法利用频繁项集性质的先验知识(prior know
9、ledge),通过逐层搜索的迭代方法,即将k-项集用于探察(k+1)-项集,来穷尽数据集中的所有频繁项集。q先找到频繁1-项集集合L1,然后用L1找到频繁2-项集集合L2,接着用L2找L3,直到找不到频繁k-项集,找每个Lk需要一次数据库扫描。Apriori算法(2)nApriori算法利用的是Apriori性质:频繁项集的所有非空子集也必须是频繁的。q 模式不可能比A更频繁的出现qApriori算法是反单调的,即一个集合如果不能通过测试,则该集合的所有超集也不能通过相同的测试。qApriori性质通过减少搜索空间,来提高频繁项集逐层产生的效率Apriori算法步骤nApriori算法由连接连
10、接和剪枝剪枝两个步骤组成。n连接:连接:为了找Lk,通过Lk-1与自己连接产生候选k-项集的集合,该候选候选k项集项集记为Ck。qLk-1中的两个元素L1和L2可以执行连接操作 的条件是nCk是Lk的超集,即它的成员可能不是频繁的,但是所有频繁的k-项集都在Ck中(为什么?)。因此可以通过扫描数据库,通过计算每个k-项集的支持度来得到Lk。q为了减少计算量,可以使用Apriori性质,即如果一个k-项集的(k-1)-子集不在Lk-1中,则该候选不可能是频繁的,可以直接从Ck删除。Apriori算法示例Database TDB1st scanC1L1L2C2C22nd scanC3L33rd s
11、canTidItems10A,C,D20B,C,E30A,B,C,E40B,EItemsetsupA2B3C3D1E3ItemsetsupA2B3C3E3ItemsetA,BA,CA,EB,CB,EC,EItemsetsupA,B1A,C2A,E1B,C2B,E3C,E2ItemsetsupA,C2B,C2B,E3C,E2ItemsetA,B,CB,C,EItemsetsupB,C,E2使用Apiori性质由L2产生C3n1 连接: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,En2使用Apriori性质剪枝:频繁项集的所有子集
12、必须是频繁的,对候选项C3,我们可以删除其子集为非频繁的选项:qA,B,C的2项子集是A,B,A,C,B,C,其中A,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这样,剪枝后得到C3=B,C,E由频繁项集产生关联规则n同时满足最小支持度和最小置信度的才是强关联规则,从频繁项集产生的规则都满足支持度要求,而其置信度则可由一下公式计算:n每个关联规则可由如下过程产生:q对于每个频繁项集l,产生l的所有非空子集;q
13、对于每个非空子集s,如果 则输出规则“”提高Apriori算法的有效性(1)nApriori算法主要的挑战q要对数据进行多次扫描;q会产生大量的候选项集;q对候选项集的支持度计算非常繁琐;n解决思路q减少对数据的扫描次数;q缩小产生的候选项集;q改进对候选项集的支持度计算方法n方法1:基于hash表的项集计数q将每个项集通过相应的hash函数映射到hash表中的不同的桶中,这样可以通过将桶中的项集技术跟最小支持计数相比较先淘汰一部分项集。提高Apriori算法的有效性(2)n方法2:事务压缩(压缩进一步迭代的事务数)q不包含任何k-项集的事务不可能包含任何(k+1)-项集,这种事务在下一步的计
14、算中可以加上标记或删除。n方法3:划分q挖掘频繁项集只需要两次数据扫描qD中的任何频繁项集必须作为局部频繁项集至少出现在一个部分中。n第一次扫描:将数据划分为多个部分并找到局部频繁项集n第二次扫描:评估每个候选项集的实际支持度,以确定全局频繁项集提高Apriori算法的有效性(3)n方法4:选样(在给定数据的一个子集挖掘)q基本思想:选择原始数据的一个样本,在这个样本上用Apriori算法挖掘频繁模式q通过牺牲精确度来减少算法开销,为了提高效率,样本大小应该以可以放在内存中为宜,可以适当降低最小支持度来减少遗漏的频繁模式n可以通过一次全局扫描来验证从样本中发现的模式n可以通过第二此全局扫描来找
15、到遗漏的模式n方法5:动态项集计数q在扫描的不同点添加候选项集,这样,如果一个候选项集已经满足最少支持度,则在可以直接将它添加到频繁项集,而不必在这次扫描的以后对比中继续计算。不产生候选频繁项集的算法FP树nApriori算法的主要开销:q可能要产生大量的候选项集n104个频繁1-项集会导致107个频繁2-项集n对长度为100的频繁模式,会产生2100个候选q重复扫描数据库,通过模式匹配模式匹配检查一个很大的候选集合n不产生候选频繁项集的算法FP-树频集算法q一种采用divide and conquer(分治策略)的方法n在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tre
16、e),同时依然保留其中的关联信息;n将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。从数据库构建一个FP树nullf:4c:1b:1p:1b:1c:3a:3b:1m:2p:2m:1项头表项头表Item frequency head f4c4a3b3m3p3min_sup=3TIDItems 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,b400 b,c,k,s,pc,b,p500 a,f,c,e,l
17、,p,m,nf,c,a,m,p步骤:1.扫描一次数据库,导出频繁项的集合(1-项集)2.将频繁项按降序排列3.再次扫描数据库,构建FP树FP树的构建(第二次扫描数据库)1.创建树的根节点,用null标记;2.将每个事务中的项按递减支持度计数排列,并对每个事务创建一个分枝;q比如为第一个事务f,c,a,m,p构建一个分枝3.当为一个事务考虑增加分枝时,沿共同前缀上的每个节点的计数加1,为跟随前缀后的项创建节点并连接q比如将第二个事务f,c,a,b,m加到树上时,将为f,c,a各增计数1,然后为b,m创建分枝4.创建一个项头表,以方便遍历,每个项通过一个节点链指向它在树中的出现。FP树结构的好处n
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据挖掘 浙江大学 数据 挖掘 课程 关联