gpt4 book ai didi

Python:为相对支持先验算法生成候选项集

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:14:41 32 4
gpt4 key购买 nike

Please note: Title of this question might be ambiguous so I request other users to please edit it. I was not able to come up with a suitable title which fits this problem.

上面讨论的问题是称为 RSAA(相对支持先验算法)的算法的一部分,这里是研究论文链接:http://dl.acm.org/citation.cfm?id=937663

问题:我正在使用 python 实现像 apriori 这样的算法,而在这样做的同时,我遇到了一个问题,即我在算法的每一步都生成了这样的模式(候选项集)。

  • 在每一步中,主列表中子列表的长度应该是增加 1。
  • 一个步骤的输出将成为下一步的输入。
  • 主列表中的子列表可以以任意顺序出现,其中的数字子列表可以按任何顺序出现。

示例如下:

输入:

input = [[5, 3], [5, 4], [5, 6], [7, 6]]

输出应该是:

output = [[5,3,4], [5,3,6], [4,5,6], [5,6,7]]

输出列表 (^) 的每个子列表必须只有 3 个项目(例如:[5,3,4])。

解决这个问题的方法应该是通用,因为在下一步:

输入:

input = [[5,3,4], [5,3,6], [4,5,6], [5,6,7]]

输出:

output = [[5,3,4,6], [4,5,6,7]]

输出列表 (^) 的每个子列表必须只有 4 个项目。

( [5,3,4,6] 由 [5,3,4] 和 [5,3,6] 连接而成。我们不能连接 [5,3,4] 和 [5,6,7],因为这样做会创建长度为 5 的 [5,3,4,6,7])

最佳答案

我认为您的要求包含在 apriori 中。我写了一篇关于算法的博客,可惜是中文的。这是链接 http://www.zealseeker.com/archives/apriori-algorithm-python/
这是 snippets (也有中文主持)

has_infrequent_subsetapriori_gen 可能是你想要的两个函数。

如果代码对您有用,请评论我的答案,我很乐意继续为您提供帮助。


更新

在python中很容易得到两个序列的交集和差集。

a = set([5, 6])
b = set([6, 7])
c = a & b # get the itersection
if len(c) == len(a) - 1:
return a | b # their union

关于Python:为相对支持先验算法生成候选项集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42888258/

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