gpt4 book ai didi

python - Python 中的 Apriori 结果

转载 作者:太空宇宙 更新时间:2023-11-03 20:20:33 25 4
gpt4 key购买 nike

我正在尝试在 python 中运行先验算法。我的具体问题是,当我使用 apriori 函数时,我将 min_length 指定为 2。但是,当我打印规则时,我得到的规则仅包含 1 项。我想知道为什么 apriori 不过滤掉小于 2 的项目,因为我指定我只需要项目集中包含 2 个项目的规则。

from apyori import apriori
#store the transactions
transactions = []
total_transactions = 0
with open('browsing.txt', 'r') as file:
for transaction in file:
total_transactions += 1
items = []
for item in transaction.split():
items.append(item)
transactions.append(items)
#
support_threshold = (100/total_transactions)
print(support_threshold)

minimum_support = 100
frequent_items = apriori(transactions, min_length = 2, min_support = support_threshold)
association_results = list(frequent_items)

print(association_results[0])
print(association_results[1])

我的结果:

RelationRecord(items=frozenset({'DAI11223'}), support=0.004983762579981351, ordered_statistics=[OrderedStatistic(items_base=frozenset(), items_add=frozenset({'DAI11223'}), confidence=0.004983762579981351, lift=1.0)])
RelationRecord(items=frozenset({'DAI11778'}), support=0.0037619369152117293, ordered_statistics=[OrderedStatistic(items_base=frozenset(), items_add=frozenset({'DAI11778'}), confidence=0.0037619369152117293, lift=1.0)])

最佳答案

从这里查看代码:https://github.com/ymoch/apyori/blob/master/apyori.py显示没有 min_length 关键字(只有 max_length)。他们的 apyori 实现方式在传递未使用的关键字参数时不会引发任何警告或错误。

为什么不事后过滤结果呢?

association_results = filter(lambda x: len(x.items) > 1, association_results)

关于python - Python 中的 Apriori 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58189399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com