生成适用于fpgrowth算法的python代码的数据集
以下是一个适用于fpgrowth算法的Python代码数据集示例:
from collections import defaultdict
from itertools import combinations
# 生成数据集
transactions = [('A', 'B', 'C'), ('B', 'D'), ('A', 'B', 'D', 'E'), ('A', 'C', 'E'), ('B', 'C', 'E')]
# 计算每个项的支持度
item_counts = defaultdict(int)
for transaction in transactions:
for item in transaction:
item_counts[item] += 1
# 过滤掉支持度低于阈值的项
min_support = 2
frequent_items = {item for item, count in item_counts.items() if count >= min_support}
# 构建频繁项集
frequent_itemsets = set()
for i in range(2, len(frequent_items) + 1):
for itemset in combinations(frequent_items, i):
count = 0
for transaction in transactions:
if set(itemset).issubset(set(transaction)):
count += 1
if count >= min_support:
frequent_itemsets.add(itemset)
# 输出结果
print("Frequent Itemsets:")
for itemset in frequent_itemsets:
print(itemset)
以上代码生成了一个包含5个交易的数据集,并使用fpgrowth算法计算频繁项集。在此数据集中,项集的最小支持度为2
原文地址: https://www.cveoy.top/t/topic/fYNe 著作权归作者所有。请勿转载和采集!