摘要关联规则挖掘是机器学习中用于发现数据集中项目间关联关系的技术主要应用于购物篮分析等领域。该方法通过支持度和置信度指标衡量规则强度其中支持度反映规则普遍性置信度表示规则可靠性。使用Python的mlxtend库可实现关联规则挖掘包括数据编码、Apriori算法查找频繁项集和生成关联规则等步骤。该技术可应用于医疗、金融等多个领域帮助从大型数据集中提取有价值的模式。核心概念包括前件、后件、频繁项集等Apriori算法是其经典实现方法之一。目录机器学习 —— 关联规则示例输出结果频繁项集输出关联规则输出术语说明机器学习 —— 关联规则关联规则挖掘Association Rule Mining是机器学习中的一种技术用于从大型数据集中发现有价值的模式。这些模式以关联规则的形式呈现代表数据集中不同项目或属性之间的关联关系。关联规则挖掘最常见的应用场景是购物篮分析Market Basket Analysis其目的是识别出经常被一起购买的商品。关联规则由前件antecedents集合和后件consequents集合组成。前件代表规则适用所需满足的条件或存在的项目后件则代表与前件相关联的结果或可能出现的项目。关联规则的强度通过两个指标衡量支持度support和置信度confidence。支持度是数据集中同时包含前件和后件的交易占比置信度是在包含前件的交易中同时包含后件的交易占比。示例在 Python 中mlxtend库提供了多个用于关联规则挖掘的函数。以下是使用mlxtend中的apriori函数实现关联规则挖掘的示例代码# 导入所需库 import pandas as pd from mlxtend.preprocessing import TransactionEncoder from mlxtend.frequent_patterns import apriori, association_rules # 创建样本数据集购物交易记录 data [ [牛奶, 面包, 黄油], [牛奶, 面包], [牛奶, 黄油], [面包, 黄油], [牛奶, 面包, 黄油, 奶酪], [牛奶, 奶酪] ] # 对数据集进行编码 te TransactionEncoder() te_ary te.fit(data).transform(data) # 拟合并转换数据 df pd.DataFrame(te_ary, columnste.columns_) # 构建编码后的DataFrame # 使用Apriori算法查找频繁项集 frequent_itemsets apriori(df, min_support0.5, use_colnamesTrue) # 生成关联规则以置信度为指标最小阈值设为0.5 rules association_rules(frequent_itemsets, metricconfidence, min_threshold0.5) # 输出结果 print(频繁项集) print(frequent_itemsets) print(\n关联规则) print(rules)在上述示例中我们首先创建了一个购物交易样本数据集然后通过mlxtend的TransactionEncoder对数据进行编码处理。接着使用apriori函数查找最小支持度为 0.5 的频繁项集Frequent Itemsets最后通过association_rules函数生成最小置信度为 0.5 的关联规则。apriori函数接收两个核心参数编码后的数据集和最小支持度阈值。use_colnames参数设为True时将使用原始项目名称如 “牛奶”“面包”作为列名而非布尔值True/False。association_rules函数接收三个关键参数频繁项集、评估指标本示例使用置信度和最小阈值本示例设为 0.5。输出结果上述代码的输出将包含频繁项集和生成的关联规则。频繁项集代表数据集中经常同时出现的项目组合关联规则则代表频繁项集中各项目之间的关联关系。频繁项集输出supportitemsets0.666667(面包)0.666667(黄油)0.833333(牛奶)0.500000(面包黄油)0.500000(面包牛奶)0.500000(黄油牛奶)关联规则输出antecedentsconsequentsantecedent supportconsequent supportsupportconfidenceliftleverageconvictionzhangs_metric(面包)(黄油)0.6666670.6666670.50.751.1250.0555561.3333330.333333(黄油)(面包)0.6666670.6666670.50.751.1250.0555561.3333330.333333(面包)(牛奶)0.6666670.8333330.50.750.900-0.0555560.666667-0.250000(牛奶)(面包)0.8333330.6666670.50.600.900-0.0555560.833333-0.400000(黄油)(牛奶)0.6666670.8333330.50.750.900-0.0555560.666667-0.250000(牛奶)(黄油)0.8333330.6666670.50.600.900-0.0555560.833333-0.400000关联规则挖掘是一种功能强大的技术可应用于多种类型的数据集。除了常用于购物篮分析以识别共同购买的商品外它还能应用于医疗保健、金融、社交媒体等多个领域。借助mlxtend等 Python 库我们可以轻松实现关联规则挖掘并从大型数据集中提取有价值的洞察。术语说明关联规则Association Rule描述数据集中项目之间关联关系的规则形式为 “前件→后件”。前件Antecedent规则的前提条件即触发规则的项目集合如 “购买面包”。后件Consequent规则的结果即与前件相关联的项目集合如 “购买黄油”。支持度Support数据集中同时包含前件和后件的交易比例反映规则的普遍程度。置信度Confidence包含前件的交易中同时包含后件的比例反映规则的可靠程度。频繁项集Frequent Itemset支持度达到或超过最小支持度阈值的项目组合。Apriori 算法关联规则挖掘中用于查找频繁项集的经典算法核心思想是 “频繁项集的子集必为频繁项集”。