【发布时间】:2011-05-25 10:13:38
【问题描述】:
我正在阅读似乎说的注释:给定所有闭合频繁项集及其支持计数的集合,可以获得任何频繁项集的支持计数。
如果没有更大的项集正确包含频繁项集并且具有 支持数相同。
试图证明这一点,但无法解决。
以下是关联规则挖掘定义的一些链接:
【问题讨论】:
标签: algorithm data-mining
我正在阅读似乎说的注释:给定所有闭合频繁项集及其支持计数的集合,可以获得任何频繁项集的支持计数。
如果没有更大的项集正确包含频繁项集并且具有 支持数相同。
试图证明这一点,但无法解决。
以下是关联规则挖掘定义的一些链接:
【问题讨论】:
标签: algorithm data-mining
闭项集 X 是不包含在具有相同支持度的另一个项集中的项集。
所有包含在 X 中并具有相同支持的项集 Y1、Y2、Y3 .. YN 都被称为在同一个等价类中。它们不是封闭项集,因为它们包含在具有相同支持 (X) 的更大项集中。
现在假设您有所有频繁闭项集 C 的集合,并且您想知道项集 F 的支持度。
您需要做的非常简单。您需要将 F 与所有频繁闭项集进行比较。你必须找到最小的闭项集 W 使得 F 包含在 W 中。那么 F 的支持就是 W 的支持。
如果你想了解更多关于闭项集的详细信息,我建议阅读 Pasquier 的论文:
如果你想要一些挖掘封闭项集的算法源代码,可以查看我的Java项目:
http://www.philippe-fournier-viger.com/spmf/
它提供 AprioriClose 和 DCI_Closed。
【讨论】:
你知道没有集合可以有比它的子集更高的支持度......所以任何给定项集的支持度等于最频繁超集的支持度: sup(x) = max{y.support | y 是 x 的超集,并且 y 在闭合频繁项集中}
在给定闭合频繁项集及其支持的情况下,存在一种产生所有项集支持的算法:
kmax = size of largest closed itemset
Fmax = closed frequent itemsets of size kmax
for k = kmax downto 1 do
Fk = {f | f immediate subset of f' in Fk+1 or f is closed | |f|=k}
for every f in Fk do
if f is not closed
f.support = max{f'.support | f' in Fk+1 , f' is a superset of f}
endif
endfor
endfor
来源:http://www.cs.helsinki.fi/group/bioinfo/teaching/dami_s10/dami_lecture4.pdf
【讨论】: