购物篮商品关联规则分析实验

引言

随着大数据时代的到来,越来越多的数据产生和积累,如何从这些数据中挖掘出有用的信息成为了重要的研究课题。购物篮商品关联规则分析是一种常见的数据挖掘方法,它可以通过分析顾客购买的商品之间的关联关系,从而帮助商家做出更好的营销决策。

在本文中,我们将使用CRISP-DM模型来完成购物篮商品关联规则分析的全生命周期工作。CRISP-DM(Cross Industry Standard Process for Data Mining)是一种常用的数据挖掘项目管理方法,它包括了六个阶段:业务理解、数据理解、数据准备、模型建立、模型评估和模型部署。

业务理解

在购物篮商品关联规则分析中,我们的目标是分析顾客购买的商品之间的关联关系,从而帮助商家进行更有针对性的商品推荐和促销活动。

数据理解

首先,我们需要了解和分析所使用的数据。在购物篮商品关联规则分析中,我们通常使用交易数据,包括顾客购买的商品清单。

下面是一段示例交易数据:

# 加载数据
import pandas as pd
transactions = pd.read_csv('transactions.csv')
transactions.head()
TransactionID Items
1 Apple, Banana
2 Apple, Orange
3 Banana, Orange
4 Apple, Banana, Pear
5 Banana, Pear

数据准备

在数据准备阶段,我们需要对原始数据进行清洗和预处理。

首先,我们将交易数据转换成适合关联规则分析的形式。在购物篮分析中,常用的表示方法是使用独热编码(One-Hot Encoding)。

# 使用独热编码转换数据
from mlxtend.preprocessing import TransactionEncoder

te = TransactionEncoder()
te_ary = te.fit(transactions['Items'].apply(lambda x: x.split(',')).to_list()).transform(transactions['Items'].apply(lambda x: x.split(',')).to_list())
df = pd.DataFrame(te_ary, columns=te.columns_)
df.head()
Apple Banana Orange Pear
1 1
1 1
1 1
1 1 1
1 1

接下来,我们可以使用关联规则分析算法来发现购物篮中的商品关联关系。常用的关联规则分析算法包括Apriori算法和FP-Growth算法。

# 使用Apriori算法挖掘关联规则
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules

frequent_itemsets = apriori(df, min_support=0.1, use_colnames=True)
rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1)
rules.head()
antecedents consequents antecedent support consequent support support confidence lift leverage conviction
[Apple] [Banana] 0.6 0.8 0.4 0.666667 0.833333 0.08 0.6
1 [Banana] [Apple] 0.8 0.6 0.4 0.5 0.833333 0.08 0.8
2 [Banana] [Orange] 0.8 0.6 0.4