如何挖掘封闭频繁项集?


在朴素方法中,它可以挖掘频繁项集的完整集合,然后删除每个频繁项集,该项集是当前频繁项集的真子集,并且具有相同的支持度。

这种方法可以推导出 2100−1 个频繁项集以获得长度为 100 的频繁项集,所有这些都在它开始删除冗余项集之前。推荐的技术是在挖掘阶段精确地搜索封闭频繁项集。这需要我们在挖掘过程中能够识别封闭项集的方法时尽快修剪搜索区域。有各种修剪策略,包括以下内容 -

项合并 - 如果每个包含频繁项集 X 的事务也包含项集 Y,但不包含 Y 的任何真超集,则 X ∪Y 形成一个频繁封闭项集,并且不需要搜索包含 X 但不包含 Y 的任何项集。

子项集修剪 - 如果频繁项集 X 是先前发现的频繁封闭项集 Y 的真子集,并且 support_count(X) = support_count(Y),则 X 及其在集合枚举树中的所有后代都不能是频繁封闭项集,因此可以被修剪。

项跳过 - 在封闭项集的深度优先挖掘中,在每一层,都可能存在与头表和投影数据库相关的前缀项集 X。如果本地频繁项 p 在多层多个头表中具有相同支持度,则可以安全地从更高层的头表中修剪 p。

当新的频繁项集发生变化时,必须实现两种类型的闭包检查,如下所示 -

  • 超集检查 - 它可以测试此新的频繁项集是否是一些先前发现的具有相同支持度的封闭项集的超集。

  • 子集检查 - 它可以测试新发现的项集是否为先前发现的具有相同支持度的封闭项集的子集。

它可以在分治结构下采用项合并修剪技术,那么超集测试实际上是内置的,不需要显式地实现超集检查。这是因为,如果频繁项集 X∪Y 比项集 X 后发现,并且具有与 X 相同的支持度,则它应该在 X 的投影数据库中,并且应该在项集合并期间生成。

它可以帮助子集检查,可以构建一个压缩模式树来支持挖掘的封闭项集集。模式树在机制上与 FP-树相同,除了所有发现的封闭项集都明确地保存在相应的树分支中。

更新于: 2022-02-16

1K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告