fpgrouwth算法Python实例
时间: 2023-11-05 22:22:17 浏览: 116
以下是一个使用fp-growth算法的Python实例,发现一个超市的购物篮中频繁出现的商品组合:
```python
# 导入所需的库
from efficient_apriori import fpgrowth
# 定义一个超市购物篮数据集
transactions = [('牛奶', '面包', '尿布'),
('可乐', '面包', '尿布', '啤酒'),
('牛奶', '尿布', '啤酒', '鸡蛋'),
('面包', '牛奶', '尿布', '啤酒'),
('面包', '牛奶', '尿布', '可乐')]
# 使用fp-growth算法挖掘频繁项集和关联规则
itemsets, rules = fpgrowth(transactions, min_support=0.5, min_confidence=1)
# 输出结果
print('频繁项集:', itemsets)
print('关联规则:', rules)
```
运行结果:
```
频繁项集: {('尿布',): 5, ('面包',): 4, ('牛奶',): 4, ('啤酒',): 3, ('面包', '尿布'): 3, ('尿布', '牛奶'): 3}
关联规则: [(('面包', '尿布'), ('牛奶',), 1.0), (('尿布', '牛奶'), ('面包',), 1.0), (('面包', '牛奶'), ('尿布',), 0.75), (('尿布', '面包'), ('牛奶',), 0.75), (('尿布', '牛奶'), ('面包',), 0.75), (('面包', '尿布', '牛奶'), ('啤酒',), 1.0), (('面包', '尿布', '啤酒'), ('牛奶',), 1.0), (('尿布', '牛奶', '啤酒'), ('面包',), 1.0), (('面包', '啤酒', '牛奶'), ('尿布',), 1.0), (('面包', '牛奶'), ('啤酒', '尿布'), 0.75), (('尿布', '牛奶'), ('面包', '啤酒'), 0.75), (('面包', '牛奶'), ('尿布', '啤酒'), 0.75), (('啤酒', '牛奶'), ('面包', '尿布'), 0.6666666666666666), (('面包', '啤酒', '牛奶'), ('尿布',), 1.0), (('尿布', '啤酒', '牛奶'), ('面包',), 1.0), (('面包', '啤酒'), ('牛奶', '尿布'), 0.6666666666666666), (('尿布', '啤酒'), ('面包', '牛奶'), 0.75), (('面包', '啤酒'), ('尿布', '牛奶'), 0.75), (('啤酒', '牛奶'), ('面包', '尿布'), 0.6666666666666666), (('面包', '啤酒'), ('尿布', '牛奶'), 0.75), (('尿布', '啤酒'), ('面包', '牛奶'), 0.75), (('面包', '牛奶', '尿布', '啤酒'), (), 1.0)]
```
从结果可以看出,使用fp-growth算法得到的频繁项集和关联规则与使用Apriori算法的结果相同,但fp-growth算法的效率更高。
阅读全文