Weka中FP-Growth的数据要求是啥?

Posted

技术标签:

【中文标题】Weka中FP-Growth的数据要求是啥?【英文标题】:What are data requirements for FP-Growth in Weka?Weka中FP-Growth的数据要求是什么? 【发布时间】:2012-12-26 22:02:05 【问题描述】:

我想在 Weka 中的数据集(模型)上使用 FP-Growth 关联规则算法。

很遗憾,这个算法是灰色的。我必须满足哪些先决条件才能使用它?

【问题讨论】:

为什么人们在降级?来吧,至少发表评论...... 【参考方案1】:

答案/解决方案:

    Wek​​a 实现的每个算法都有一些与之相关的摘要信息。为了从 GUI 中看到它,必须单击算法(或过滤器)选项,然后再次单击 Capabilities 按钮。然后会出现一个小弹出窗口,其中包含有关特定算法的一些信息。 如果是FPGrowth - 模型属性需要是binary 类型。就我而言,我有一个混合的名义参数和数字参数。我必须应用NominalToBinary 过滤器,它将我的名义属性转换为二进制值。然后我必须应用 flter NumericToBinary 并将所选选项 ignoreClass 设置为 true

这帮助我在 Weka 中“解锁”FPGrowth

【讨论】:

这里有一个稍微长一点的解释:“FP-Growth 算法仅适用于布尔值。因此,数据集的属性只能有真值或假值。如果您使用不同类型的属性(数字,字符串等),它看起来被禁用了。” weka.8497.n7.nabble.com/FP-GROWTH-Algorithm-td23554.html【参考方案2】:

添加到@ŁukaszBachman 答案: 在应用过滤操作之前,您需要将类设置为“无类”。如果您使用的是 weka java api,那么您需要将data.setClassIndex(-1) 添加到您的 java 代码中。

例如:在 Java 中执行 Nominal To Binary:

        NominalToBinary nn = new NominalToBinary();
        nn.setInputFormat(Data);
        Data.setClassIndex(-1);
        Data = Filter.useFilter(Data, nn);

【讨论】:

以上是关于Weka中FP-Growth的数据要求是啥?的主要内容,如果未能解决你的问题,请参考以下文章

关联规则挖掘算法FP-Growth算法

FP-growth算法

FP-growth - 交易中的项目必须是唯一的

java实现fp-growth算法

FP-growth算法——通过构建FP树发现频繁项集

FP-growth算法思想和其python实现