数据挖掘ppt3 第三章 关联规则_第1页
数据挖掘ppt3 第三章 关联规则_第2页
数据挖掘ppt3 第三章 关联规则_第3页
数据挖掘ppt3 第三章 关联规则_第4页
数据挖掘ppt3 第三章 关联规则_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关联规则分析目录背景基本概念关联规则挖掘过程Apriori算法FP-Growth算法关联规则评价

“尿布与啤酒”——典型关联分析案例

采用关联规则比较典型的案例是“尿布与啤酒”的故事。在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,超市也因此发现了一个规律,在购买婴儿尿布的年轻父亲们中,有30%~40%的人同时要买一些啤酒。超市随后调整了货架的摆放,把尿布和啤酒放在一起,明显增加了销售额。同样的,我们还可以根据关联规则在商品销售方面做各种促销活动。

怎么会出现这种情况呢?“啤酒和尿布”的故事是营销届的神话,“啤酒”和“尿布”两个看上去没有关系的商品摆放在一起进行销售、并获得了很好的销售收益,这种现象就是卖场中商品之间的关联性,研究“啤酒与尿布”关联的方法就是购物篮分析,购物篮分析是沃尔玛秘而不宣的独门武器,购物篮分析可以帮助我们在门店的销售过程中找到具有关联关系的商品,并以此获得销售收益的增长!

背景

关联规则最初提出的动机是针对购物篮分析(MarketBasketAnalysis)问题提出的。

假设分店经理想更多的了解顾客的购物习惯。特别是,想知道哪些商品顾客可能会在一次购物时同时购买?为回答该问题,可以对商店的顾客事物零售数量进行购物篮分析。

该过程通过发现顾客放入“购物篮”中的不同商品之间的关联,分析顾客的购物习惯。这种关联的发现可以帮助零售商了解哪些商品频繁的被顾客同时购买,从而帮助他们开发更好的营销策略。目录背景基本概念关联规则挖掘过程Apriori算法FP-Growth算法关联规则评价

基本概念

设I={i1,

i2,…,im}是项(Item)的集合。

D是事务(Transaction)的集合(事务数据库)。

事务T是项的集合,且对于每一个事务具有唯一的标识:事务号,记作TID。

设A是I中的一个项集,如果A⸦T,那么事务T包含A。

基本概念

项目(item):其中的可乐,薯片,面包,啤酒,尿布都称作item。项集(itemset):item的集合,例如{可乐,薯片},{可乐,面包}等,每个顾客购买的都是一个项集。其中,项集中item的个数称为项集的长度,含有k个item的项集称为K-itemset。

基本概念定义1:关联规则:

关联规则是形如A->B的逻辑蕴含式,其中A,B都不为空,且A⸦I,B⸦I,并且A

B=

基本概念定义2:支持度(Support):支持度描述了A和B这两个物品集在所有的事物中同时出现的概率有多大。规则A->B在数据库D中具有支持度S,即概率P(AB),即其中|D|表示事物数据库D的个数,|AB|表示A、B两个项集同时发生的事物个数。

基本概念【例1】表3.1所示的商店事务数据,顾客购买可乐又购买薯片有1笔,顾客购买可乐又购买面包有3笔,则可乐和薯片同时出现的次数是1,事务数据库一共有5条数据,所以可乐和薯片的关联规则的支持度。可乐和面包的支持度

基本概念定义3:置信度(confidence):置信度就是指在出现了物品集A的事物T中,物品集B也同时出现的概率。

规则A->B具有置信度C,表示C是是包含A项集的同时也包含B项集的概率,即P(B|A),所以其中|A|表示数据库中包含项集A的事务个数。

基本概念【例2】表3.1所示的商店事务数据,顾客购买可乐有4笔,顾客购买可乐又购买薯片有1笔,顾客购买可乐又购买面包有3笔,那么购买可乐又会购买薯片的置信度,购买可乐又会购买面包的置信度。这说明买可乐也会买面包的关联性比薯片强,营销上可以做一些组合策略销售。

