使用【python】写【apriori算法】的代码
时间: 2024-11-05 21:28:51 浏览: 20
Apriori算法是一种用于市场篮子分析的关联规则挖掘算法,主要用于发现频繁项集和强关联规则。在Python中,我们可以使用mlxtend库中的FrequentItemsets类和AssociationRules类来实现Apriori算法。以下是一个简单的例子:
```python
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori, association_rules
# 假设这是我们的交易数据,每行代表一个购物篮,用逗号分隔商品ID
transactions = [['Milk', 'Eggs'], ['Bread', 'Butter', 'Milk'], ['Cheese', 'Butter'], ['Eggs', 'Milk']]
# 将字符串列表转换为数字编码的事务矩阵
te = TransactionEncoder()
te_ary = te.fit(transactions).transform(transactions)
# 使用Apriori算法找出频繁项集
frequent_itemsets = apriori(te_ary, min_support=0.4, use_colnames=True)
# 提取频繁项集,并过滤出长度大于1的项集
rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1)
print("频繁项集:")
print(frequent_itemsets)
print("\n关联规则:")
print(rules)
```
在这个例子中,`min_support` 参数设置的是最小支持度阈值(例如40%),`use_colnames` 设为True是为了得到更易读的结果。`association_rules` 函数会基于频繁项集生成关联规则。
阅读全文