python 实现关联规则
时间: 2024-01-01 20:44:43 浏览: 87
关联规则是一种在数据挖掘中常用的算法,用于发现数据集中的项之间的关联关系。Python中有多种库可以实现关联规则挖掘,其中最常用的是`mlxtend`库和`apyori`库。
下面以`mlxtend`库为例,介绍如何实现关联规则。
安装`mlxtend`库:
```python
pip install mlxtend
```
导入库:
```python
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules
```
生成样本数据:
```python
data = {'Transaction ID': ['1001', '1001', '1002', '1003', '1003', '1003', '1004', '1004', '1005', '1005'],
'Item': ['Bread', 'Milk', 'Bread', 'Bread', 'Milk', 'Diaper', 'Bread', 'Milk', 'Bread', 'Milk']}
df = pd.DataFrame(data)
```
使用`apriori`函数生成频繁项集:
```python
frequent_itemsets = apriori(df.groupby(['Transaction ID', 'Item'])['Item'].count().unstack().reset_index().fillna(0).set_index('Transaction ID'), min_support=0.5, use_colnames=True)
```
使用`association_rules`函数生成关联规则:
```python
rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1)
```
关联规则的输出如下:
```
antecedents consequents antecedent support consequent support support confidence lift
0 (Bread) (Milk) 0.6 0.4 0.4 0.666667 1.666667
1 (Milk) (Bread) 0.4 0.6 0.4 1.000000 1.666667
```
阅读全文