【关联规则初识】他们怎么知道我想买什么?

【关联规则初识】他们怎么知道我想买什么?

丨技术来源:彭婉婷

回想上一次你在闲逛超市,或许你已准备结账,却在等待结账时顺手买了一包口香糖;或许你在深夜前往便利店买尿布时,顺便买了半扎6听装的啤酒;又或许在购物节时买了好几本商店给你推荐的相似书籍......无论如何,这一切都不是巧合。

前几年,这种推荐系统可能基于卖家主管经验、营销专业人士建议等。而近来,各种类型的事务型数据已经用于这样的数据挖掘中,由于在零售店之间的广泛使用,所以这种方法通常被称为购物篮分析(market basket analysis)。

购物篮分析是指一组指定商品之间关系模式的关联规则(association rule),下面来举一个妇孺皆知的关联规则例子:

婴儿尿布→ 啤酒[支持度=10%,置信度=70%]

我们来解读一下这个例子,在所有购买者中,有 10% 的客户同时购买了尿布和啤酒,而在所有购买尿布的客户中,有 70% 都买了啤酒。发现此规则后,沃尔玛超市决定将啤酒和尿布摆在一起卖,销售额明显提升。

顾名思义,关联规则指在同一交易中,一个项的出现也会引起另一个项的出现,属于知识发现任务中的相关性分析,例如,可以帮助如何摆放货架上的商品(如把顾客经常同时买的商品放在一起),帮助如何规划市场(怎样相互搭配进货)。

 

● 关联规则的表示

关联规则的形式如 “在购买尿布顾客中,有 70% 的人同时也买了啤酒”,可以表示成:尿布→啤酒。用于关联规则发现的主要对象是事务型数据库,其中针对的应用则是售货数据,也称购物篮数据。

一个事务一般由事务处理时间、一组顾客购买的物品、顾客标识号 (如会员号) 几个部分组成。

●关联规则的相关概念

 

1. 支持率 Support

1000 个顾客购物,其中 200 个顾客购买了尿布,支持率就是 20%。(200/1000)。

关联规则A→B的支持率:100 个顾客购买了尿布和啤酒,则尿布→啤酒 10%。

2. 置信度 Confidence

1000 个顾客购物,200 个顾客购买了尿布,其中 140 个买了啤酒,则置信度是 70%(140/200)。

3. 最小支持率min_support 

—— 用户规定的关联规则必须满足的最小支持率。

4. 最小置信度min_confidence 

—— 用户规定的关联规则必须满足的最小置信度。

5. 最大前项数(large_item_set) 

—— 支持率不小于最小支持率的物品集。

【关联规则初识】他们怎么知道我想买什么?

支持度和置信度是衡量关联规则强度的两个重要指标,它们分别反映了所发现规则的有用性和确定性。

支持度主要衡量规则的有用性,如果支持度太小,则说明此规则只是偶发事件;置信度主要衡量规则的确定性(可预测性),如果置信度太低,那么很难从 X 推出 Y 来,置信度太低的规则在实践中也没有太大作用。

Apriori 算法是关联规则中比较常用的一个算法,可以限制规则搜索范围,从而更容易管理项级的规模,因为我们的事务性数据总是庞大而复杂的,Apriori 算法由于高效搜索大型数据库的特点被广泛应用,原则是指一个频繁项集的所有子集也必须是频繁的。该算法分为两步:

1、生成所有满足最小支持度的频繁项目集

2、根据满足最小置信度的项目集创建规则

通常,频繁项目集产生所需的计算开销远大于产生规则所需的计算开销。

【关联规则初识】他们怎么知道我想买什么?

下面,我们来看关联规则简单栗子一枚。

拿到一份客户流水数据后,就可以肆意玩耍了

【关联规则初识】他们怎么知道我想买什么?

先探索一下这些产品之间有什么关系:

【关联规则初识】他们怎么知道我想买什么?

网络图形,用于显示两个或更多符号字段的值之间关系的紧密程度。在图形中显示的链接以不同类型的线条表示,依次说明链接的强度不同。

这张图可以发现糕饼(confectionery)和酒(wine)、鱼(fish)和水果蔬菜(fruitveg)连接比较紧密,那么用关联分析模型做出来也是这样吗?

【关联规则初识】他们怎么知道我想买什么?

这是采用 Apriori 算法跑出的结果,以第一条结果为例可以看到,在这份历史数据中,有 16.7% 的顾客同时买了啤酒(beer)和罐装蔬菜(cannedveg),在这些顾客中,有 87.425% 的人还买了冻肉(frozenmeal)。以此方法,小伙伴们可以自行解读一下后两条含义。

这里就不一步一步演示操作过程了,大家可以自行尝试关联分析模型看看参数都长什么样子哦!小编使用的是 IBM SPSS Modeler 软件,有代码基础的可手动编写或调用软件函数包进行学习,不过,迅速上手的数据挖掘软件小编还是大力推荐 Modeler。

 

【关联规则初识】他们怎么知道我想买什么?

看完上文大家应该心里有点数,Apriori 算法是一个规则容易理解,对数据挖掘和发现数据库中的意外知识很有用的算法,但对于小的数据集不是很有帮助,并且需要努力将对数据的洞察结果和常识区分开。

关联规则不仅常用于市场的购物篮分析,还能再很多场景的得以应用,比如查找发生在与信用卡欺诈和保险应用相结合的购物或医疗津贴模式;移动电话或有线电视服务套餐行为组合;在癌症数据分析中,发现 DNA 和蛋白质序列频繁出现的模式;单词间的并发关系等等。

【关联规则初识】他们怎么知道我想买什么?

更多前沿资讯 / 专场培训 / 精彩活动

欢迎持续关注“数据艺术家”公众号哦!

Bizinsight美智讯

我们是根植于本土的知识密集型团队,全球视野的产品与服务提供商;

我们是您的最理解数据需求的BI专业团队,最懂得IT架构的数据分析师;

我们致力于帮您洞察数据知识,商业信息看得见!量化生意过程,商业价值算得出!