机器学习--无监督学习--关联规则(预测行为)

 

应用场景

找到事物和事物之间的联系。比如购物篮分析,根据顾客的购物篮情况,推测,哪些产品经常一起购买,这样商场更明白如何进行推销。

常见算法

Apriori。通过对物品的支持度、置信度、提升度的计算,以此了解两个物品之间的关联性。这里其实涉及了两个目标:

1、了解我当前应该怎么捆绑销售,就是直接把某两类商品绑起来卖。这个结果,需要这样来得到:买A,也会买B的概率(捆绑支持度)是75%,如果大于设定的支持度阈值,代表可以考虑捆绑销售;

2、了解我以后可以怎么向客户推荐,就是看到你买了A,就问问,你要不要买B啊。并且推销成功的概率很大。这个结果,需要这样来得到:先计算只要买A,就一定会买B的概率(置信度),然后计算单独购买B的概率(单独支持度),用置信度/支持度,得到的数据,如果等于1,代表他俩没啥关系,就是捆绑买的概率和单独买B的概率一样;如果大于1,代表有正相关性,有很大关系,比如是1.7,那就是顾客购买B的可能性比随机情况下高70%,也就是买了A我太有可能买B了;如果小于1,代表负相关性,表示他俩一起购买的概率,比单独购买B的概率还要低。

算法示例

Transaction ID | Items
1 | A, C, D
2 | B, C, E
3 | A, B, C, E
4 | B, E

第一步 确定关联规则,即确定要关注的组合

先根据既往经验,结合行业、市场、具体业务,确定最小支持度和最小置信度,比如最小支持度50%,最小置信度也是50%。支持度这里阈值的理解,是这样的:大于等于50%的可以考虑进行捆绑销售;对于30%-50%的,属于中等支持度,这种可以考虑促销的时候用来捆绑销售;低于30%的就没必要再看考了,大概率没人这么买。然后基于如下方式,确定要开始关注的组合:

1)确定单个元素,支持度大于最小支持度的,有{A} 50%,{B} 75%,{C} 75%;{E} 75%。支持度的计算公式为:比如{A}的支持度,就是4个交易,有2个买了A,所以就是2/4=50%;

 

2)基于步骤1,确定两两组合元素,支持度大于最小支持度的,有{A,C} 50%,{B,C} 50%,{B,E} 75%;{C,E} 75%。支持度的计算公式为:比如{A,B}的支持度,就是4个交易,有1个同时买了A,B,所以就1/4=25%;

 3)基于步骤2,确定三个组合元素,支持度大于最小支持度的,有{B,C,E} 50%;

 4)基于步骤3,确定它的非空子集有:{B},{C},{E},{B,C},{B,E},{C,E}。然后对应的下表,就是我们需要继续关注的组合,比如买了B的时候,买C的支持度和置信度是多少,以此把每一行的组合都计算完。

 第二步 计算每个组合的支持度和置信度

 以下举一个例子({A} => {C},也就是买了A又买C)来说明计算的方式,就不把每个组合的计算过程都写出来了。

【{A} => {C}】

1、买A也买C的支持度(Support)。支持度表示规则在所有交易中出现的频率。这里,我们计算A和C一起购买的支持度:

  • 有2个交易同时购买了A和C(交易1, 3)。
  • 总共有4个交易。

支持度:支持度({A,C})=2/4=0.5

2、置信度(Confidence)。置信度表示在购买A的交易中,有多少比例也购买了C:

  • 有2个交易同时购买了A和C(交易1, 3)。
  • 总共有2个交易购买了A(交易1, 3)。

置信度:置信度({A}=>{C})=2/2=1

3、买C的支持度(Support)。C在所有交易中出现的频率:

  • 有3个交易购买了C(交易1, 2, 3)。
  • 总共有4个交易。

支持度:支持度({C})=3/4=0.75

4、提升度(Lift)。提升度表示A和C一起购买的概率与单独购买C的概率之比:

提升度:提升度=置信度({A}=>{C}) / 支持度({C})=1/0.75=4/3≈1.33

 第三步 根据结果,做出总结

  通过这些计算,我们可以有两个结论:

1)根据同时购买的支持度来看是否有适合捆绑销售的商品。即大于我们设定的支持度阈值的组合,都是可以考虑捆绑销售的。这就有了清晰的促销方案;

2)根据提升度是否大于1,决定是否要对顾客进行某些组合的推荐。比如规则 {B} => {E} 具有正关联(提升度 > 1),而规则 {B} => C} 具有负关联(提升度 < 1)。这意味着购买B的顾客更可能也购买E,而购买B的顾客不太可能也购买C。这就有了清晰的推销方案。

posted @   1234roro  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示