apriori算法实现_啤酒与尿布?机器学习之Apriori算法挖掘商品之间的关联性Python实现...

07f5ca057ecd8ce6ebb8bb9681f5d500.png

初学者机器学习资料分享Q群(718566626)

1. 背景

一个广为流传的挖掘商品之间的关联性的故事就是“啤酒与尿布”这个故事。相传某超市通过分析顾客的账单,发现啤酒总是和尿布一起购买。通过分析,发现这是因为美国人喜欢喝啤酒,当买尿布的时候看到啤酒就顺便买了。于是就把啤酒与尿布总是放在一起卖。这样的有关联性的商品还有很多。如洋葱和土豆捆绑消费等等。将关联度高的商品放在一起促销或者捆绑消费可以提高营业额。同时电商平台也可以捆绑推荐提高成交量。而当商品非常多的时候,人工已经无法分析出众多商品的关联性。这个时候就需要计算机辅助人们找到哪些商品是经常被一起购买。目前有众多分析商品关联性的算法,Apriori算法就是其中一个师祖级算法。很多都是由Aporiori算法演化而来,如FP-growth算法。当然Aporiori还有其他的应用场景。

2. 从本质看Apriori算法原理

2.1 算法要解决的问题是什么

要解决的问题:根据一堆账单数据,统计出哪些商品组合是高频率举个例子:如给出下面这些数据,希望算法能分析出“啤酒+尿布”这个组合是高频率。也希望它能分析出“西红柿+鸡蛋”也是高频率:

{啤酒 鸡蛋 尿布 西红柿}
{香烟 尿布 瓜子 啤酒 }
{土豆 西红柿 洋葱 醋 鸡蛋}

2.2 算法思路

最简单的方式是遍历所有商品组合情况,然后统计各种组合出现的频率。设定一个值只要出现频率大于这个值,我们就认为是高频。但是,如果有上百种商品。那么组合的数量就非常巨大了。粗略用高中学的知识算下去单单100种商品就有10的30次方种情况。对于普通计算机来说超过10的6次方这个数量级就已经很慢了。所以直接遍历各种组合然后统计各种组合出现的频率肯定不行。那么人们开始想到我们能不能排除一些情况。把它的数量级降很多。这就是Aporiori算法的初衷

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值