Apriori算法示例代码
时间: 2024-06-24 21:00:21 浏览: 112
Apriori算法是一种用于关联规则学习(Market Basket Analysis)的经典算法,主要用于发现数据集中项之间的频繁模式。以下是使用Python和mlxtend库实现的一个简单Apriori算法示例代码:
```python
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori, association_rules
# 假设这是你的交易数据,每一行代表一个交易,用逗号分隔的商品ID
transactions = [['Milk', 'Bread', 'Butter'],
['Bread', 'Butter', 'Eggs'],
['Milk', 'Butter', 'Eggs'],
['Milk', 'Bread'],
['Bread']]
# 将字符串转换为整数并编码交易
te = TransactionEncoder()
te_ary = te.fit(transactions).transform(transactions)
# 转换为DataFrame以便处理
df = pd.DataFrame(te_ary, columns=te.columns_)
# 设置最小支持度(出现次数/总交易次数)和最小置信度
min_support = 0.6 # 例如60%
min_confidence = 0.75 # 例如75%
# 使用Apriori算法寻找频繁项集
frequent_itemsets = apriori(df, min_support=min_support, use_colnames=True)
# 提取关联规则
rules = association_rules(frequent_itemsets,
metric="confidence", # 使用置信度作为评估标准
min_threshold=min_confidence)
# 打印结果
print("Frequent itemsets:")
print(frequent_itemsets)
print("\nAssociation rules:")
print(rules)
```
在这个例子中,我们首先编码交易数据,然后应用Apriori算法找出频繁项集,接着计算关联规则并根据置信度筛选出有意义的规则。
阅读全文