以下是使用Apriori算法获取出现在rhs中的所有项的列表(最佳频率)的代码示例:
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori
# 样本数据
dataset = [['A', 'B', 'C', 'D'],
['B', 'C', 'D', 'E'],
['A', 'B', 'C', 'D', 'E'],
['B', 'D'],
['A', 'B', 'C', 'E'],
['A', 'B', 'D', 'E'],
['A', 'C', 'D', 'E']]
# 将数据集转换为one-hot编码
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.2, use_colnames=True)
# 过滤出现在rhs中的项集
rhs_items = frequent_itemsets[frequent_itemsets['itemsets'].apply(lambda x: 'rhs' in x)]
# 输出结果
print(rhs_items)
在上面的代码中,我们首先使用TransactionEncoder
将样本数据转换为one-hot编码的形式。然后,我们使用apriori
函数从数据中获取频繁项集。通过设置min_support
参数来控制频繁项集的最小支持度。最后,我们通过过滤包含'rhs'的项集来获取出现在rhs中的所有项的列表(最佳频率)。
下一篇:Apriori没有运行。