从关闭的频繁项目集生成计数

时间:2011-05-25 10:13:39

标签: algorithm data-mining

我正在阅读说明所说的内容:给定所有已关闭的频繁项目集及其支持计数的集合,可以获得任何频繁项目集的支持计数。

如果没有更大的项目集正确包含它并且具有,则称为常闭项目集已关闭 相同的支持数。

试图证明这一点,但无法解决。

以下是关于关联规则挖掘定义的一些链接:

Association rule mining

2 个答案:

答案 0 :(得分:1)

关闭的项目集X是一个项目集,它不包含在具有相同支持的另一个项目集中。

包含在X中并且具有相同支持的所有项目集Y1,Y2,Y3 ... YN被认为是在相同的等价类中。它们不是闭项集,因为它们包含在具有相同支持(X)的较大项集中。

现在让我们假设您拥有所有频繁闭项集C的集合,并且您想知道项集F的支持。

您需要做的事情非常简单。您需要将F与所有频繁关闭的项目集进行比较。你必须找到最小的闭项集W,使得F包含在W中。然后F的支持是W的支持。

如果您想了解关闭项目集的更多详细信息,我建议您阅读Pasquier撰写的论文:

http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=7956B5A50ED076203227367503FA7958?doi=10.1.1.37.1102&rep=rep1&type=pdf

如果您需要一些算法源代码来挖掘闭项集,您可以检查我的Java项目:

http://www.philippe-fournier-viger.com/spmf/

它提供AprioriClose和DCI_Closed。

答案 1 :(得分:0)

您知道没有任何集合可以获得比其子集更高的支持...因此任何给定项集的支持等于最频繁超集的支持: 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