【问题标题】:Wrong output of mahout PFPGrowth algorithm?mahout PFPGrowth 算法的错误输出?
【发布时间】:2012-05-18 05:30:09
【问题描述】:

我在 hadoop 集群上使用 mahout 的 PFP Growth 实现的最新主干版本来确定 movielens 数据集中的频繁模式。 在上一步中,我将数据集转换为交易列表,因为 pfp 增长算法需要该输入格式。

但是,我得到的输出是意外的

例如对于项目 1017,唯一的频繁模式是

1017 ([100,1017, 50])

我还希望在该行中出现像 ([1017], X) 这样的模式,其中 X >= 50。

我还测试了一个示例输入

1,2,3

1,2,3

1,3

我得到的输出是

1 ([1, 3],3), ([1],3), ([1, 3, 2],2)

2 ([1, 3, 2],2)

3 ([1, 3],3), ([1, 3, 2],2)

缺少像 ([1,2],2) 这样的模式

怎么了?

【问题讨论】:

  • 我假设 PFPGrowth 只是概率上的完整?许多分布式“大数据”算法只是近似的。
  • minSupport 是否正在修剪它?
  • 概率会非常糟糕。 minSupport 不可能是原因,因为您可以看到支持 2 包含模式。您是否实施了算法 Sean?我需要将它用于我的学士论文。我试图延长 pfp 的增长。作为附加步骤,我首先将 movielens 数据集转换为事务列表,然后运行 ​​pfp 增长步骤,然后执行另一个 map/reduce 步骤以提取所有关联规则,包括支持值和置信度值。
  • (P)FP Gwroth 绝对不是概率性的。所以我期望一个正确和完整的输出与先验算法一样。
  • PFP 使用的非并行 FP Growth 似乎会导致问题。我得再仔细看看。

标签: apache hadoop data-mining mahout


【解决方案1】:

原因是 FP 算法在其支持度不高的情况下不会输出频繁模式的子集。它在这里描述: http://www.searchworkings.org/forum/-/message_boards/view_message/396093

我需要重写代码以供我使用。

【讨论】:

    【解决方案2】:

    我阅读了论文和代码,似乎 PFP 算法根本不正确。我想知道为什么没有人没有意识到这一点。

    如果您已经了解 FP-Growth 并且只需花几个小时阅读这篇论文和代码,那就太明显了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      • 2014-10-18
      • 2021-09-12
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多