我一直在盯着一本描述Apriori算法挖掘频繁项目集的书中的下一行,我似乎无法掌握它
请注意,给定候选k-itemset,我们只需检查其(k-1)子集是否频繁,因为Apriori算法使用了逐级搜索策略。
在上文中,候选人意味着潜在的频繁k项目集。
很明显,频繁k-itemset的(k-1)子集是频繁的,但即使所有(k-1)子集频繁,我也看不到其他含义。但也许我正在以错误的方式阅读?
答案 0 :(得分:1)
“很明显,频繁k-itemset的(k-1)子集是频繁的,但即使所有(k-1)子集频繁,我也看不到其他含义。”
你是对的,另一个含义是不正确的。 (k-1)子集用于生成需要测试频率或支持的k项集(正如原始论文所称)。您需要测试对从(k-1) - 子集生成的k项集的支持。
原始论文非常易读且可用here。第1列有一个例子,这个想法非常清楚。
答案 1 :(得分:0)
另一个暗示是不正确的。但是如果一个子集不频繁,则项目集不会频繁。 APriori算法执行子集检查以消除一些不频繁的项集。但在那之后,仍然需要检查每个候选人的支持。为此,Apriori算法将扫描数据库。
如果你想更好地描述Apriori,我建议你查看这一章:
http://www-users.cs.umn.edu/~kumar/dmbook/ch6.pdf
它以非常简单的术语解释了Apriori,FPGrowth和关联规则挖掘。它比最初的Apriori文章更容易阅读。