数据挖掘第六章分析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据挖掘第六章分析课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 挖掘 第六 分析 课件
- 资源描述:
-
1、1 1Data Mining: Concepts and Techniques (3rd ed.) Chapter 6 挖掘频繁模式挖掘频繁模式, ,关联和相关性:基本概念和方法关联和相关性:基本概念和方法什么是频繁模式分析?什么是频繁模式分析?n频繁模式(frequent pattern)是频繁地出现在数据集中模式(如项集,子序列或子结构)。n频繁项集是频繁出现在交易数据集中的商品(如牛奶和面包,啤酒和尿布)的集合。n频繁的序列模式是(PC-数码相机-内存卡)这种频繁出现在购物的历史数据库中的序列。n频繁的结构模式是频繁出现的子结构。2什么是频繁模式分析?什么是频繁模式分析?n动机:寻找数据
2、的内在规律n经常购买的是什么产品都在一起 牛奶和面包,啤酒和尿布?n什么是购买一台PC后,后续的购买?n应用n挖掘数据之间的关联、相关性、和其他有趣的联系,及购物篮分析, 交差营销, 价目表设置,销售活动分析, 网络点击量分析。36.1 基本概念基本概念n频繁模式(关联规则)挖掘:n找出给定数据集中反复出现的联系n从事务数据库、关系数据库和其他信息存储中的大量数据的项集之间发现有趣的、频繁出现的模式、项与项之间的关联或相关性。n应用:n购物篮分析:分类设计、捆绑销售和亏本销售分析6.1.1 购物篮分析:一个诱发例子购物篮分析:一个诱发例子 采用关联模型比较典型的案例是“尿布与啤酒”的故事。 在
3、美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,超市也因此发现了一个规律,在购买婴儿尿布的年轻父亲们中,有30%40%的人同时要买一些啤酒。超市随后调整了货架的摆放,把尿布和啤酒放在一起,明显增加了销售额。同样的,我们还可以根据关联规则在商品销售方面做各种促销活动。购物篮分析购物篮分析n利用频繁模式可以制定营销计划来提高销售量,具体如下: 1、对商店的顾客事务零售数据进行分析 2、根据得到的有趣的关联设计营销策略: a、经常同时购买的商品摆放在一起,一遍刺激这些商品 同时销售 b、将同时购买的商品放在商店的两端,可以诱发顾客购 买沿途看到的商品(可以通过降价吸引顾客)购物篮分析购物篮分析n
4、如果问题的全域是商店中所有商品的集合,则对每种商品都可以用一个布尔量来表示该商品是否被顾客购买,则每个购物篮都可以用一个布尔向量表示(如形式0001001100);而通过分析布尔向量则可以得到商品被频繁关联或被同时购买的模式,这些模式就可以用关联规则表示n关联规则的两个兴趣度度量computer=financial_management_softwaresupport=2%.confidence=60%n支持度:有用性;指两者被同时购买的概率n置信度:确定性;指购买A的顾客也购买B产品的概率6.1.2 频繁项集频繁项集,闭项集和关联规则闭项集和关联规则n给定:给定:n项的集合:项的集合:I=
5、i1,i2,.,inn每个事务每个事务T 则是项的集合,使得则是项的集合,使得 ;每个事务由事务标;每个事务由事务标识符识符TID 标识;标识;n任务相关数据任务相关数据D 是数据库事务的集合。是数据库事务的集合。nA,B为两个项集,事务为两个项集,事务T包含包含A,当且仅当当且仅当 ;n则关联规则是如下蕴涵式:则关联规则是如下蕴涵式:n其中其中 并且并且 ,规则,规则 在事务在事务集集D 中成立,并且具有支持度中成立,并且具有支持度s 和置信度和置信度cIT TA , csBA IBIA , BABA 规则度量:支持度和置信度规则度量:支持度和置信度n对于A-B支持度支持度:P(A B),既
6、有A又有B的概率置信度置信度:P(B|A),在A发生的事件中同时发生B的概率p(AB)/P(A)n例如购物篮分析:牛奶面包例子:支持度:3%,置信度:40%支持度3%:意味着3%顾客同时购买牛奶和面包置信度40%:意味着购买牛奶的顾客40%也购买面包规则度量:支持度和置信度规则度量:支持度和置信度n对所有满足最小支持度和置信度的关联规则n支持度s是指事务集D中包含 的百分比n置信度c是指D中包含A的事务同时也包含B的百分比n假设最小支持度为50%,最小置信度为50%,则有如下关联规则nA C (50%, 66.6%)nC A (50%, 100%)Customerbuys diaperCust
7、omerbuys bothCustomerbuys beerBA)( )(supBAPBAport)(/ )()|( )( APBAPABPBAconfidence标识符标识符大型数据库关联规则挖掘过程大型数据库关联规则挖掘过程n基本概念nk k项集项集:包含k个项的集合n牛奶,面包,黄油是个3项集n项集的频率项集的频率 是指包含项集的事务数n如果项集的频率大于(最小支持度D中的事务总数),则称该项集为频繁项集频繁项集n大型数据库中的关联规则挖掘包含两个过程:n找出所有频繁项集n这些项集的出现次数至少与预定的最小支持计数min_sup一样,大部分的计算都集中在这一步n由频繁项集产生强关联规则n
8、即满足最小支持度和最小置信度的规则6.2 有效的和可伸缩的频繁项集挖掘方法n最简单的关联规则挖掘,即单维、单层、布尔关联规则的挖掘。n对规则AC,其支持度=50%n置信度:%6 .66)(sup/ )(sup)(/ )()|( )( AportCAportAPCAPACPCAconfidenceTransactionID ItemsBought2000A,B,C1000A,C4000A,D5000B,E,FFrequentItemset SupportA75%B50%C50%A,C50%最小支持度 50%最小置信度 50%)( )(supCAPCAport6.2Apriori算法算法n频繁项集
9、两个定理: 1)频繁项子集定理:频繁项集的子集都是频繁 项集,而非频繁项的超集都是非频繁项集。 2)频繁项集的合并/连接定理:由k-1项集,向k项集进行合并。当两个k-1项集,拥有k-2个相同元素时,才能合并成k项集。n如果事件A中包含k个元素,那么称这个事件A为k项集事件A满足最小支持度阈值的事件称为频繁k项集。n同时满足最小支持度阈值和最小置信度阈值的规则称为强规则6.2.1 Apriori算法算法nApriori算法利用频繁项集性质的先验知识(prior knowledge),通过逐层搜索的迭代方法,即将k-项集用于探察(k+1)-项集,来穷尽数据集中的所有频繁项集。n先找到频繁1-项集
10、集合L1,然后用L1找到频繁2-项集集合L2,接着用L2找L3,直到找不到频繁k-项集,找每个Lk需要一次数据库扫描。nApriori性质:根据项集I不满足最小支持度阈值min_sup,则I不是频繁的,即P(I)minn_sup 频繁项集的所有非空子集也必须是频繁的。(频繁项集的所有非空子集也必须是频繁的。( 将项将项A添加到项集添加到项集I中,模式中,模式IA不可能比不可能比I更频繁的出现)更频繁的出现)nApriori算法是反单调的,即一个集合如果不能通过测试,则该集合的所有超集也不能通过相同的测试。Apriori算法步骤算法步骤nApriori算法由连接连接和剪枝剪枝两个步骤组成。n连接
11、:连接:为了找Lk,通过Lk-1与自己连接产生候选k-项集的集合,该候选候选k项集项集记为Ck。nLk-1中的两个元素L1和L2可以执行连接操作 的条件是nCk是Lk的超集,即它的成员可能不是频繁的,但是所有频繁的k-项集都在Ck中(为什么?)。因此可以通过扫描数据库,通过计算每个k-项集的支持度来得到Lk 。n为了减少计算量,可以使用Apriori性质,即如果一个k-项集的(k-1)-子集不在Lk-1中,则该候选不可能是频繁的,可以直接从Ck删除。)1 1()22(.)22()1 1 (21212121klklklklllll21ll Apriori算法步骤算法步骤n首先,找出频繁“1项集”
12、的集合,该集合记作L1。L1用于找频繁“2项集”的集合L2,而L2用于找L3。如此下去,直到不能找到“K项集”。找每个Lk都需要一次数据库扫描。n核心思想是:连接步和剪枝步。连接步是自连接,原则是保证前k-2项相同,并按照字典顺序连接。剪枝步,是使任一频繁项集的所有非空子集也必须是频繁的。反之,如果某个候选的非空子集不是频繁的,那么该候选肯定不是频繁的,从而可以将其从CK中删除。Apriori算法步骤算法步骤n简单的讲,1、发现频繁项集,过程为(1)扫描(2)计数(3)比较(4)产生频繁项集(5)连接、剪枝,产生候选项集,重复步骤(1)(5)直到不能发现更大的频集。n2、产生关联规则,过程为:
13、根据前面提到的置信度的定义,关联规则的产生如下:(1)对于每个频繁项集L,产生L的所有非空子集;(2)对于L的每个非空子集S,如果P(L)/P(S)min_conf则输出规则“SL-S”注:L-S表示在项集L中除去S子集的项集Apriori算法例6.3Apriori算法示例Database TDB1st scanC1L1L2C2C22nd scanC3L33rd scanTidItems10A,C,D20B,C,E30A,B,C,E40B,EItemsetsupA2B3C3D1E3ItemsetsupA2B3C3E3ItemsetA,BA,CA,EB,CB,EC,EItemsetsupA,B1
14、A,C2A,E1B,C2B,E3C,E2ItemsetsupA,C2B,C2B,E3C,E2ItemsetB,C,EItemsetsupB,C,E2使用Apiori性质由L2产生C3n1 连接:连接:nC3=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性质剪枝:频繁项集的所有子集必须是频繁的,对性质剪枝:频繁项集的所有子集必须是频繁的,对候选项候选项C3,我们可以删除其子集为非频繁的选项:,我们可以删除其子集为非频繁的选项:nA,B,C的的2项子集是项子集是A,B,A,C,B,C,其中,其中A,B不是
15、不是L2的的元素,所以删除这个选项;元素,所以删除这个选项;nA,C,E的的2项子集是项子集是A,C,A,E,C,E,其中,其中A,E 不是不是L2的的元素,所以删除这个选项;元素,所以删除这个选项;nB,C,E的的2项子集是项子集是B,C,B,E,C,E,它的所有,它的所有2项子集项子集都是都是L2的元素,因此保留这个选项。的元素,因此保留这个选项。n3这样,剪枝后得到这样,剪枝后得到C3=B,C,E图图6-3 :由由L2产生和剪枝候选产生和剪枝候选3项集的集合项集的集合C3Pseudo-code:Ck:CandidateitemsetofsizekLk:frequentitemsetofs
16、izek L1=frequentitems;for (k=1;Lk!=;k+)do beginCk+1=candidatesgeneratedfromLk;for eachtransactiontindatabasedoincrementthecountofallcandidatesinCk+1thatarecontainedintLk+1=candidatesinCk+1withmin_support endreturnkLk;图图6-4 Apriori算法算法6.2.2由频繁项集产生关联规则由频繁项集产生关联规则n同时满足最小支持度和最小置信度的才是强关联规则,从频繁项集产生的规则都满足支
17、持度要求,而其置信度则可由一下公式计算:n每个关联规则可由如下过程产生:n对于每个频繁项集L,产生L的所有非空子集;n对于每个非空子集s,如果 则输出规则 “ ”)(_sup)(_sup)|()(AcountportBAcountportBAPBAconfidenceconfscountportlcountportmin_)(_sup)(_sup)(sls例例 :6.4 p164 6.2.3 提高提高Apriori算法的效率算法的效率(1)nApriori算法主要的挑战算法主要的挑战n要对数据进行多次扫描;n会产生大量的候选项集;n对候选项集的支持度计算非常繁琐;n解决思路解决思路n减少对数据
18、的扫描次数;n缩小产生的候选项集;n改进对候选项集的支持度计算方法n方法方法1:基于:基于hash表的项集计数表的项集计数n将每个项集通过相应的hash函数映射到hash表中的不同的桶中,这样可以通过将桶中的项集技术跟最小支持计数相比较先淘汰一部分项集。提高提高Apriori算法的效率算法的效率(2)n方法方法2:事务压缩:事务压缩(压缩进一步迭代的事务数)n不包含任何k-项集的事务不可能包含任何(k+1)-项集,这种事务在下一步的计算中可以加上标记或删除。n方法方法3:划分:划分n挖掘频繁项集只需要两次数据扫描nD中的任何频繁项集必须作为局部频繁项集至少出现在一个部分中。n第一次扫描:将数据
19、划分为多个部分并找到局部频繁项集n第二次扫描:评估每个候选项集的实际支持度,以确定全局频繁项集提高Apriori算法的有效性(3)n方法方法4:选样:选样(在给定数据的一个子集挖掘)n基本思想:选择原始数据的一个样本,在这个样本上用Apriori算法挖掘频繁模式n通过牺牲精确度来减少算法开销,为了提高效率,样本大小应该以可以放在内存中为宜,可以适当降低最小支持度来减少遗漏的频繁模式n可以通过一次全局扫描来验证从样本中发现的模式n可以通过第二此全局扫描来找到遗漏的模式n方法方法5:动态项集计数:动态项集计数n在扫描的不同点添加候选项集,这样,如果一个候选项集已经满足最少支持度,则可以直接将它添加
20、到频繁项集,而不必在这次扫描的以后对比中继续计算6.2.4挖掘频繁模式增长的方法挖掘频繁模式增长的方法nApriori的候选-产生机制显著压缩了候选项集的大小,并导致的很好的性能,但是也有一些缺点,比如说当数据量很大的时候,候选集将会非常的大(划分方法可以避免这一点);并且需要多次扫描数据库(划分应该是一个非常好的方法)。所以一种称作“频繁模式增长”或简称FP增长(FP Growth)的方法应运而生了。它采用分治策略,将提供频繁项的数据库压缩到一颗频繁模式树中,但仍保留项集的相关信息。然后将压缩后的数据库划分成一组条一组条件数据库件数据库 ,每个关联一个频繁项或模式段,并分别挖掘每个条件数据库
展开阅读全文