【问题标题】:Weka copy filter does not workWeka 复制过滤器不起作用
【发布时间】:2013-07-14 09:20:53
【问题描述】:

我正在尝试使用 weka 获取数据集的第一列。但是复制过滤器会返回整个集合!为什么?谢谢。

Copy mCopy = new Copy();
mCopy.setInputFormat(rawData);
String rangeList;
rangeList = "first";
mCopy.setAttributeIndices(rangeList);
Instances dataSlice = weka.filters.Filter.useFilter( rawData, mCopy);
System.out.println(dataSlice);

【问题讨论】:

    标签: weka


    【解决方案1】:
    • 如果您的代码运行良好,它将添加另一个 first 属性副本而不是仅保留它,这意味着 dataSlice 将是 rawData + first attribute of rawData

    • 让我们更正您的代码。 setAttributeIndices() 应该在 setInputFormat() 之前调用。这在 weka API 中有明确说明:

      注意:在调用 setInputFormat(Instances) 之前使用此方法,因为输出格式在该方法中确定。

      如果你改变调用它们的顺序,你的代码就会得到我上面所说的结果。

    • 如果您只想保留first 属性,您可以使用Remove 过滤器和setAttributeIndices("2-last")。我不擅长Weka。可能有更好的方法来做到这一点。

    希望这对你有帮助。

    【讨论】:

      猜你喜欢
      • 2015-04-29
      • 2013-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-01
      • 2015-10-25
      • 2016-10-24
      • 2021-04-12
      相关资源
      最近更新 更多