Apriori 关联预测分析

Apriori算法

        Apriori算法是一种基于关联规则(Association rule)的原理的代表性算法。该算法源自于“啤酒喝尿不湿”的故事,Apriori算法应用广泛,可用于购物篮分析、消费市场价格分析,猜测顾客的消费习惯…… 

        如下表1,我们通常称其为购物篮交易(market basket transaction)。表中每一行对应一个交易,包含一个唯一标识ID和特定顾客购买的商品集合。零售商对分析这些数据很感兴趣,以便了解其顾客的购买行为。可以使用这种有价值的信息来支持各种商业中的实际应用,如市场促销,库存管理和顾客关系管理等等。 
 

表1
流水记录(ID)购物详细清单 
1辣条,面包,牙膏,果冻,毛巾 
2面包,雨伞,辣条 
3牛奶,面包,可乐 
4果粒橙,洗面奶,毛巾 
5雨伞,辣条,牛奶 
6面包,雨伞,果粒橙,可乐  
7洗面奶,毛巾,牛奶 


       那针对上述数据,作为超市的老板,目前库内积压了很多毛巾,能否基于上述分析,给出一种策略,提升毛巾的交易量,进一步减少库存,实现利益的最大化呢? 

                    
 

       在上述的问题中,我们首先需要引入“关联规则”这个概念。何为关联规则? 
       关联规则:即事物(事件)和事物(事件)之间的关联性。如放到购物篮分析场景中,关联规格表现的就是购物篮里面的商品与商品之间的关联性。通俗解释即:购物篮中的商品能够体现用户的消费习惯,通过研究购物篮中商品与商品之间的关联规则,可以反向推导用户的消费标签,最后利用这些标签方便后续运营方的有效运营(比如知道了这个地区的人比较抠,那么就可以通过适当发放更多的礼物券或者其他来增加用户粘性等……)。 
        关联规则数学的表达:关联规则是形如 X→Y 的蕴涵表达式,其中X和Y是不相交的项集,即 X∩Y=∅。 
        说白了,就是通过关联规则找出哪些是商品放在一起会卖的更好?若是这样认为,会引出下一个问题,既然关联规则能体现哪些东西放在卖的更好,那么卖的好的是不是也分为:卖的第一好,卖的第二好……. 


       言外之意就是关联规则需要通过强度来排名,对“好”这个词进行量化操作。 
       那么关联规则的强度,我们是通过支持度(Support)和置信度(Confidence)来衡量的。 
       支持度(Support):支持度是指商品的受欢迎程度(也可以理解为衡量某淘、某东、某猫最热的那些商品的标准),可以通过查找包含特定项目的交易数量除以交易总数来计算。 
       支持度(面包)=(包含(面包)的交易)/(总交易)=4/7=0.5714 
       支持度(雨伞)=(包含(雨伞)的交易)/(总交易)=3/7=0.4285 
       支持度(面包,雨伞)=(包含(面包,雨伞)的交易)/(总交易)=???? 
       支持度(面包,雨伞,辣条)=(包含(面包,雨伞,辣条)的交易)/(总交易)=??? 


       置信度(Confidence,也可以叫信心度):如果购买物品A,也会购买物品B的概率(或者叫可能性). 可以通过查找A和B一起购买的交易数量除以购买A的交易总数来计算。在数学上,它可以表示为: 
       置信度(A→B)=(包含(A和B)的交易)/(包含A的交易)。 
       置信度(面包→雨伞)=(包含(面包,雨伞)的交易)/(包含(面包)的交易)=2/4=50% 


      另外再补充一个:提升度 
      提升度是指A出售时B的销售比率的增加(比如当前销售一件A,那么接下来B商品会因为A卖掉的缘故,下一次被厂家卖掉(B)的概率的增加)。 
提升度(A → B)可以通过将置信度(A → B)除以支持度(B)来计算。提升度(A → B)=P(B A)/P(B)。 
      说白了,就是在买A的基础上还买了B的交易记录  除以  独立买B的交易记录。也就是说A的卖不卖是否可以影响B的销售。 
       若提升度(A → B)<=1。说明A卖不卖和B销售一点关系都没有(也可以叫两个商品独立)。 
       若提升度(A → B)>1,则说明A卖不卖和B是有关系的,通常我们认为若提升度(A → B)>=3的时候,A → B是强关联规则 提升度(面包→雨伞)=(置信度(面包→雨伞))/(支持度(雨伞))=???? 
引入关联规则强弱的判别指标之后, k-项集概念。 
        以表 1 为例:

             K-项集:一个包含 k 个数据项的项集

           (面包,雨伞,辣条)是一个 3-项集

           (面包,雨伞)是一个 2-项集

关联规则挖掘算法可以分为两步:

一、 产生频繁项集:发现满足最小支持度阈值的所有项 集,即频繁项集

二、 上步骤一中发现的频繁项集中提取大于置信度阈值 的规则,即所谓的强规则

算法过程

1、找出频繁项集

流水记录(ID)购物详细清单
1辣条,面包,牙膏,果冻,毛巾
2面包,雨伞,辣条
3牛奶,面包,可乐
4果粒橙,洗面奶,毛巾
5雨伞,辣条,牛奶
6面包,雨伞,果粒橙,可乐
7洗面奶,毛巾,牛

以下示例:假设最小支持度>2

1-项集支持度计算

1-项集支持度计数
辣条3
面包4
牙膏1
果冻1
雨伞3
牛奶3
可乐2
洗面奶2
毛巾3
果粒橙1

比较候选支持度计数与最小值支持度(2),筛选出 1-频 繁项集。

1-项集支持度计数
辣条3
面包4
雨伞3
牛奶3
可乐2
洗面奶2
毛巾3

由 1-项集产生候选的 2-项集

1-项集支持度计数
{辣条,面包}2
{辣条,雨伞}2
{辣条,牛奶}1
{辣条,可乐}0
{辣条,洗面奶}0
{辣条,毛巾}1
{面包,雨伞}2
{面包,牛奶}1
{面包,可乐}2
{面包,洗面奶}0
{面包,毛巾}1
{雨伞,牛奶}1
….(未完待续)….(未完待续)

比较候选支持度计数与最小值支持度(2),筛选出 2 频 繁项集。

未完待续…...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值