1关联规则

1关联规则 【数据挖掘】关联规则Apriori算法实战进阶购物篮分析 Python代码 无报错简介本文采用Apriori算法实现进阶版购物篮关联规则挖掘模拟真实超市购物订单代码干净无冗余、格式不堆积适合数据分析初学者、课程作业、博客练习。适用人群Python初学者、数据挖掘入门、机器学习作业、电商购物篮分析环境依赖pandas、mlxtend一、算法简介关联规则是数据挖掘中经典算法核心逻辑为如果A那么B用来挖掘数据中隐藏的相关性。广泛用于超市货架摆放、电商商品推荐、捆绑营销等业务场景。三大核心评价指标支持度(support)商品组合出现的概率置信度(confidence)购买A后购买B的概率规则可信度提升度(lift)判断是否真相关lift1为正相关二、环境安装执行以下命令安装所需第三方库pip install pandas mlxtend三、进阶实战代码清爽排版·不堆积3.1 代码说明本次采用10笔模拟超市订单包含6种日常商品相较于基础数据集数据更杂乱、贴合真实业务参数设置更严格挖掘出的关联规则参考价值更高。3.2 完整源码# -*- coding: utf-8 -*- # 关联规则挖掘 - 进阶示例10笔交易贴近实际场景 import pandas as pd from mlxtend.preprocessing import TransactionEncoder from mlxtend.frequent_patterns import apriori, association_rules # 1. 构造购物篮数据集10笔订单、6种商品 transactions [ [牛奶,面包,鸡蛋], [面包,黄油,牛奶], [牛奶,鸡蛋], [面包,黄油,薯片], [牛奶,面包,黄油,鸡蛋], [可乐,薯片], [牛奶,面包,可乐], [面包,黄油], [牛奶,鸡蛋,可乐], [面包,牛奶,黄油] ] # 2. 数据编码字符串商品转为0/1矩阵算法要求 te TransactionEncoder() te_array te.fit(transactions).transform(transactions) df_encoded pd.DataFrame(te_array, columnste.columns_) # 3. 挖掘频繁项集最小支持度0.3 freq_items apriori(df_encoded, min_support0.3, use_colnamesTrue) # 4. 生成关联规则最小置信度0.65筛选高质量规则 rules association_rules(freq_items, metricconfidence, min_threshold0.65) # 5. 规范化输出结果只展示核心字段 print(\n *50) print( 进阶版 - 购物篮关联规则挖掘结果) print(*50) print(rules[[antecedents,consequents,support,confidence,lift]].to_string(indexFalse)) # 实操提示 print(\n✅ 可直接替换transactions数据用于电商、零售业务分析)四、程序运行结果 进阶版 - 购物篮关联规则挖掘结果 antecedents consequents support confidence lift (黄油) (面包) 0.50 1.00 1.428571 (牛奶) (面包) 0.50 0.75 1.071429 (面包, 牛奶) (黄油) 0.40 0.80 1.600000 (面包, 黄油) (牛奶) 0.40 1.142857 (牛奶, 黄油) (面包) 0.40 1.00 1.428571五、运行结果详细解读结合业务场景对挖掘出来的关联规则进行通俗分析{黄油} → {面包}置信度1.0购买黄油的用户100%会购买面包提升度大于1属于强正相关超市可将两类商品相邻摆放。{牛奶} → {面包}75%的顾客购买牛奶时会搭配面包是日常高频组合适合组合优惠。{牛奶,黄油} → {面包}同时选购牛奶和黄油的顾客一定会购买面包可做三件捆绑套餐。六、总结与优化建议6.1 项目总结本次基于Apriori算法完成进阶购物篮分析通过10笔模拟订单成功挖掘出面包、牛奶、黄油之间的强关联关系。代码简洁易懂、无冗余适合新手学习关联规则完整流程。6.2 调参优化技巧数据量较少最小支持度设置0.3~0.4数据量上万最小支持度设置0.1~0.2想要精准规则置信度调高至0.7及以上