2012-10-20 11 views
5

Ich habe einen Csv-Datei-Download von http://yann.lecun.com/exdb/mnist/index.html. Ich muss es in das Arff-Dateiformat konvertieren.Weka CSV zu Arff Konvertierung: IllegalArgumentException: Attributnamen sind nicht eindeutig

versuchte ich

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

läuft, aber es wird folgende Fehler

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

Dann habe ich versucht zu geben http://weka.wikispaces.com/Converting+CSV+to+ARFF Java-Code verwenden. Aber immer noch der gleiche Fehler kam.

Kann jemand bitte vorschlagen, was ich

Antwort

5

Es gab keine Header-Felder in der csv falsch mache. Also habe ich ein Skript erstellt und column0, column1, ..., class in der ersten Zeile der Csv-Datei hinzugefügt. Dann wurde die generierte CSV-Datei in Weka geöffnet.

+0

Sie sollten CSV-Dateien ohne Header verwenden können, indem Sie die Option '-H' verwenden, zB' loader.setOptions (new String [] {"-H"}); ' –

+0

Die neue Version scheint auch' loader.setNoHeaderRowPresent (true) '... –

2

Ich habe die gleiche Ausnahme aber aus einem anderen Grund angetroffen. Ich habe "Klasse" als Attributnamen verwendet, aber dieses Wort erschien auch in meinen Daten als String (nach @data) und Weka hat Attribut und Daten nicht korrekt getrennt. Gelöst durch einfaches Umbenennen des Attributs "class" in etwas anderes wie "s_label".

Verwandte Themen