在零售、电商和推荐系统中,Python关联规则是一种非常实用的数据挖掘技术。它能帮助我们发现商品之间的隐藏关系,比如“买了尿布的顾客也常常购买啤酒”。本教程将手把手教你使用Apriori算法进行购物篮分析,即使你是编程小白也能轻松上手!
关联规则是用于发现大量数据集中变量之间有趣关系的一种方法。最经典的例子就是超市的购物篮分析:通过分析顾客的购物小票,找出哪些商品经常被一起购买。
我们将使用 mlxtend 库来实现 Apriori算法。首先安装所需库:
pip install pandas mlxtend 假设我们有一个超市的交易记录,每行代表一次购物包含的商品:
import pandas as pd# 创建示例数据transactions = [ ['牛奶', '面包', '黄油'], ['啤酒', '尿布', '牛奶'], ['牛奶', '面包', '尿布'], ['啤酒', '面包', '黄油'], ['牛奶', '面包', '黄油', '尿布']]# 转换为 One-hot 编码格式(mlxtend 要求)from mlxtend.preprocessing import TransactionEncoderte = TransactionEncoder()te_ary = te.fit(transactions).transform(transactions)df = pd.DataFrame(te_ary, columns=te.columns_)print(df) 使用 Apriori 算法找出支持度大于阈值的项集:
from mlxtend.frequent_patterns import apriori# 设置最小支持度为 0.6(即至少出现在 60% 的交易中)frequent_itemsets = apriori(df, min_support=0.6, use_colnames=True)print(frequent_itemsets) 基于频繁项集生成规则,并筛选高置信度的规则:
from mlxtend.frequent_patterns import association_rules# 生成规则,按置信度排序rules = association_rules( frequent_itemsets, metric="confidence", min_threshold=0.7)# 只显示 antecedents(前件)、consequents(后件)、support、confidence、liftprint(rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']]) 假设输出如下:
antecedents consequents support confidence lift0 (牛奶) (面包) 0.8 1.0 1.25
这表示:当顾客购买了“牛奶”时,有 100% 的概率也会购买“面包”(置信度=1.0),且 lift=1.25 > 1,说明两者正相关。
通过本教程,你已经掌握了如何用 Python 进行频繁项集挖掘和关联规则生成。这项技术广泛应用于:
记住,关键参数如 min_support 和 min_confidence 需要根据实际业务调整。多尝试不同阈值,才能发现真正有价值的规则!
希望这篇关于 Python关联规则、Apriori算法、购物篮分析 和 频繁项集挖掘 的教程对你有所帮助!
本文由主机测评网于2025-12-15发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025128294.html