基本概念 规则的支持度和置信度是规则兴趣度的两种度量。支持度是对关联规则重要性的衡量,置信度是对关联规则的准确度的衡量,支持度说明了这条规则在所有事务中有多大代表性。

显然支持度越大,关联规则越重要。有些关联规则置信度虽然很高,但支持度却很低,说明该关联规则实用的机会很小,因此也不重要。

可乐和面包同时出现的次数是3,事务数据库一共有5条数据。故Support(可乐->面包)=3/5;可乐和面包同时出现的个数是3,可乐单独出现的次数为4.故Confidence(可乐->面包)=3/4;

基本概念定义4:强关联规则: D

在I上满足最小支持度和最小可信度的关联规则称为强关联规则。

通常所说的关联规则一般指上面定义的强关联规则。

基本概念定义5:提升度Lift:

提升度表示A项集的出现,对B项集的出现有多大影响。

公式反映了项集A和项集B的相关程度。若I(A->B)=1即P(AB)=P(A)P(B),说明项集A和项集B是相互独立的。若I(A->B)<1说明项集A和项集B是负相关的。若I(A->B)>1说明项集A和项集B是正相关的。

关联规则挖掘基本过程关联规则挖掘问题就是根据用户指定的最小支持度和最小置信度来寻找强关联规则。频繁项集:满足最小支持度的项集称为频繁项集。频繁k-项集的集合通常记作Lk。关联规则挖掘问题可以划分成两个子问题:1.发现频繁项目集:通过用户给定最小支持度,寻找所有频繁项目集或者最大频繁项目集。2.生成关联规则:通过用户给定最小可信度,在频繁项目集中,寻找关联规则。关于支持度和置信度描述正确的是()支持度是项集频度表示,置信度是规则的准确度支持度是规则准确性表示,置信度是项集频度表示支持度是规则准确性表示,置信度是重要性体现ABCD提交单选题1分

Apriori算法项目集格空间理论定理:设X,Y是数据集D中的项集:

(1)若X⊆Y,则Support(X)>=Support(Y)。

(2)若X⊆Y,如果X是非频繁项集,则Y也是非频繁项集。

(3)若X⊆Y,如果Y是频繁项集,则X也是频繁项集。性质:1.任何频繁项集的子集都是频繁项集。2.任何非频繁项集的超集都为非频繁项集。3.任何频繁k项集都是由频繁k−1项集组合生成的4.频繁k项集的所有k−1项子集一定都是频繁k−1项集Apriori算法一个项集,如果有至少一个非空子集是非频繁的,那么这个项集一定是非频繁的。即,如果一个项集是非频繁的,则它所有的超集都是非频繁的,这种基于支持度度量修剪指数搜索空间的策略称为基于支持度的剪枝(support-basedpruning)这种剪枝策略依赖于支持度度量的一个关键性质,即一个项集的支持度决不会超过它的子集的支持度。这个性质也称为支持度度量的反单调性(anti-monotone)。该算法使用一种逐层搜索的迭代方法,即从频繁1-项集到最长的频繁项集,它每次遍历项集格中的一层,利用k-项集探索(k+1)-项集。

Apriori算法

具体做法:首先通过扫描数据库,累计每个项的计数,并收集满足最小支持度的项,找出频繁1-项集的集合,记为L1;再用L1找频繁2-项集的集合L2;再用L2找L3…如此下去,直到不能找到频繁k-项集为止。找出每个Lk需要一次数据库的完整扫描。

格结构

常常用来表示所有可能的项集。从中可以看出频繁项集的搜索空间是指数搜索空间,随着事务数据库中项的增加,候选项集和比较次数都指数级增长,计算复杂度很高。下图为项集I={a,b,c,d,e}的格集图

频繁项集的所有非空子集也一定是频繁的

