2013-07-16 124 views
0

我想使用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); 

回答

0
  • 如果你的代碼工作得很好,這將增加first屬性的另一副本,而不是隻保留它,這意味着dataSlicerawData + first attribute of rawData

  • 讓我們來糾正你的代碼。應在0​​之前調用setAttributeIndices()。這在秧雞API明確提出:

    注意:你叫setInputFormat(實例)之前使用此方法,因爲輸出格式在該法確定的。

    如果您更改調用它們的順序,您的代碼將得到我上面所說的結果。

  • 如果您只想保留first屬性,則可以使用Remove過濾器和setAttributeIndices("2-last")。 Weka不熟練Weka。可能有更好的方法來做到這一點。

希望這可以幫助你。