2012-10-20 100 views
5

我有一個從http://yann.lecun.com/exdb/mnist/index.html下載的Csv文件。我需要將其轉換爲arff文件格式。Weka CSV到Arff轉換:IllegalArgumentException:屬性名稱不是唯一的

我試圖運行

java weka.core.converters.CSVLoader /home/saket/Documents/Assignment/NIST7000 > /home/saket/Documents/Myfile.arff 

,但它給下面的錯誤

java.lang.IllegalArgumentException: Attribute names are not unique! Causes: '0' '0' '0' '0' '0' '0' '0' 

然後我用http://weka.wikispaces.com/Converting+CSV+to+ARFF java代碼嘗試。 BUt仍然出現同樣的錯誤。

有人可以請建議我做錯了什麼

回答

5

csv中沒有頭字段。所以我創建了一個腳本,並在Csv文件的第一行添加了column0,column1,...,class。 然後在weka中打開生成的csv文件。

+0

您應該可以通過使用'-H'選項來使用無頭文件的CSV文件,即'loader.setOptions(new String [] {「-H」});' –

+0

新版本似乎也有' loader.setNoHeaderRowPresent(真)'... –

2

我遇到了同樣的異常,但原因不同。我使用「class」作爲屬性名稱,但這個詞在我的數據中也以字符串的形式出現(在@data之後),Weka沒有正確分離屬性和數據。 通過簡單地將「class」屬性重命名爲「s_label」之類的東西來解決。