Sto analizzando l'algoritmo k-means con Mahout. Ho intenzione di eseguire alcuni test, osservare le prestazioni e fare alcune statistiche con i risultati che ottengo.Mahout: CSV per il vettore e l'esecuzione del programma
Non riesco a capire il modo di eseguire il mio programma all'interno di Mahout. Tuttavia, l'interfaccia della riga di comando potrebbe essere sufficiente.
Per eseguire il programma di esempio che faccio
$ mahout seqdirectory --input uscensus --output uscensus-seq
$ mahout seq2sparse -i uscensus-seq -o uscensus-vec
$ mahout kmeans -i reuters-vec/tfidf-vectors -o uscensus-kmeans-clusters -c uscensus-kmeans-centroids -dm org.apache.mahout.common.distance.CosineDistanceMeasure -x 5 -ow -cl -k 25
Il set di dati è un unico grande file CSV. Ogni riga è un record. Le funzionalità sono separate da virgola. Il primo campo è un ID. A causa del formato di input non posso usare subito seqdirectory. Sto cercando di implementare la risposta a questa domanda simile How to perform k-means clustering in mahout with vector data stored as CSV? ma ho ancora 2 Domande:
- Come si converte da CSV a SeqFile? Credo di poter scrivere il mio programma usando Mahout per fare questa conversione e quindi usare l'output come input per seq2parse. Credo di poter usare CSVIterator (https://cwiki.apache.org/confluence/display/MAHOUT/File+Format+Integrations). Quale classe dovrei usare per leggere e scrivere?
- Come posso creare ed eseguire il mio nuovo programma? Non riuscivo a capirlo con il libro Mahout in azione o con altre domande qui.