以下是一个适用于 FP-Growth 算法的 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 个交易的数据集,并使用 FP-Growth 算法计算频繁项集。在此数据集中,项集的最小支持度为 2。

Python 代码生成适用于 FP-Growth 算法的数据集

原文地址: https://www.cveoy.top/t/topic/osts 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录