Python关联规则挖掘案例:超市购物篮分析

作者:梅琳marlin2024.02.17 04:36浏览量:14

简介:通过Python实现关联规则挖掘,分析超市购物篮中的商品关联关系,并生成关联规则。本案例将使用`mlxtend`库中的`apriori`和`association_rules`函数。

首先,我们需要安装mlxtend库,可以使用以下命令进行安装:

  1. pip install mlxtend

接下来,我们将使用mlxtend库中的aprioriassociation_rules函数来分析超市购物篮中的商品关联关系。以下是一个简单的示例代码:

  1. import pandas as pd
  2. from mlxtend.preprocessing import TransactionEncoder
  3. from mlxtend.frequent_patterns import apriori, association_rules
  4. # 加载数据集
  5. dataset = pd.read_csv('market_basket.csv', header=None)
  6. # 数据预处理
  7. te = TransactionEncoder()
  8. te_array = te.fit(dataset).transform(dataset)
  9. df = pd.DataFrame(te_array, columns=te.columns_)
  10. # 找到频繁项集
  11. frequent_itemsets = apriori(df, min_support=0.6, use_colnames=True)
  12. # 生成关联规则
  13. rules = association_rules(frequent_itemsets, metric='confidence', min_threshold=0.7)
  14. # 打印关联规则
  15. print(rules[['antecedents', 'consequents', 'support', 'confidence']])

在上面的代码中,我们首先加载了一个名为market_basket.csv的数据集,其中包含了超市购物篮中的商品信息。然后,我们使用mlxtend.preprocessing.TransactionEncoder对数据进行预处理,将数据转换为适合关联规则挖掘的格式。接下来,我们使用mlxtend.frequent_patterns.apriori函数找到频繁项集,其中min_support参数指定了项集的最小支持度,use_colnames参数指定是否使用列名作为项集名称。最后,我们使用mlxtend.frequent_patterns.association_rules函数生成关联规则,其中metric参数指定了规则的度量标准,这里使用的是置信度;min_threshold参数指定了规则的最小置信度阈值。最后,我们打印出关联规则的结果。

需要注意的是,这个案例仅仅是一个简单的演示,实际应用中需要根据具体的数据和业务需求进行相应的调整和优化。例如,可以尝试调整参数来找到最佳的频繁项集和关联规则,或者使用其他算法来进行关联规则挖掘。此外,还可以将关联规则应用于推荐系统、营销策略等方面,以提升业务效果。