数据分析之关联规则

146 阅读2分钟

关联规则挖掘经常会应用在各种各样的数据场景里,用于检测数据和数据之间的潜在关系。最早也是最著名的案例,就Teradata 公司提出来的一个案例,也就是啤酒和尿片的故事。

关联规则算法

支持度(support)

某个商品组合出现的次数与总次数之间的比例,也就是这个商品组合整体发生的概率怎样。

5 次购买,4 次买了啤酒,啤酒的支持度为 4/5=0.8;

5 次购买,3 次买了啤酒 + 尿布,啤酒 + 尿布的支持度为 3/5=0.6。

置信度(confidence)

购买了商品 A 后有多大概率购买商品 B,也就是在 A 发生的情况下 B 发生的概率是多少。

买了5 次啤酒,其中 2 次买了尿布,(尿布→啤酒) 的置信度为 2/5=0.4;

买了4 次尿布,其中 2 次买了啤酒,(啤酒→尿布) 的置信度为 2/4=0.5。

提升度(lift)

衡量商品 A 的出现对商品 B 的出现概率提升的程度,

A 和 B提升度 (A→B)= 置信度 (A→B)/ 支持度 (B)。

提升度 >1,证明 A 和 B 的相关性很高,A 会带动 B 的售卖;提升度 =1,无相关性,相互没作用;

如果支持度很小,证明大多数人不会将这种组合进行购买。如果置信度低,代表即使两个商品销量都不错,但他俩的关系也不紧密。我们想要做的是要找到置信度高且支持度高的场景。提升度 <1,证明 A 对 B 有负相关,也就是这两个商品有排斥作用,买了 A 就不会买 B。

image.png

交易 1、2、3、4、6 购买了啤酒,交易 1、2、6 同时购买了啤酒和尿布。我们可以计算出支持度为 0.5,置信度为 0.6。如果我们把支持度和置信度定义成 50% 的话,就会认为啤酒→尿布是一个有关联性的规则。

此文章为4月Day14学习笔记,内容来源于极客时间《16 | 关联规则:为什么啤酒和尿布一起卖? (geekbang.org)