apriori算法python实现简单代码
时间: 2023-11-21 22:04:57 浏览: 98
好的,以下是apriori算法的Python实现简单代码:
```python
def apriori(data, min_support):
# 获取所有不重复的项集
itemsets = set()
for transaction in data:
for item in transaction:
itemsets.add(frozenset([item]))
# 迭代获取频繁项集
freq_itemsets = dict()
while itemsets:
# 计算每个项集的支持度
item_counts = dict()
for transaction in data:
for item in itemsets:
if item.issubset(transaction):
if item not in item_counts:
item_counts[item] = 1
else:
item_counts[item] += 1
# 保留支持度大于等于min_support的项集
freq_itemsets.update({item: count for item, count in item_counts.items() if count >= min_support})
# 生成下一轮的候选项集
itemsets = set([item1.union(item2) for item1 in freq_itemsets.keys() for item2 in freq_itemsets.keys() if len(item1.union(item2)) == len(item1) + 1])
return freq_itemsets
```
其中,`data`是一个二维列表,每个子列表表示一条交易记录,`min_support`是最小支持度。
阅读全文