数据挖掘:频繁项目集



当在一道考试题中被要求查找所有频繁项目集时,你给出的答案是最后一次算出的集合,还是有必要在此之前全部给出。

例如,如果我为一个集合得到的最后结果是(a,B,D),那么是我的频繁项集合,还是我需要包括在此之前找到的所有也满足minSup的结果,例如(a,B)(a,D)(B,D)等

我知道你在问一个频繁项目集是否满足最小支持阈值,这个项目集的子集是否也支持最小支持?答案是子集也满足最小支持阈值。

这里的逻辑是自下而上的方法。大小2的候选项集是从大小1的频繁项集生成的。大小3的候选项集是从大小2的频繁项集生成的。

例如数据集:

  • 第1行:A B C D E
  • 第2行:A C D
  • 第3行:B C
  • 第4行:A C D E
  • 第5行:A D E
  • 第6行:A B C D
  • 第7行:A B C
  • 第8行:A C
  • 第9行:B C D
  • 第10行:B D E

首先生成大小为1的候选项集。这些是:A,B,C,D,E。现在计算每个候选人的支持率。A=7,B=6,C=8,D=7,E=4。现在,如果minSup值为5,则修剪E。如果minSup值为3,则所有尺寸为1的候选者都被评估为频繁。

生成了第二个大小为2的候选项集。方法是跨产品大小1的频繁项目集。因此生成了A B、A C、A D、A E、B C、B D、B E、C D、C E、D E大小为2的候选项集。在此之后,计算每个候选者的支持值。由于第1行、第6行和第7行包括此模式,因此对A/B的支持为3。但是,只有第1行和第10行存在BE候选,如果minSup值为3,则对该候选进行修剪。

因为使用了这个逻辑,所以如果上面的项集是频繁的,那么子集也应该是频繁的。如果没有,则无法生成上部项目集。

我希望我能解释一下自己。

最新更新