---数据分析师---
三、关联规则分析

🔸关联规则的提出与应用
关联与关联规则
- 自然界中某种事物发生时其他事物也会发生,则这种联系称之为关联。
- 反映事件之间依赖或关联的知识称为关联规则。
规则形式举例:
萧敬腾开演唱会@下雨
Body @ Head 【support,confidence】
关联规则的提出
- 20世纪90年代沃尔玛超市管理员分析销售数据时,发现了一个很奇怪的现象“啤酒和尿布”两样毫无相关性的数据会经常出现在同一各购物车里。美国学者通过Aprior算法(分析购物篮中的商品集合,找出商品之间关联关系的关联算法,并根据商品之间的关系,找出客户的购买行为)分析了真实情况。
- 了解到新生儿母亲在家照看孩子,就让年轻的父亲去超市购买孩子需要的尿布。这些父亲会选择既有尿布又有自己喜欢的啤酒的超市,从而能提高买东西的效率。所以说这两样商品齐全的超市会更受年轻父亲喜爱。更有早发现该规律的超市,将啤酒和尿布摆在相邻位置,更加节省了年轻父亲买东西的时间,也就间接提升了超市营业额。
关联规则挖掘的作用
通过发现顾客放入购物篮中的不同商品之间的联系,分析顾客的购买习惯
- 那些物品经常被顾客购买?
- 同义词购买中,那些商品经常会被一起购买?
- 一般用户的购买过程中是否存在一定的购买时间序列?
具体应用:利润最大化
- 商品货架设计:更加适合客户的购物路径
- 货存安排:实现超市的零库存管理
- 用户分类:提供个性化的服务
关联规则已广泛应用
- 个性化商铺搜索
- 基于顾客全网购买历史记录的猜您喜欢
- 商品列表的个性化排序
- 经常与本商品一起购买的商铺
- 基于顾客全网浏览历史的猜您喜欢
- 浏览过本商品的顾客最终购买了
电信业务中的应用示例
分析用户定制的数据业务
- 购物篮 = 用户每月使用的所有数据业务
- 项 目 = 单项数据业务(彩信、手机邮箱等)
- 分析目的 : 发现数据业务经常被同时使用,有助于关联销售及套餐制定
分析用户使用的第三方应用
- 购物篮 = 用户每月的访问记录
- 项 目 = 单个第三方应用(微信、支付宝、微博)
- 分析目的:发现用户使用习惯,引导流量经营
🔸关联规则评价指标
支持度
支持度(SUPPORT):规则X -> Y在交易集合中的支持度是交易集中包含X和Y的交易数与交易数之比,记为SUPPORT(X -> Y),即SUPPORT(X -> Y)= |{T:X∩Y⊆T,T∈D}|/|D|,它是概率P(X∩Y) S = (同时购买X和Y的交易数)/ (总交易数)
置信度
置信度(CONFIDENCE),规则X -> Y在交易集中的置信度是指包含X和Y的交易数与包含X的交易数之比,记为CONFIDENCE(X -> Y)即
CONFIDENCE(X -> Y)= |{T:X∩Y⊆T,T∈D}|/|{T:X⊆T,T∈D}|他是概率P(X|Y)
C = (同时购买X和Y的交易数)/ (购买商铺X的交易数)
支持度、置信度的解释
- 例如:
- 5G-> VoNR (S=30%,C=70%)
- 同时开通5G和VoNR的用户占总体的30%,开通5G的用户有70%使用了VoNR
置信度高就一定有用吗 ?
某类疾病轻症患者进行中药治疗,得到如下规则
吃中药 -> 治愈 (S=45%,C=90%)
| * | 吃中药 | 喝白开水 | 合计 |
| 治愈 | 90 | 95 | 185 |
| 死亡 | 100 | 100 | 200 |
关联规则的提速度(Lift)
提升的大于1才有意义,意味着X的出现对Y的出现有促进作用。规则提升度越大越好
L x->y = C x->y/Sy ={ |T(X∩Y)|/|T(X)|}/{|T(Y)|/|T|}
Lift(吃中药 -> 治愈) = 90% /92.5% < 1
🔸关联规则经典算法--Apriori

关联规则挖掘的优缺点
优点
- 它可以产生清晰有用的结果
- 它支持间接数据挖掘
- 可以处理变长的数据
- 它的计算的消耗量是可以预见的
缺点
- 当问题变大时,计算量增长得厉害
- 难以决定正确的数据
- 容易忽略稀有的数据
🔸 关联规则举例
| 订单编号 | 购买商品 |
| 1 | 牛奶、面包、尿不湿、啤酒、榴莲 |
| 2 | 可乐、面包、尿不湿、啤酒、牛仔裤 |
| 3 | 牛奶、尿不湿、啤酒、鸡蛋、咖啡 |
| 4 | 面包、牛奶、尿不湿、啤酒、睡衣 |
| 5 | 面包、牛奶、尿不湿、可乐、鸡翅 |
01)支持度
- 支持度 (Support):指某个商品组合出现的次数与总次数之间的比例。
- 在这个例子中,我们可以看到“牛奶”出现了 4 次,那么这 5 笔订单中“牛奶”的支持度就是 4/5=0.8。
- 同样“牛奶 + 面包”出现了 3 次,那么这 5 笔订单中“牛奶 + 面包”的支持度就是 3/5=0.6
- 这样理解起来是不是非常简单了呢,大家可以动动手计算下 '尿不湿+啤酒'的支持度是多少
02)置信度
- 置信度 (Confidence):指的就是当你购买了商品 A,会有多大的概率购买商品 B
- 置信度(牛奶→啤酒)= 3/4=0.75,代表如果你购买了牛奶,有多大的概率会购买啤酒
- 置信度(啤酒→牛奶)= 3/4=0.75,代表如果你购买了啤酒,有多大的概率会购买牛奶?
- 置信度(啤酒→尿不湿)= 4/4=1.0,代表如果你购买了啤酒,有多大的概率会买尿不湿
- 由上面的例子可以看出,置信度是个条件概念,就是说在 A 发生的情况下,B 发生的概率是多少。
03)提升度
- 提升度 (Lift):我们在做商品推荐或者策略的时候,重点考虑的是提升度,因为提升度代表的是商品 A 的出现,对商品 B 的出现概率提升的程度。
- 提升度 (A→B) = 置信度 (A→B)/ 支持度 (B)
- 所以提升度有三种可能:
- 提升度 (A→B)>1:代表有提升;
- 提升度 (A→B)=1:代表有没有提升,也没有下降;
- 提升度 (A→B)<1:代表有下降。
- 提升度 (啤酒→尿不湿) =置信度 (啤酒→尿不湿)/支持度 (尿不湿)=1.0/0.8=1.25
- 可见啤酒对尿不湿是有提升的,提升度为1.25,其实可以简单理解为:在全集的情况下,尿不湿的概率为0.8,而在包含啤酒这个子集中,尿不湿的概率为1,因此,子集的限定,提高了尿不湿的概率。
04)频繁项集
- 频繁项集(frequent itemset) :就是支持度大于等于最小支持度 (Min Support) 阈值的项集,所以小于最小值支持度的项目就是非频繁项集,而大于等于最小支持度的的项集就是频繁项集。项集可以是单个商品,也可以是组合
--END--