二)基于mlxtend包的关联规则挖掘编程(程序名sy6-2. ipynb) 有apriori_data数据集,记录乳腺癌患者 TNM 分期与中医证型系数信息,利用Python完成下列任务: [1]安装关联规则挖掘分析所需的mlxtend包; [2]基于数据集构建事务数据集,并显示前5行事务; [3]设置最小支持度为 6%, 输出所有的频繁项目集; [4]设置最小置信度为75%,进行关联规则挖掘,并输出挖掘到的关联规则。
时间: 2025-03-24 08:24:47 浏览: 33
<<
要使用mlxtend
包进行关联规则挖掘并完成题目中的任务,我们可以通过以下步骤来逐步实现。
步骤解析
[1] 安装 mlxtend
包
如果尚未安装该库,则需要先通过 pip 进行安装。
!pip install mlxtend
[2] 构建事务数据集
假设 apriori_data.csv
数据集中包含乳腺癌患者的 TNM 分期以及中医证型的相关信息。首先加载数据文件,并将其转换为适合 Apriori 算法使用的格式(布尔矩阵或 one-hot 编码形式)。然后展示前五行的数据。
代码如下:
import pandas as pd
# 加载数据集
data = pd.read_csv('apriori_data.csv')
# 将数据转化为适合Apriori算法的形式 (one-hot encoding)
def encode_units(x):
if x <= 0:
return 0
elif x >= 1:
return 1
basket_sets = data.applymap(encode_units) # 应用编码函数
print("前五条事务数据:")
print(basket_sets.head())
注意: 假设原始数据中数值大于等于1表示存在某项特征;否则不存在该项特征。
[3] 找出满足最小支持度的频繁项目集
接下来我们将调用 apriori()
函数生成所有符合指定最低支持度阈值(此处设定为6%)的频繁项集合。
from mlxtend.frequent_patterns import apriori
min_support = 0.06 # 设置最小支持度为6%
frequent_itemsets = apriori(basket_sets, min_support=min_support, use_colnames=True)
print("\n频繁项目集(支持度>=6%):")
print(frequent_itemsets)
这里的关键点在于参数 use_colnames=True
可让结果更易读,直接显示列名而非索引号。
[4] 关联规则挖掘 - 提取符合条件的强规则
最后一步是根据找到的频繁项集计算相应的提升度、置信度等指标,并筛选出那些达到给定最小置信水平(本题要求至少75%)以上的关联规则。
from mlxtend.frequent_patterns import association_rules
# 挖掘关联规则
rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.75)
print("\n挖掘到的支持度>=6%, 置信度>=75% 的关联规则:")
print(rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']])
上述代码将返回一系列的关联关系列表及其对应的质量测量标准如 support、confidence 和 lift 等重要属性值。
解释说明
- Step 1: 使用命令行工具或者 Jupyter Notebook 内部指令(
!
)可以直接对当前运行环境中未存在的 Python 第三方模块执行在线安装操作。 - Step 2: 我们采用 Pandas 来导入 CSV 文件内容并通过自定义函数对其进行预处理,确保最终形成的 DataFrame 格式能够被后续步骤所接受。
- Step 3 & Step 4: Mlxtend 是专门用于市场篮子分析的强大扩展库之一,在此过程中分别运用其内置方法实现了高效地求解频繁模式及生成高质量规则两项核心目标。
以上即为整个基于 MLXtend 实现关联规则学习的具体过程!
相关推荐

