说明:这个概念很容易理解了,比如一个项集{I1,I2,I3}是频繁的,那么,说明这三个项同时出现的次数是大于最小支持度计数的,所以,我们可以推知,他的任何非空子集,{I1},{I2,I3}等等的支持度计数也一定比预先定义的阈值要大,故而都是频繁的。

格结构

先验原理:

如图所示,如果{c,d,e}是频繁的,则它的所有子集也是频繁的。

例子:

非频繁项集被剪枝的超集

Apriori算法步骤分为两个步骤:第一步通过迭代,检索出事务数据库中的所有频繁项集,即支持度不低于用户设定的阈值的项集;第二步利用频繁项集构造出满足用户最小信任度的规则。

Apriori算法频繁项集产生Apriori算法的频繁项集产生的部分有两个重要的特点:它是一个逐层算法。即从频繁1-项集到最长的频繁项集,它每次遍历项集格中的一层它使用产生-测试策略来发现频繁项集。在每次迭代,新的候选项集由前一次迭代发现的频繁项集产生,然后对每个候选的支持度进行计数,并与最小支持度阈值进行比较。该算法需要的总迭代次数是kmax+1,其中kmax是频繁项集的最大长度。该环节可由连接、剪枝和扫描筛选这三步组成,连接和剪枝来产生候选项集,通过扫描筛选来实现进一步的删除小于支持度阈值的项集。

概念:连接步:要从k-1项集找出k项集,通过k-1项集与自身连接产生候选k项集合。若p1和p2项集中,只有一项是不同的,那么可以认为p1p2是可连接的,剪枝步:从第k-1项生成第k项之后要从第k项中删去子集不为频繁项的k项集

,即支持度<最小支持度数的候选集。扫描事务数据库:因为当前候选频繁k项集Ck中仍然可能存在支持度小于支持度阈值min_sup的项集,所以需要做进一步筛选。

具体做法:

首先扫描全部数据,产生候选项1项集的集合C1,根据最小支持度,由候选1项集的集合C1产生频繁1-项集,记为L1。然后利用L1连接来产生候选项集C2,对C2中的项进行判定挖掘出L2,即频繁2-项集;(删除C2中那些支持度小于最小支持度的项)不断如此循环下去直到无法发现更多的频繁k-项集为止。每挖掘一层Lk就需要扫描整个数据库一遍。

Apriori算法例子

交易数据表如下(假设给定的最小支持度为2,最小置信度为0.6)

交易号码商品100可乐鸡蛋汉堡200可乐尿布啤酒300可乐尿布啤酒汉堡400尿布啤酒项集支持度计数可乐3鸡蛋1尿布3啤酒3汉堡2C1项集支持度计数可乐3尿布3啤酒3汉堡2根据最小支持度计数,生成频繁1项集L1项集可乐尿布可乐啤酒可乐汉堡尿布啤酒尿布汉堡啤酒汉堡由L1生成候选2项集项集支持度计数可乐尿布2可乐啤酒2可乐汉堡2尿布啤酒3尿布汉堡1啤酒汉堡1扫描D,对每个候选2项集计数L1C2项集支持度计数可乐尿布2可乐啤酒2可乐汉堡2尿布啤酒3根据支持度计数,生成频繁-2项集L2项集可乐尿布啤酒由L2生成候选集3项集C3项集支持度计数可乐尿布啤酒2扫描D,对每个候选3项集计数C3项集支持度计数可乐尿布啤酒2L3根据最小支持度计数,生成频繁3项集为什么没有{可乐,尿布,汉堡}或者{可乐,啤酒,汉堡}这两个项集呢?根据性质1,{尿布,汉堡}和{啤酒,汉堡}这两个子项集不是频繁的上述过程得到各级频繁项集,下面进入第二个阶段:产生关联规则由频繁项集产生关联规则关联规则产生步骤如下:1)

对于每个频繁项集l,产生其所有非空真子集;2)

