我的意思是只有像aprioriall这样的序列模式算法才能给出项目的顺序吗?这可能会减少关联规则的数量吗?
答案 0 :(得分:3)
频繁项集挖掘(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(我是创始人)的网站,该网站为这些问题提供了80多个算法实现。一些例子,也是。
答案 1 :(得分:1)
如果您想学习时间/顺序行为,则不得丢弃这部分信息,而应将其集成到算法中。
即。如果您想学习集,请使用APRIORI。如果您想学习序列,请使用顺序方法。