一种可能的解决方法是增加支持度阈值,并且确保输入的数据集没有重复项。另外,您还可以尝试不同的参数值(支持度和置信度)来查看算法的表现。
以下是一个示例代码,通过更改支持度阈值从而解决这个问题:
from mlxtend.frequent_patterns import apriori
from mlxtend.preprocessing import TransactionEncoder
import pandas as pd
# 读取数据集
dataset = [['apple', 'egg', 'milk'], ['carrot', 'milk'], ['apple', 'carrot', 'milk'], ['apple', 'carrot']]
te = TransactionEncoder()
te_ary = te.fit(dataset).transform(dataset)
df = pd.DataFrame(te_ary, columns=te.columns_)
# 使用Apriori算法生成频繁项集
frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)
# 打印结果
print(frequent_itemsets)
在上面的代码中,我们设置了支持度阈值为0.5,可以在算法仍然能够计算得出的前提下避免计算错误。