Weka复制过滤器不起作用

时间:2013-07-16 09:09:31

标签: weka

我正在尝试使用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);

1 个答案:

答案 0 :(得分:0)

  • 如果您的代码效果很好,它会添加first属性的另一个副本,而不是仅保留它,这意味着dataSlice将为rawData + first attribute of rawData

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

      

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

    如果您更改了调用它们的顺序,您的代码将获得我上面说的结果。

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

希望这可以帮到你。