啤酒与尿不湿的关联规则故事
这是数据挖掘领域的经典案例,揭示了看似无关商品间的隐藏关联。故事源于零售巨头沃尔玛的销售数据分析:
1. 现象发现
超市通过分析购物小票数据,发现周五晚上购买尿不湿的年轻父亲群体中,啤酒的购买率异常高。数据显示:
- 尿不湿单独购买频率:S尿不湿=0.05S_{\text{尿不湿}} = 0.05S尿不湿=0.05
- 啤酒单独购买频率:S啤酒=0.08S_{\text{啤酒}} = 0.08S啤酒=0.08
- 同时购买的频率:S尿不湿+啤酒=0.03S_{\text{尿不湿+啤酒}} = 0.03S尿不湿+啤酒=0.03
2. 关联规则分析
通过关联规则算法(如Apriori)计算关键指标:
- 支持度(同时购买比例):
Support=N尿不湿∩啤酒N总交易=0.03 \text{Support} = \frac{N_{\text{尿不湿} \cap \text{啤酒}}}{N_{\text{总交易}}} = 0.03 Support=N总交易N尿不湿∩啤酒=0.03 - 置信度(买尿不湿后买啤酒的概率):
Confidence=S尿不湿+啤酒S尿不湿=0.030.05=0.6 \text{Confidence} = \frac{S_{\text{尿不湿+啤酒}}}{S_{\text{尿不湿}}} = \frac{0.03}{0.05} = 0.6 Confidence=S尿不湿S尿不湿+啤酒=0.050.03=0.6 - 提升度(相关性强度):
Lift=ConfidenceS啤酒=0.60.08=7.5 \text{Lift} = \frac{\text{Confidence}}{S_{\text{啤酒}}} = \frac{0.6}{0.08} = 7.5 Lift=S啤酒Confidence=0.080.6=7.5
提升度>1>1>1表明两者存在强正相关,非随机巧合。
3. 业务决策
超市采取行动:
- 将啤酒货架移至尿不湿区域附近
- 在尿不湿促销时捆绑啤酒折扣
结果:啤酒销量提升35%,验证了"啤酒+尿不湿"的关联规则价值。
4. 数据挖掘启示
该案例证明了:
- 关联规则挖掘能发现人类直觉忽略的模式
- 支持度/置信度需平衡:高支持度确保普适性,高置信度确保规则可靠性
- 业务场景中,提升度>3>3>3通常具有实施价值
# 关联规则伪代码示例(Apriori核心逻辑)
def find_rules(itemsets, min_support):
frequent_items = []
for itemset in itemsets:
support = calculate_support(itemset) # 计算支持度
if support >= min_support:
frequent_items.append(itemset)
rules = []
for item in frequent_items:
# 生成候选规则并计算置信度
candidates = generate_candidates(item)
for candidate in candidates:
conf = support / item_support(candidate[0])
if conf > min_confidence:
rules.append((candidate, conf))
return rules
此故事已成为数据挖掘教材的经典范例,揭示了数据驱动决策如何颠覆传统商业逻辑。
2599

被折叠的 条评论
为什么被折叠?