对于每个非空真子集s,如果 >=min_conf,

则输出

A->B,其中,min_conf是最小置信度阈值。

例如,在上述例子中,频繁3项集{可乐,啤酒,尿布}。频繁2项集有{可乐,尿布},{可乐,啤酒},{可乐,汉堡},{尿布,啤酒}

可以产生哪些关联规则?

频繁2项集:{可乐,尿布}生成强规则过程如下:{可乐,尿布}的非空真子集{可乐}{尿布}

C(可乐=>尿布)=2/3>0.6C(尿布=>可乐)=2/3>0.6

都大于最小置信值,所以规则可乐=>尿布和尿布=>可乐都是强关联规则。

同理计算频繁2项集{可乐,啤酒}生成的强关联规则:

C(可乐=>啤酒)=2/3>0.6 C(啤酒=>可乐)=2/3>0.6

都大于最小置信值,所以规则可乐=>啤酒和啤酒=>可乐都是强关联规则。

同理计算频繁2项集{可乐,汉堡}生成的强关联规则:

C(可乐=>汉堡)=2/3>0.6 C(汉堡=>可乐)=1>0.6

都大于最小置信值,所以规则可乐=>汉堡和汉堡=>可乐都是强关联规则。

同理计算频繁2项集{尿布,汉堡}生成的强关联规则:

C(尿布=>汉堡)=1>0.6 C(汉堡=>尿布)=2/3>0.6

都大于最小置信值,所以规则尿布=>汉堡和汉堡=>尿布都是强关联规则。

频繁3项集:{可乐,尿布,啤酒}生成强规则过程如下:

非空真子集{可乐},{尿布},{啤酒},{可乐,尿布},{尿布,啤酒},{可乐,啤酒}

分别进行计算: C(啤酒=>{可乐,尿布})=p({啤酒,可乐,尿布})/P(啤酒)=2/3 C(可乐=>{啤酒,尿布})=P(啤酒,尿布,可乐)/P(可乐)=2/3 C(尿布=>{啤酒,可乐})=P(啤酒,尿布,可乐)/P(尿布)=2/3 C({尿布,可乐}=>啤酒)=2/2=1 C({啤酒,尿布}=>可乐)=2/3 C({啤酒,可乐}=>尿布)=2/2=1

因此都为强规则。方法:

L1=find_frequent_1-itemsets(D);//

找出所有频繁1项集

For(k=2;Lk-1!=null;k++){

Ck=apriori_gen(Lk-1);//

产生候选,并剪枝

Foreach

事务tinD{//

扫描D进行候选计数

Ct

=subset(Ck,t);//

得到t的子集

Foreach

候选c

属于

Ct

c.count++;

}

Lk={c属于Ck

|c.count>=min_sup}ReturnL=所有的频繁集;

Procedureapriori_gen(Lk-1:frequent(k-1)-itemsets)

Foreach项集l1属于Lk-1

Foreach项集

l2属于Lk-1

If((l1[1]=l2[1])&&(l1[2]=l2[2])&&……..&&(l1[k-2]=l2[k-2])&&(l1[k-1]<l2[k-1]))then{

c=l1连接l2

//连接步:产生候选

ifhas_infrequent_subset(c,Lk-1)then

deletec;//剪枝步:删除非频繁候选

elseaddctoCk;

}

ReturnCk;

Procedurehas_infrequent_sub(c:candidatek-itemset;Lk-1:frequent(k-1)-itemsets)

Foreach(k-1)-subsetsofc

Ifs不属于Lk-1

then

Returntrue;

Returnfalse;输入:D-

事务数据库;min_sup-

最小支持度计数阈值输出:L-D中的频繁项集

Apriori算法的特点Apriori算法是应用最广泛的关联规则挖掘算法,它有如下优点:1)Apriori算法是一个迭代算法。2)数据采用水平组织方式。3)采用Apriori优化方法。4)适合事务数据库的关联规则挖掘。5)适合稀疏数据集。

