关联规则学习

一、支持度、置信度和提升度

支持度:是个百分比,指的是某个商品组合出现的次数与总次数之间的比例。支持度越高,代表这个组合出现的频率越大。

“牛奶”的支持度=4/5=0.8

“牛奶+面包”的支持度=3/5=0.6。

订单编号

购买的商品

1

牛奶、面包、尿布

2

可乐、面包、尿布、啤酒

3

牛奶、尿布、啤酒、鸡蛋

4

面包、牛奶、尿布、啤酒

5

面包、牛奶、尿布、可乐

二、Apriori算法原理

1、Apriori算法就是查找频繁项集(frequent itemset)的过程

频繁项集:支持度大于等于最小支持度(Min Support)阈值的项集。

非频繁项集:支持度小于最小支持度的项集

2、Apriori算法的流程:

Step1,K=1,计算K项集的支持度;

Step2,筛选掉小于最小支持度的项集;

Step3,如果项集为空,则对应K-1项集的结果为最终结果。 否则K=K+1,重复1-3步。

使用工具包: from efficient_apriori import apriori

或者: from mlxtend.frequent_patterns import apriori

from mlxtend.frequent_patterns import association_rules

三、关联规则与协同过滤的区别

1、关联规则是基于transaction,而协同过滤基于用户偏好(评分) 商品组合使用的是购物篮分析,也就是Apriori算法,协同过滤计算的是相似度

关联规则没有利用“用户偏好”,而是基于购物订单进行的频繁项集挖掘

2、推荐使用场景:

当下的需求: 推荐的基础是且只是当前一次的购买/点击

长期偏好: 基于用户历史的行为进行分析,建立一定时间内的偏好排序

两种推荐算法的思考维度不同,很多时候,我们需要把多种推荐方法的结果综合起来做一个混合的推荐

四、关联规则的视角

不需要考虑用户一定时期内的偏好,而是基于Transaction 只要能将数据转换成Transaction,就可以做购物篮分析:

Step1、把数据整理成id=>item形式,转换成transaction

Step2、设定关联规则的参数(support、confident)挖掘关联规则

Step3、按某个指标(lift、support等)对以关联规则排序

五、关联规则中的最小支持度、最小置信度该如何确定

最小支持度,最小置信度是实验出来的

最小支持度:

不同的数据集,最小值支持度差别较大。可能是0.01到0.5之间 可以从高到低输出前20个项集的支持度作为参考

最小置信度:可能是0.5到1之间

提升度:表示使用关联规则可以提升的倍数,是置信度与期望置信度的比值 提升度至少要大于1

六、关联规则算法

基于关联规则的推荐算法:

Apriori算法

FPGrowth算法

PrefixSpan算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值