查找频繁项集
Find frequent itemsets
我有以下数据集:
其中 |
拆分集合。基本上,例如第 2 行看起来像这样:
{{null}, {shop, atm}, {null}, {shop, atm}, {null}, {null}}
集合的顺序没有任何作用:{shop, amt} == {atm, shop}
.
我想做两件事:
1) 找到共同模式和频繁项集。例如,集合 {shop, atm} 频繁出现在第 1、2 和 4 行中。
2) 找出哪些集合(或集合元素)后跟哪些元素。例如,shop 后面经常跟其他商店:{shop, atm}, {shop}
- 第 1 行和 {shop},{shop, atm} - 第 4 行。
第一个问题用Apriori算法很容易解决吧?这很容易。但是第二个问题呢?我该如何解决?用户使用哪些算法?
是的,Apriori 会找到频繁项集(即具有高支持度的集)。 FP-Tree 通常更好,因为它只需要两次遍历数据。
第二部分,规则生成,涉及获取成对的频繁项集,其中第一个是第二个的超集。然后你可以形成一个规则,其中较小的集合是前提,集合的差异是结果。较大项集与较小项集的支持度之比为规则的统计置信度。
这些都是相当基本的数据挖掘内容,并且在维基百科等中有很好的描述。Weka 和 R 等软件包会为您完成艰苦的工作。
我有以下数据集:
其中 |
拆分集合。基本上,例如第 2 行看起来像这样:
{{null}, {shop, atm}, {null}, {shop, atm}, {null}, {null}}
集合的顺序没有任何作用:{shop, amt} == {atm, shop}
.
我想做两件事:
1) 找到共同模式和频繁项集。例如,集合 {shop, atm} 频繁出现在第 1、2 和 4 行中。
2) 找出哪些集合(或集合元素)后跟哪些元素。例如,shop 后面经常跟其他商店:{shop, atm}, {shop}
- 第 1 行和 {shop},{shop, atm} - 第 4 行。
第一个问题用Apriori算法很容易解决吧?这很容易。但是第二个问题呢?我该如何解决?用户使用哪些算法?
是的,Apriori 会找到频繁项集(即具有高支持度的集)。 FP-Tree 通常更好,因为它只需要两次遍历数据。
第二部分,规则生成,涉及获取成对的频繁项集,其中第一个是第二个的超集。然后你可以形成一个规则,其中较小的集合是前提,集合的差异是结果。较大项集与较小项集的支持度之比为规则的统计置信度。
这些都是相当基本的数据挖掘内容,并且在维基百科等中有很好的描述。Weka 和 R 等软件包会为您完成艰苦的工作。