优点

Apriori算法的特点Apriori算法有如下缺点:1)多次扫描事务数据库,需要很大的I/O负载。对每个k=1,2,…,m,为了计算候选k-项集的支持度,都需要扫描一次事务数据库,才能确定候选k-项集的支持度,其计算时间开销很大。2)可能产生庞大的候选集。例如,当事务数据库有104个频繁1-项集时,Apriori算法就需要产生多达107个候选2-项集,即对存储空间要求会影响算法的执行效率。3)候选项集支持度计算量大,尤其在频繁项目集长度变大的情况下,运算时间显著增加。

缺点Apriori算法的特点改进的Apriori大体思路:1)减少交易数据库的扫描次数。2)减少候选项集的数量。3)提高候选频繁项支持度计算效率。

改进关联规则挖掘的基本过程包括两部分()寻找频繁项集挖掘强关联规则计算提升度规则价值分析ABCD提交多选题1分

FP-Growth算法

Apriori算法候选集产生的时空复杂度都比较高,特别是每计算一次候选K项集的支持度就需要扫描一遍事务数据库。 JiaweiHan等人在2000年提出了一种试图这样做的有趣的方法,叫频繁模式增长算法(FrequentPatternGrowth:FP-Growth)。

简介

FP-Growth算法是基于Apriori原理提出的关联分析算法,它采取分治策略,将提供频繁项集的数据库压缩到一棵频繁模式树(FrequentPatternTree:FP-tree),并保留项集关联信息。

然后,把这种压缩后的数据库划分成一组条件数据库,每个数据库关联一个频繁项或“模式段”,并分别挖掘每个条件数据库。

过程 FP-growth算法发现频繁项集的过程:

(1)构建FP树;

(2)从FP树中挖掘频繁项集。

FP-Tree:将事务数据表中的各个事务数据项按照支持度排序后,把每个事务中的数据项按降序依次插入到一棵以

NULL为根结点的树中,同时在每个结点处记录该结点出现的支持度。

条件模式基:包含在FP-Tree中与后缀模式一起出现的前缀路径的集合,也就是同一个频繁项在FP树中的所有节点的祖先路径的集合。

条件树:将条件模式基按照FP-Tree的构造原则形成的一个新的FP-Tree子树。

具体步骤如下1.第一次扫描事务数据库,得到频繁1项集,并按支持度降序排序。2.删掉不满足设定最小支持度的项。3.第二次扫描数据库,剔除掉原始数据中非频繁1项集,并将原始数据按支持度降序排序。4.构造FP树:读入排序后的数据集,插入FP树,插入时按照排序后的顺序,插入FP树中,排序靠前的节点是祖先节点,而靠后的是子孙节点。如果有共用的祖先,则对应的公用祖先节点计数加1。插入后,如果有新节点出现,则项头表对应的节点会通过节点链表链接上新节点。直到所有的数据都插入到FP树后,FP树的建立完成。5.从FP树中挖掘频繁项集:从项头表的底部项依次从下向上找到项头表项所有包含该项的前缀路径,即其条件模式基(CPB,conditionalpatternbase),从条件模式基递归挖掘得到项头表项的频繁项集。递归调用树结构构造FP子树时,删除小于最小支持度的项。如果条件模式基(FP子树)最终呈现单一路径的树结构,则直接列举所有组合;非单一路径的则继续调用树结构,直到形成单一路径即可。结合例子1:1.第一次扫描事务数据库,得到频繁1项集,并按支持度降序排序。原始数据:

频繁1项集:

支持度降序:ItemsI1I2I5I2I4I6I2I3I7I1I2I4I1I3I2I3I8I1I3I1I2I3I5I1I2I3项支持度计数I16I27I36I42I52I61I71I81项支持度计数I27I16I36I42I52I61I71I81

