数据挖掘关联分析中的支持度、置信度和提升度
购物篮分析:
利用关联分析的方法可以发现联系如关联规则或频繁项集。
二元表示:每一行对应一个事务,每列对应一个项,项用二元变量表示,项在事务中出现比不出现更重要,因此项是非对称的的二元变量。
项集(Itemset):包含 0 个或多个项的集合,如果包含 k 个项,则称为 k-项集。
事务的宽度:事务中出现的项的个数
一般我们使用三个指标来度量一个关联规则,这三个指标分别是:支持度、置信度和提升度。
Support(支持度):表示同时包含 A 和 B 的事务占所有事务的比例。如果用 P(A) 表示包含 A 的事务的比例,那么 Support = P(A & B)
Confidence(可信度):表示包含 A 的事务中同时包含 B 的事务的比例,即同时包含 A 和 B 的事务占包含 A 的事务的比例。公式表达:Confidence = P(A & B)/ P(A)
Lift(提升度):表示“包含 A 的事务中同时包含 B 的事务的比例”与“包含 B 的事务的比例”的比值。公式表达:Lift = ( P(A & B)/ P(A) ) / P(B) = P(A & B)/ P(A) / P(B)。
提升度反映了关联规则中的 A 与 B 的相关性,提升度 > 1 且越高表明正相关性越高,提升度 < 1 且越低表明负相关性越高,提升度 = 1 表明没有相关性。
举例子:
10000 个超市订单(10000 个事务),其中购买三元牛奶(A事务)的 6000 个,购买伊利牛奶(B事务)的 7500 个,4000 个同时包含两者。
那么通过上面支持度的计算方法我们可以计算出:
三元牛奶(A事务)和伊利牛奶(B事务)的支持度为:P(A & B)= 4000 / 10000 = 0.4.
三元牛奶(A事务)对伊利牛奶(B事务)的置信度为:包含 A 的事务中同时包含 B 的占包含 A 的事务比例。4000 / 6000 = 0.67,说明在购买三元牛奶后,有 0.67 的用户去购买伊利牛奶。
伊利牛奶(B事务)对三元牛奶(A事务)的置信度为:包含 B 的事务中同时包含 A 的占包含 B 的事务比例。4000 / 7500 = 0.53,说明在购买三元牛奶后,有 0.53 的用户去购买伊利牛奶。
上面我们可以看到 A事务对 B事务的置信度为 0.67,看似相当高,但是其实这是一个误导,为什么这么说?
因为在没有任何条件下,B事务的出现的比例是 0.75,而出现 A事务,且同时出现 B事务的比例是 0.67,也就是说设置了 A事务出现这个条件,B事务出现的比例反而降低了。这说明 A事务和 B事务是排斥的。
下面就有了提升度的概念。
我们把 0.67 / 0.75 的比值作为提升度,即 P(B | A) / P(B),称之为 A 条件对 B事务的提升度,即有 A 作为前提,对 B 出现的概率有什么样的影响,如果提升度 = 1 说明 A 和 B 没有任何关联,如果 < 1,说明 A事务和 B事务是排斥的,> 1,我们认为 A 和 B 是有关联的,但是在具体的应用之中,我们认为提升度 > 3 才算作值得认可的关联。
提升度是一种很简单的判断关联关系的手段,但是在实际应用过程中受零事务的影响比较大,零事务在上面例子中可以理解为既没有购买三元牛奶也没有购买伊利牛奶的订单。数值为 10000 - 4000 - 2000 - 3500 = 500,可见在本例中,零事务非常小,但是在现实情况中,零事务是很大的。在本例中如果保持其他数据不变,把 10000 个事务改成 1000000 个事务,那么计算出的提升度就会明显增大,此时的零事务很大(1000000 - 4000 - 2000 - 3500),可见提升度是与零事务有关的。
根据《数据挖掘概念与技术》一书的说法,常用的判断方法 还不是提升度,而是 KULC 度量 + 不平衡比(IR) 。他们可以有效的降低零事务造成的影响。
下面补充一下 KULC 和 IR 的说明:
KULC = 0.5 * P(B | A)+ 0.5 * P(A | B)
该公式表示 将两种事件作为条件的置信度的均值,避开了支持度的计算,因此不会受零和事务的影响。在上例中,KULC 值 = ( 4000 / 6000 + 4000 / 7500 ) / 2 = 0.6
IR = P(B | A)/ P(A | B) ,IR 用来指示一种情况
假如在上例中 6000 个事务包含三元牛奶, 75000 个包含伊利牛奶,同时购买依旧为 4000
则:
KULC = 0.5 *(4000 / 75000 + 4000 / 6000)= 0.36
IR = 4000 / 6000 /(4000 / 75000)= 12.5
这说明这两个事务的关联关系非常不平衡,购买三元牛奶的顾客很可能同时会买伊利牛奶,而购买了伊利牛奶的用户不太会再去买三元牛奶。很好理解,A 对 B 的支持度远远高于 B 对 A 的支持度。
数据挖掘关联分析中的支持度、置信度和提升度相关推荐
- 关联分析中的支持度、置信度和提升度 计算
目录 项集(Itemset) 事务的宽度 支持度.置信度和提升度 定义 例一 例二 项集(Itemset) 包含0个或多个项的集合,如果包含k个项,则称为k-项集. 事务的宽度 事务中出现的项的个数 ...
- 关联分析中的支持度、置信度和提升度
1.支持度(Support) 支持度表示项集{X,Y}在总项集里出现的概率.公式为: Support(X→Y) = P(X,Y) / P(I) = P(X∪Y) / P(I) = num(XUY) / ...
- 【转载】关联分析中的支持度、置信度和提升度
目录 1. 支持度(Support) 2. 置信度 (Confidence) 3. 提升度(Lift) 1. 支持度(Support) 支持度表示项集{X,Y}在总项集里出现的概率.公式为: Supp ...
- 关联分析中的支持度、可信度和提升度
关联规则下的几个参数: 支持度(Support):表示A和B同时使用的人数占所有用户数的比例,那么Support=P(A&B) 可信度(Confidence):表示使用A的用户中同时使用了B的 ...
- 基因组关联分析中的交互作用研究
基因组关联分析中的交互作用研究 语音 编辑 讨论 上传视频 本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! <基因组关联分析中的交互作用研究>是依托中国科学技术大 ...
- 全基因组关联分析中上位性检测算法的研究
全基因组关联分析中上位性检测算法的研究 前言 这个项目主要是分享一些全基因组关联分析中上位性检测算法的研究经验,算是,怎么入门,写这么个东西,一是做总结,二是咱实验室估计以后还会有做这个方向的,备着吧 ...
- python 计算订单_python实现apriori算法的关联规则之支持度、置信度、提升度
Apriori算法的简介 Apriori算法:使用候选项集找频繁项集 Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法.其核心是基于两阶段频集思想的递推算法.该关联规则在分类上属于单维 ...
- 支持度、置信度和提升度
一般我们使用三个指标来度量一个关联规则,这三个指标分别是:支持度.置信度和提升度. Support(支持度):表示同时包含A和B的事务占所有事务的比例.如果用P(A)表示使用A事务的比例,那么Supp ...
- 支持度、置信度、提升度、apriori算法理解(简易版)
关于支持度.置信度.提升度以及apriori算法的理解(简单版) 理解支持度 所谓支持度,就是比如说10个用户购买商品,有8个用户购买商品A,那么商品A的支持度就是80%.支持度越大,关联规则越重要, ...
最新文章
- QNX Hypervisor管理程序
- 修图动口不动手,有人把StyleGAN和CLIP组了个CP,能听懂修图指令那种
- ES cross cluster search跨集群查询
- ajax hash调用实例
- 适合oracle运行的软件环境,创建最适合的Oracle运行环境
- jsoup爬虫教程技巧_Jsoup V的幕后秘密:优化的技巧和窍门
- c#发送讯息_企业讯息
- 工业交换机在工业通信领域的应用分析
- TensorFlow深度自动编码器入门实践
- unity3d 使用GL 方式画线
- C++对象绑定到Lua
- POJ 1151 Atlantis 矩形面积求交/线段树扫描线
- 使用Photoshop+960 Grid System模板进行网页设计
- (无技术)我的网站开发之路及部分服务器商优缺点
- Qt应用程序开发九:上传文件
- python3模拟键盘输入_python 模拟键盘输入
- android 蓝牙传输到苹果手机,使用蓝牙文件交换将文件从Android传输到Mac | MOS86
- js对call 和apply的理解
- Linux CPU频率控制
- Java代码的.equest的空指针异常