【问题标题】:What is the advantage of sequential mining patterns over apriori algorithm?顺序挖掘模式相对于先验算法的优势是什么?
【发布时间】:2015-02-02 01:02:02
【问题描述】:

我的意思是只有像 aprioriall 这样的序列模式算法给项目一个顺序?这可能会减少关联规则的数量吗?

【问题讨论】:

  • 先验 vs 先验???可以比较吗??

标签: data-mining


【解决方案1】:

频繁项集挖掘 (FIM) 算法(例如 Apriori)将交易数据库作为输入。交易只是一组没有任何排序的项目。目标是找到在交易中经常出现的项目集,而不考虑时间等顺序。

序列模式挖掘 (SPM) 算法,例如 AprioriAll、PrefixSpan、CM-SPADE 和 GSP,将序列数据库作为输入。序列是事务的有序列表。目标是发现经常出现在一组序列中的子序列。在这种情况下,会考虑项目之间的顺序。

因此,如果您的数据中存在顺序或者您关心结果中的顺序,您应该使用顺序模式挖掘而不是频繁项集挖掘。如果你不关心排序,你可以使用 FIM 算法。

此外,我注意到您还谈到了关联规则。让我澄清这些想法。频繁项集可用于生成关联规则。两组项目之间的规则 X --> Y 意味着 X 中的项目以给定的置信度和支持度与 Y 中的项目一起出现。但是关联规则并没有提供关于 X 和 Y 之间是否存在顺序排列的任何信息。如果要查找顺序排列的规则,则应考虑使用顺序规则。顺序规则可以通过某种算法直接找到,也可以从顺序模式中推导出来。

顺序规则和顺序模式有什么区别?序列模式通常是根据它们的支持来找到的(它们在序列数据库中出现的序列数)。另一方面,顺序规则通常是基于其支持度和置信度来找到的,因此对于推荐等应用更有用。规则 X -> Y 的置信度可以看作是对 Y 遵循 X 的概率的估计。

如果您想尝试一些 FIM、SPM 和顺序规则挖掘算法,您可以访问 SPMF data mining library(我是创始人)的网站,该网站提供了 200 多种算法实现以及一些示例,如好吧。

【讨论】:

  • 天哪!我刚刚检查了你的图书馆,太棒了!我一直在寻找类似的东西 2-3 个月,它可以为我节省大量时间。
【解决方案2】:

如果你想学习时间/顺序行为,你不能丢弃你的这部分信息,而是将它整合到你的算法中。

即如果您想学习 sets,请使用 APRIORI。如果您想学习序列,请使用序列方法。

【讨论】:

  • 在性能方面比较 Apriori 和 AprioriALL 是没有意义的。这两种算法有相似的想法(它们基于以逐级方式生成候选者的想法)。但是,它们不采用相同的输入,也不会产生相同的输出。
  • 另一条评论:术语“时间”是指时间。在谈论顺序模式时,最好使用术语“顺序排序”而不是术语“时间”,因为它们也可以应用于与时间无关的项目序列,例如文本中的单词序列。
猜你喜欢
  • 2016-04-06
  • 2013-07-21
  • 1970-01-01
  • 2015-09-12
  • 2019-02-01
  • 2011-04-29
  • 2011-12-22
  • 1970-01-01
  • 2016-07-05
相关资源
最近更新 更多