我在fastminer中遇到了fp-growth运算符的问题。我正在处理大约20个文本文件,总共大小<1MB。我使用了过程文档操作符,在该标记中,过滤停用词,转换个案,生成n-gram和过滤令牌。从那里我使用数字到二项式运算符。直到这一刻一切正常,但是当我运行fp-growth运算符时,它只是无限期地处理而没有结果。我尝试调整min支持参数,但无济于事。你对如何解决这个问题有什么建议吗?我非常感谢任何指导。
答案 0 :(得分:0)
FP-Growth是一种在包含多个项目的多个事务中查找常用项目集的算法。在您的方案中,项目可能是文本中出现的单词,而每个文本都是一个事务。
不幸的是,频繁项目集的问题呈指数级:假设您有一个包含项目{A,B,C}的频繁项目集,这意味着有足够的事务包含所有三个项目。但这也意味着所有子集也是频繁的,因为子集{A,B}至少包含在包含{A,B,C}的所有事务中。因此,如果{A,B,C}频繁,{A,B},{B,C},{A,C}和{A},{B}和{C}也是如此。集合的数量是(2 ^ n) - 1.因此,对于一组四个项目,我们已经有15个子集,5个31,依此类推。 所以问题是:什么使得频繁出现,为什么会有这么多频繁的设置,RapidMiner需要这么长时间来计算它们呢?
最重要的因素当然是min_support。这定义了一个集合必须经常发生的事务的百分比的阈值。如果将min_support增加到1,则项目集将会少得多,计算速度也会更快。 但是,不要被“找到最小数量的项目集”所欺骗。如果选中此选项,RapidMiner将尝试始终找到指定的最小数量的项目集,并且如果找不到任何项目集将自动降低min_support。我的建议:关掉它。
您应该确保的另一件事是,正确的值被识别为“正面”,因此指示此项目是交易的一部分。如果之前使用过数字到二项式运算符,则为“真”。所以你应该在RapidMiner的positive_value参数中输入“true”。此参数仅在专家模式下可见。如果您不处于专家模式,则会在参数下方显示一行,告知您“4个隐藏的专家参数”可用。您可以单击该行以切换到专家模式。
在您的特定情况下,您从文本文件中获取“交易”,您将遇到特殊问题:
希望这有帮助!