封闭式和开放式序列模式挖掘算法的区别

Posted

技术标签:

【中文标题】封闭式和开放式序列模式挖掘算法的区别【英文标题】:Difference between Closed and open Sequential Pattern Mining Algorithms 【发布时间】:2013-04-15 06:09:53 【问题描述】:

我想使用一些算法来挖掘我的日志数据。

我发现了一个模式挖掘框架:http://www.philippe-fournier-viger.com/spmf/index.php?link=algorithms.php

我尝试了几种算法,BIDE+算法表现最好。

BIDE+ 算法用于从序列数据库中挖掘频繁的闭合序列模式。

有人能解释一下“封闭”顺序模式和开放模式的定义吗?

【问题讨论】:

【参考方案1】:

很高兴您使用我的SPMF software。

支持顺序模式是包含顺序模式的序列数。

频繁序列模式是至少出现在序列数据库的“minsup”序列中的模式,其中minsup是用户设置的参数。 p>

频繁闭合序列模式是一种频繁序列模式,因此它不包含在具有完全相同支持的另一个序列模式中。

PrefixSpan 等算法会发现频繁的顺序模式。 BIDE+ 等算法会发现频繁的闭合序列模式。 BIDE+ 通常比 PrefixSpan 快得多,因为它使用修剪技术来避免生成所有顺序模式。此外,封闭模式集通常比顺序模式集小得多,因此 BIDE+ 的内存效率也更高。

要知道的另一件重要事情是,封闭的顺序模式是所有顺序模式的紧凑且无损的表示。这意味着封闭的序列模式集通常要小得多,但它是无损的,这意味着它允许恢复完整的序列模式集(没有信息丢失),非常方便。

我可以举一个简单的例子。

让我们考虑 4 个序列:

a  b  c  d  e
a  b  d
b  e  a  
b  c  d  e

假设 minsup = 2。

b c 是一种频繁的序列模式,因为它出现在两个序列中(它支持 2)。 b c 不是一个封闭的序列模式,因为它包含在一个更大的序列模式 b c d 中,具有相同的支持。

b c d 的支持为 2。它也不是封闭的顺序模式,因为它包含在具有相同支持的更大的顺序模式 b c d e 中。 b c d e 是一个封闭的顺序模式,因为它不包含在具有相同支持的任何其他顺序模式中。

顺便说一句,你也可以查看我关于sequential pattern mining的调查。它很好地介绍了这个主题和不同的算法。

【讨论】:

这将有助于我的论文。严重地。谢谢! 首先,感谢您的调查和 SPMF,在这里您的解释很清楚,但该示例可能不太合适,因为模式 b c 出现在三个序列中(1,3, 4),所以稍作改动可能会更好。 @LancelotHolmes 感谢您的评论。是的,你是对的。修复了那个错误。很高兴您喜欢这项调查和 SPMF :-) 封闭开放概念的精彩解释。 嗨,sequential generator patterns 怎么样?什么是发电机?我无法通过谷歌找到任何有关它的详细信息。【参考方案2】:

查看本章 Frequent Itemsets 和 Frequent item sets Mining & Association Rules

【讨论】:

【参考方案3】:

谷歌搜索“闭合频繁项集”。将有很多页面解释这一点,任何数据挖掘书籍也将如此(查找 APRIORI 算法)。

"Closed" 表示没有更大的项集具有 same 支持。可以有更大的项集,但它们必须具有更低的支持度。

对于大多数用例,查看最大值或仅查看封闭项集就足够了。

【讨论】:

以上是关于封闭式和开放式序列模式挖掘算法的区别的主要内容,如果未能解决你的问题,请参考以下文章

OCP(开放封闭原则)与 IoC(控制反转)有啥关系?

深入浅出设计模式——开放封闭原则

Day21

开放式耳机与封闭式耳机哪个会更好

基金学习笔记

设计模式--开放封闭原则