查找频繁项目集

时间:2015-10-26 19:58:29

标签: algorithm data-analysis

我有以下数据集: enter image description here

|拆分集的位置。基本上,例如第2行看起来像这样:

{{null}, {shop, atm}, {null}, {shop, atm}, {null}, {null}}

集合的顺序不起任何作用:{shop, amt} == {atm, shop}

我想做两件事:

1)找到常见的模式和频繁的项目集。例如,set {shop,atm}经常出现在行1,2和4中的行中。

2)弄清楚哪些集合(或集合元素)遵循哪些元素。例如,商店经常跟随其他商店:{shop, atm}, {shop} - 第1行和{shop},{shop,atm} - 第4行。

使用Apriori算法可以很容易地解决第一个问题,对吧?这很容易。但第二个问题怎么样?我该如何解决?用户使用哪种算法?

1 个答案:

答案 0 :(得分:1)

是的,Apriori会找到频繁的项目集(即具有高支持数的集合)。 FP-Tree通常更好,因为它只需要两遍数据。

第二部分,规则生成,涉及采用频繁项目集对,其中第一部分是第二部分的超集。然后,您可以形成一个规则,其中较小的集合是先行的,并且集合的差异是结果。较大项目集的支持计数与较小项目集的比率是该规则的统计置信度。

这是所有相当基本的数据挖掘工具,并在维基百科等中有详细描述。像Weka和R这样的软件包为您做了很多工作。