2.删掉不满足设定最小支持度的项。(假设当前最小支持度为2)项支持度计数I27I16I36I42I52I61I71I81项支持度计数I27I16I36I42I52 3.第二次扫描数据库,剔除掉原始数据中非频繁1项集,并将原始数据按支持度降序排序。I2:7I1:6I3:6I4:2I5:2I1I2I5I2I4I6I2I3I7I1I2I4I1I3I2I3I8I1I3I1I2I3I5I1I2I3项头表剔除非频繁1项集原始数据:I1I2I5I2I4I2I3I1I2I4I1I3I2I3I1I3I1I2I3I5I1I2I3I2I1I5I2I4I2I3I2I1I4I1I3I2I3I1I3I2I1I3I5I2I1

I3

支持度降序排序4.构造FP树:读入排序后的数据集,插入FP树,插入时按照排序后的顺序,插入FP树中,排序靠前的节点是祖先节点,而靠后的是子孙节点。如果有共用的祖先,则对应的公用祖先节点计数加1。插入后,如果有新节点出现,则项头表对应的节点会通过节点链表链接上新节点。直到所有的数据都插入到FP树后,FP树的建立完成。I2I1I5I2I4I2I3I2I1I4I1I3I2I3I1I3I2I1I3I5I2I1

I3

5.挖掘频繁项集

可以按照从下往上的顺序:先考虑I5:得到条件模式基

<(I2,I1)>

,<(I2,I1,I3)>(条件模式基:顺着I5的链表,找出所有包含I5的前缀路径,这些前缀路径就是I5的条件模式基)。复制图结构,我们接着将所有的祖先节点计数设置为叶子节点的计数,删除小于支持度的节点,FP子树如下图右。

形成单条路径后进行组合。得到I5频繁项集:{{I2,I5},{I1,I5},{I2,I1,I5}}。

接着考虑I4,得到条件模式基<(I2,I1)>、<(I2)>,构造条件FP树(下图右):得到I4频繁项集:{{I2,I4}}

然后考虑I3,得到条件模式基<(I2,I1)>、<(I2)>、<(I1)>构造条件FP树:

由于此树不是单一路径,因此需要递归挖掘I3。

递归考虑I3,此时得到I1条件模式基<(I2)>,即I1I3的条件模式基为<(I2)>构造条件FP树:

得到I3的频繁项目集{{I2,I3},{I1,I3},{I2,I1,I3}}。

最后考虑I1,得到条件模式基<(I2)>构造条件FP树:得到I1的频繁项目集{{I2,I1}}。

FP-growth算法总结 FP-growth算法的工作流程:首先构建FP树,然后利用它来挖掘频繁项集。为构建FP树,需要对原始数据集扫描两遍。第一遍对所有元素项的出现次数进行计数。数据库的第一遍扫描用来统计出现的频率,而第二遍扫描中只考虑那些频繁元素。 FP-growth算法将数据存储在一种称为FP树的紧凑数据结构中。FP树通过链接(link)来连接相似元素,相似项之间的链接称为节点链接(nodelink),用于快速发现相似项的位置。被连起来的元素项可以看成一个链表。

与一般搜索树不同的是,一个元素项可以在一棵FP树中出现多次。FP树中存储项集的出现频率,而每个项集会以路径的方式存储在树中。存在相似元素的集合会共享树的一部分。只有当集合之间完全不同时,树才会分叉。树节点上给出集合中的单个元素及其在序列中的出现次数,路径会给出该序列的出现次数。

FP-GROWTH算法的优点相比Apriori算法需要多次扫描数据库,FPGrowth只需要对数据库扫描2次。第1次扫描事务数据库获得频繁1项集。第2次扫描建立一颗FP-Tree树。

输入:事务集合List<List<String>>transactions

输出:频繁模式集合及相应的频数Map<List<String>,Integer>FrequentPattens

初始化PostModel=[],CPB=transactionsvoid

