目录

  • 1.基础概念
  • 2.购物篮分析:指标用法
  • 3.规则生成基本流程
    • 3.1.找出频繁项集
    • 3.2.找出上步中频繁项集的规则
  • 4.Python实现:mlxtend
  • 参考

1.基础概念

  1. 项集: 购物篮也称为事务数据集,它包含属于同一个项集的项集合。在一篮子商品中的一件消费品即为一项(Item),则若干项的集合为项集(items),如{啤酒,尿布}构成一个二元项集。
  2. 关联规则: X为先决条件,Y为相应的关联结果,用于表示数据内隐含的关联性。如:尿布−>啤酒[支持度=8%,置信度=80%]尿布->啤酒[支持度=8\%,置信度=80\%]尿布−>啤酒[支持度=8%,置信度=80%]
  3. 支持度Support: 在所有项集中{X, Y}出现的可能性,即项集中同时含有X和Y的概率。是建立强关联规则的第一个门槛,衡量了所考察关联规则在"量"上的多少。用于删去无意义的规则。
    Support(X)=购买X的订单数总订单数Support(X)=\frac{购买X的订单数}{总订单数}Support(X)=总订单数购买X的订单数​
    Support(X,Y)=同时购买X和Y的订单数总订单数Support(X,Y)=\frac{同时购买X和Y的订单数}{总订单数}Support(X,Y)=总订单数同时购买X和Y的订单数​
  4. 置信度Confidence: 在先决条件X发生的条件下,关联结果Y发生的概率P(Y∣X)P(Y|X)P(Y∣X)。是生成强关联规则的第二个门槛,衡量了所考察的关联规则在“质”上的可靠性。
    Confidence(X−>Y)=Support(X,Y)Support(X)Confidence(X->Y)= \frac{Support(X,Y) }{Support(X)}Confidence(X−>Y)=Support(X)Support(X,Y)​
    Confidence(Y−>X)=Support(X,Y)Support(Y)Confidence(Y->X)= \frac{Support(X,Y) }{Support(Y)}Confidence(Y−>X)=Support(Y)Support(X,Y)​
  5. 提升度Lift: 衡量X,Y的相关性,反映了商品之间的真实联系。
     a. 提升度 >1 且越高,表明正相关性越高(一般>3才有价值)
     b. 提升度 <1 且越低,表明负相关性越高
     c. 提升度 =1 ,表明没有相关性
    Lift(X−>Y)=Lift(Y−>X)=Support(X,Y)Support(X)⋅Support(Y)=Confidence(X,Y)Support(Y)Lift(X->Y) =Lift(Y->X) =\frac{Support(X,Y)}{Support(X)\cdot Support(Y)} =\frac{Confidence(X,Y)}{Support(Y)}Lift(X−>Y)=Lift(Y−>X)=Support(X)⋅Support(Y)Support(X,Y)​=Support(Y)Confidence(X,Y)​
  6. 出错率Conviction: 度量规则预测错误的概率,表示X出现而Y不出现的概率。
    Conviction(X−>Y)=1−Support(Y)1−Confidence(X−>Y)Conviction(X->Y)=\frac{1-Support(Y)}{1-Confidence(X->Y)}Conviction(X−>Y)=1−Confidence(X−>Y)1−Support(Y)​

例:有1000个人买了尿布,有2000个人买了啤酒,有800个人同时购买了尿布和啤酒。
尿布X⇒啤酒Y[支持度=8%,置信度=80%]尿布X\Rightarrow啤酒Y[支持度=8\%,置信度=80\%]尿布X⇒啤酒Y[支持度=8%,置信度=80%]
Support(X,Y)=80010000=8%Support(X,Y)=\frac{800}{10000}=8\%Support(X,Y)=10000800​=8%
Confidence(X−>Y)=800/100001000/10000=80%Confidence(X->Y)=\frac{800/10000}{1000/10000}=80\%Confidence(X−>Y)=1000/10000800/10000​=80%
Lift=800/10000(1000/10000)⋅(2000/10000)=0.80.2=4Lift=\frac{800/10000}{(1000/10000)\cdot (2000/10000)}=\frac{0.8}{0.2}=4Lift=(1000/10000)⋅(2000/10000)800/10000​=0.20.8​=4
Conviction(X−>Y)=1−2000/100001−0.8=4Conviction(X->Y)=\frac{1-2000/10000}{1-0.8}=4Conviction(X−>Y)=1−0.81−2000/10000​=4

2.购物篮分析:指标用法

支持度: 可以知道哪些商品或组合商品出现的概率比较高。
置信度: 思考商品连带性。是(买了X,会再去买Y),还是(买了Y,再去买X)的概率更高。
提升度: 看看XY之间的相关性到底强不强,有多强。

冲销量:选择支持度、置信度大的
随机推荐:提升度大的

3.规则生成基本流程

3.1.找出频繁项集

Apriori算法的先验规则:一个频繁项集的所有子集必须也是频繁的。
例:如果{啤酒,尿布}是频繁集,那么{啤酒}、{尿布}也得是频繁集。

nnn个item,可以产生2n−12^{n-1}2n−1个项集(itemset)。某商品想要进入后续的规则整理,该商品的被采购频率必须大于等于一个阈值(apriori函数里的support参数)。
方法: 指定最小支持度,过滤掉非频繁项集,既能减轻计算负荷又能提高预测质量。

3.2.找出上步中频繁项集的规则

nnn个item,总共可以产生3n−2n+1+13^n - 2^{n+1}+ 13n−2n+1+1条规则,指定最小置信度,来过滤掉弱规则。

