2014-01-09 58 views
2

背景频繁项目集挖掘的大多数示例都具有独特项目的交易。例如{1,2}, {1,3}, {2,3,5,6}, {6}。我很想知道交易中是否有重复会影响结果。例如{1,2,1}, {2,2,3}, {4,3}, {4,1,2,4,2,6}计算交易中重复项目的频繁项目集

问题使用先验算法,这将是在交易数据库{1,2,1}, {2,2,3}, {4,3}, {4,1,2,4,2,6} 1项的支持?我认为结果是:

{1}: 2 
{2}: 3 
{3}: 2 
{4}: 2 
{6}: 1 

回答

1

“默认”FIM算法不允许重复。

但是你可以平凡编码重复的附加项目,即

{ Beer, Beer } -> { Beer, Beer_2 } 

,然后照常进行。然后你会得到无聊的相关规则,如

{ Beer_2 } -> { Beer } 

即买了第二个啤酒的人也买了第一个啤酒。

这些琐碎从结果修剪,但:从来不考虑移动x到右侧,当x_2是在左边,等

+0

感谢您的回答。允许重复算法的效果是什么?是否会导致不正确的频繁模式被报告? –

+0

首先定义“不正确”。 –

1

频繁项集挖掘的原来的问题没有数量,这是一个项目在交易中只能出现零次或一次。因此,你提到的情况是未定义的。

如果你想允许重复,你可以看看项目集挖掘问题的变化。

在“高效用品项目挖掘”中,每个项目可以出现不止一次,每个项目也可以具有权重,如单位利润。高效率项目集挖掘的目标是找到具有高效用(例如高利润)的项目集。如果你很好奇,你可以看看这篇论文,看看他们如何根据项目在交易中出现的次数和重量来定义效用。高效能开采的问题比复制问题更为普遍。你可以使用高效率项目挖掘算法,如FHM和HUI-Miner,如果你给每个项目权重1,它可以处理重复的问题。如果您好奇,可以在Java SPMF data mining library中获得HUI-Miner的Java实现。

另一个变化是“加权项集挖掘”,其中项目有权重但不能出现一次以上。

如果你看一下这些变化和其他人,我认为有人肯定已经解决了这个问题。