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

时间:2017-03-19 15:14:21

标签: python algorithm list data-mining apriori

  

请注意:这个问题的标题可能含糊不清,所以我要求   其他用户请编辑它。我无法找到适合这个问题的合适标题。

上面讨论的问题是一种名为RSAA(相对支持Apriori算法)的算法的一部分,这里是研究论文链接: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,3,4,6,7]长度= 5)

1 个答案:

答案 0 :(得分:1)

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

browser.find_element_by_name("login").click() has_infrequent_subset可能是您想要的两个功能。

如果代码对您有用,请评论我的回答,我会很乐意继续帮助您。

更新

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

apriori_gen