4.Python实现:mlxtend

from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules# 生成频繁项目集,指定最小支持度为0.5
frequent_itemsets = apriori(basket_sets, min_support = 0.5, use_colnames = True)# 生成关联规则,最小置信度为0.01
rules = association_rules(frequent_itemsets, metric = "confidence", min_threshold = 0.01)

参考

https://www.jianshu.com/p/1e9ce1b24626
https://www.jianshu.com/p/cdf90ce7100c

购物篮分析(Apriori算法):Mlxtend实现相关推荐

  1. 购物篮分析( Apriori算法)—零售数据实战

    购物篮分析( Apriori算法)-零售数据实战 [开题]在我从事零售行业的期间,曾拜读过"啤酒与尿布"一书,对于沃尔玛的购物篮分析模型产生极大的兴趣.由于网上对Aprioro算法 ...

  2. 使用Apriori关联规则算法实现购物篮分析

    Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集,而且算法已经被广泛的应用到商业,网络安全等各个领域. 购物篮分析是通过发视频顾 ...

  3. python 关联分析算法的包_Python 极简关联分析(购物篮分析)

    关联分析,也称购物篮分析,本文目的: 基于订单表,用最少的python代码完成数据整合及关联分析 文中所用数据下载地址: 使用Python Anaconda集成数据分析环境,下载mlxtend机器学习 ...

  4. 数据挖掘算法之-关联规则挖掘(Association Rule)(购物篮分析)

    在各种数据挖掘算法中,关联规则挖掘算是比较重要的一种,尤其是受购物篮分析的影响,关联规则被应用到很多实际业务中,本文对关联规则挖掘做一个小的总结. 首先,和聚类算法一样,关联规则挖掘属于无监督学习方法 ...

  5. 关联算法①——《啤酒与尿布》购物篮分析

    关联算法系列目录: 关联算法②--Apriori算法原理及python实现 关联算法③--Apriori算法实现主播关联度分析 关联算法是通过支出度,置信度,提高度三个指标,寻找有相关性的商品或其它物 ...

  6. 啤酒和尿不湿?购物篮分析、商品关联分析和关联规则算法都给你搞清楚(上—理论篇)

    不管是不是搞数据分析的,相信应该都听过啤酒尿不湿的故事,说的是美国的沃尔玛超市管理人员分析销售数据时发现了一个令人难以理解的现象:"啤酒"与"尿布湿"这两件看上 ...

  7. 基于mapreduce的购物篮分析算法实现

    http://www.calstatela.edu/centers/hipic/contents/research/cloudComputing/2011/marketPDPTA11.pdf http ...

  8. tableau实战系列(二十八)-以可视化的方式打开关联分析算法购物篮分析(Market Basket Analysis)

    关于购物篮分析 购物篮分析 Market Basket Analysis 是销售数据研究顾客的购买行为.零售.电信.金融服务.保险.医疗等多行业,可通过了解顾客的购买习惯和规则,挖掘商业利益并建立竞争 ...

  9. 算法(4)购物篮分析

    所谓购物篮分析主要是挖掘出用户感兴趣的数据组合,应用于电商,大型超市.比如京东推荐,购买了此用户的产品同时购买了XX产品, 浏览了此商品的用户同时也浏览了XX商品, 对于大型超市来说道理也一样,这样就 ...

最新文章

  1. 【前端】react and redux教程学习实践,浅显易懂的实践学习方法。
  2. 头脑风暴-如何减少软件项目对于人的依赖性。
  3. 疲劳驾驶数据集_人工检查,11 个类、97942 个标签,Roboflow 开源自动驾驶数据集可以使用啦...
  4. linux——管理系统存储之设备的识别、发现、挂载
  5. 以太坊和区块链实战技术分析详解
  6. laravel 控制器中使用中间件_在 Laravel 中使用 Slack 进行异常通知
  7. matlab 思维数组_matlab多维数组
  8. Zdal分库分表中间件介绍
  9. [20141124]sql server密码过期,通过SSMS修改策略报错
  10. 利用Mahout实现在Hadoop上运行K-Means算法
  11. PDF文件怎么转换成Excel表格?学会这个方法轻松转换。
  12. 使用element插件点击跳转时报错form-item.vue:315 Uncaught (in promise) TypeErelForm.removeField is not a function
  13. 大话数据结构 code 第四章 04斐波那契函数_Fibonacci
  14. 有人能帮忙下载下吗 新手没积分 感激不尽
  15. SAP中的client
  16. MYCNCART博客系统
  17. HY-SRF05超声波测距
  18. 英雄联盟萌萌哒小锤子波比台词
  19. android 添加子view,如何在Android中向ImageView添加子视图
  20. 一文看懂多模态大型语言模型GPT-4

热门文章

  1. Why won't MikuMikuDance load my AVI file background?
  2. 几个朋友合伙创业,如何分配股权?
  3. Arduino上传数据至贝壳物联并与FPGA进行交互
  4. 历年计算机二级vfp真题,全国计算机二级考试VFP最新历年真题及答案解析.doc
  5. 蓝牙 UUID识别码对应的服务类型
  6. 天正安装autocad启动失败_天正打不开找不到可使用的AutoCAD版本如何解决?已经安装了CAD...
  7. 微信小程序入门指南pdf
  8. 仿饿了么订餐外卖系统
  9. SpringCloud 必知的18道面试题
  10. WebSocket是什么?为什么能持久连接?