FPGrowth(List<List<String>>CPB,List<String>PostModel){

if

CPB为空://条件向量模式基

return

统计CPB中每一个项目的计数,把计数小于最小支持数minSuport的删除掉,对于CPB中的每一条事务按项目计数降序排列。

由CPB构建FP-Tree,FP-Tree中包含了表头项headers,每一个header都指向了一个链表HeaderLinkList,链表中的每个元素都是FP-Tree上的一个节点,且节点名称与相同。

for

headerinheaders:

newPostModel=+PostModel

把<newPostModel,header.count>加到FrequentPattens中。

newCPB=[]

for

TreeNodeinHeaderLinkList:

得到从FP-Tree的根节点到TreeNode的全路径path,把path作为一个事务添加到newCPB中,要重复添加TreeNode.count次。

关联规则评价

1、主观标准以决策者的主观知识或领域专家的先验知识等建立的评价标准,称为主观兴趣度。关联规则{尿布}

{啤酒}确实是有趣的,因为这种联系十分出人意料,并且可能为零售商提供新的交叉销售机会。

2、客观标准以统计理论为依据建立的客观评价标准,称为客观兴趣度。(1)客观兴趣度以数据本身推导出的统计量来确定规则是否是有趣的。(2)支持度,置信度,提升度等都是客观兴趣度,也就是客观标准。

关联规则评价

随着有些数据问题的出现,我们不禁会有这么一个疑问,仅有支持度、置信度和提升度就足以评价物品间的关系了吗?那么接下来看一个例子。

这是一个购物篮数据,我们可以分析下购买游戏和购买影片之间的关联关系。交易数据集有10000条数据,其中有6000条包括购买游戏,7500条包括购买影片,4000条包含既购买游戏又购买影片。数据集如下表所示:表1买游戏不买游戏行总计买影片400035007500不买影片20005002500列总计6000400010000

假设我们设置的最小支持度为30%,最小置信度为60%。从上表可以得到。

Support(买游戏->买影片)=4000/10000*100%=40% Confidence(买游戏->买影片)=4000/6000*100%=66%

可以看出,这条规则的支持度和置信度都满足要求。因此我们很开心,找到了一条强规则,于是我们建议超市把影片光碟和游戏光碟放在一起,可以提高销量。

可是我们再思考下,一个爱玩游戏的人会有时间看影片吗,这个规则是不是有问题?事实上这条规则误导了我们。我们可以使用提升度来验证下 Lift(买游戏->买影片)=(4000/10000)/(6000/10000)*(7500/10000)=8/9<1。结果是成负相关的,恰恰说明了买游戏光碟限制了影片的销量。也就是说购买了游戏光碟的人更倾向于不购买影片光碟,这才是符合现实的。

从上面例子可以看出,支持度和置信度并不能成功过滤掉那些我们不感兴趣的规则。因此我们需要一些新的评价标准。下面介绍五种评价标准:卡方系数、全自信度、最大自信度、kulc、cosine距离。

基本概念定义5:提升度Lift:

提升度表示A项集的出现,对B项集的出现有多大影响。

公式反映了项集A和项集B的相关程度。若I(A->B)=1即P(AB)=P(A)P(B),说明项集A和项集B是相互独立的。若I(A->B)<1说明项集A和项集B是负相关的。若I(A->B)>1说明项集A和项集B是正相关的。

卡方系数

卡方分布是数理统计中的一个重要分布,利用卡方系数我们可以确定两个变量是否相关,卡方系数的定义:

公式中O表示数据的实际值,E表示期望值,我们再来看一个例子。表2买游戏不买游戏行总计买影片4000(4500)3500(3000)7500不买影片2000(1500)500(1000)2500列总计6000400010000表中括号中表示的是期望值,以第一行第一列4500为例,其计算方法是6000*(7500/10000)。总体记录中有75%买了影片,而买游戏的只有6000人。于是我们希望这6000人中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论