2012-10-20 7 views
5

Ho un download di file CSV da http://yann.lecun.com/exdb/mnist/index.html. Ho bisogno di convertirlo in formato di file arff.Conversione da Weka CSV a Arff: IllegalArgumentException: I nomi degli attributi non sono univoci

ho provato a fare funzionare

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

ma sta dando seguente errore

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

Poi ho provato ad utilizzare http://weka.wikispaces.com/Converting+CSV+to+ARFF codice Java. BUt è arrivato lo stesso errore.

Qualcuno può suggerire che cosa sto facendo male

risposta

5

Non c'erano campi di intestazione del csv. Così ho creato uno script e aggiunto la colonna0, column1, ..., classe nella prima riga del file Csv. Quindi aperto quel file csv generato in weka.

+0

Dovresti essere in grado di utilizzare i file CSV senza intestazione usando l'opzione '-H', ovvero' loader.setOptions (new String [] {"-H"}); ' –

+0

Anche la nuova versione sembra avere' loader.setNoHeaderRowPresent (vero) '... –

2

Ho riscontrato la stessa eccezione ma con un motivo diverso. Ho usato "class" come nome dell'attributo, ma questa parola è anche comparsa nei miei dati sotto forma di stringa (dopo @data) e Weka non ha separato correttamente attributo e dati. Risolto semplicemente rinominando l'attributo "class" con qualcos'altro come "s_label".

Problemi correlati