前言

      在零售场景中,商品关联规则挖掘是大数据分析的经典应用之一(比如 “啤酒与尿布” 的案例)。本文以自行车销售订单数据为例,完整演示从数据预处理关联规则挖掘的全流程,帮助商家发现商品间的隐藏关联,优化陈列与促销策略。

一、数据集与环境准备

1.数据集介绍

本次使用的是自行车销售订单数据,包含 3 个字段:

  • OrderNumber:订单编号(共 21255 个独立订单)
  • LineNumber:订单内商品序号(表示购买顺序)
  • Model:商品型号(共 37 种商品)

二、数据预处理

2.1 数据读取

首先读取数据并做基础校验(确保无缺失、无重复):

2.2商品种类探索和最畅销的商品

图形的可视化:

可视化结果:运动型头盔、运动水壶等配件销量领先。

2.3 订单格式转换

关联规则算法(如 Apriori)需要 **“订单 - 商品列表”** 格式(每个订单对应一个商品集合),因此需要转换数据结构:

三、用 Apriori 算法挖掘关联规则

关联规则的核心指标:

  • 支持度(Support):商品组合出现的订单占比
  • 置信度(Confidence):买了 A 的用户同时买 B 的概率
  • 提升度(Lift):A 对 B 的 “促进效果”(Lift>1 表示正相关)

3.1 方法 1:用 mlxtend 实现

mlxtend是常用的机器学习工具库,需先将商品列表编码为布尔矩阵:

3.2 注意事项

  1. 数据预处理需规范确保数据为事务列表格式,统一商品名称、过滤空事务 / 异常数据;数据量大时可抽样或用efficient-apriori减少内存占用。

  2. 参数设置要适配业务

  • 最小支持度:结合场景设 0.01-0.05,避免过高 / 过低;
  • 评估指标:以lift>1为基础,搭配置信度(0.3-0.7)过滤规则;
  • 工具差异:mlxtend 需设use_colnames=True,efficient-apriori 直接传原始列表。

     3.大数据集优先用efficient-apriori,通过多指标阈值(如min_lift=1.2+min_confidence=0.5)减少规则数量,避免内存溢出。

    4.结果需结合业务校验:排除 “数据关联但业务无价值” 的规则(如促销导致的虚假关联),优先关注二元 / 三元项集,高维项集落地性差

四、业务洞察与应用

从关联规则结果可以得到以下业务价值:

  1. 强关联组合:比如 “运动型头盔 → 山地车内胎”(Lift>1.5),说明买头盔的用户大概率会买内胎;
  2. 商品陈列:将强关联商品(如头盔 + 内胎)摆放在相邻区域,提升连带购买率;
  3. 促销策略:设计 “头盔 + 内胎” 组合优惠、“买头盔送内胎小样” 等活动;
  4. 库存优化:根据关联规则提前备货,避免热销商品缺货。

五.总结

  1. 数据基础与预处理:使用包含 21255 个独立订单、37 种商品的自行车销售数据,通过 Python 的 pandas 库完成数据读取与校验,确认数据无缺失和重复。将数据转换为 “订单 - 商品列表” 格式,为关联规则挖掘做准备。

  2. 基础销售分析:统计出 37 种商品中销量排名前 15 的商品,其中运动型头盔、运动水壶等配件销量领先,并通过可视化展示了 Top15 商品的销量情况。

  3. 关联规则挖掘:分别使用 mlxtend 和 efficient_apriori 两种工具实现 Apriori 算法。先将商品列表编码为布尔矩阵,再挖掘支持度≥3% 的频繁项集,最后生成提升度≥1 的关联规则,得到商品间的关联关系。

  4. 业务价值应用:基于挖掘结果,得出强关联商品组合,为商品陈列(将强关联商品相邻摆放)、促销策略(设计组合优惠)、库存优化(根据关联提前备货)等提供数据支持,助力商家提升经营效益,以上就是今天要讲的内容。

更多推荐