python使用mlxtend库强关联规则分析纸尿布和啤酒
时间: 2024-05-10 20:15:40 浏览: 97
关联规则分析-python
首先,我们需要安装mlxtend库,可以使用以下命令:
```
!pip install mlxtend
```
接下来,我们需要准备数据集。假设我们有一份购物清单数据,其中包含了每个顾客购买的商品列表。我们可以将这个数据集保存为一个CSV文件,每一行表示一个顾客购买的商品列表,每个商品之间用逗号分隔。
例如:
```
面包, 牛奶, 尿布
面包, 啤酒, 尿布, 鸡蛋
牛奶, 啤酒, 尿布, 书籍
面包, 牛奶, 啤酒, 尿布
面包, 牛奶, 啤酒
```
接下来,我们可以使用mlxtend库中的关联规则分析函数来得到强关联规则。具体步骤如下:
1. 导入mlxtend库中的关联规则分析函数
```python
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules
```
2. 加载数据集
```python
import pandas as pd
data = pd.read_csv('shopping_list.csv', header=None)
```
3. 将数据集转换为独热编码格式,便于关联规则分析
```python
from mlxtend.preprocessing import TransactionEncoder
te = TransactionEncoder()
te_ary = te.fit(data).transform(data)
df = pd.DataFrame(te_ary, columns=te.columns_)
```
4. 使用apriori函数获得频繁项集
```python
frequent_itemsets = apriori(df, min_support=0.2, use_colnames=True)
```
在这里,我们设置了最小支持度为0.2,意味着一个商品组合出现的频率必须大于等于20%才会被认为是频繁项集。
5. 使用association_rules函数获得强关联规则
```python
rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1)
```
在这里,我们使用了lift指标来衡量关联规则的强度,并设置了最小lift值为1。
最后,我们可以使用以下代码来查看强关联规则:
```python
print(rules)
```
输出结果将会是一个DataFrame,包含了强关联规则的各种信息,例如支持度、置信度、lift等。可以根据需要选择输出的信息。
阅读全文