Sto cercando di fare una classificazione sui miei dati di testo. Ho 300 classes
, 200 documenti di formazione per classe (quindi 60000 documents in total
) e questo probabilmente porterà a dati dimensionali molto alti (potremmo guardare oltre 1 milione di dimensioni ).
Vorrei eseguire i seguenti passaggi nella pipeline (solo per darti un'idea di quali sono i miei requisiti):
- Conversione di ciascun documento in un vettore (
tf-idf
ovector space model
) Feature selection
(Mutual Information
basato preferibilmente o qualsiasi altro standard)- La formazione del classificatore (
SVM
,Naive Bayes
,Logistic Regression
oRandom Forest
) - Prevedere dati invisibili in base al modello di classificatore addestrato.
Quindi la domanda è: quali strumenti / framework utilizzo per gestire dati così dimensionali? Sono a conoscenza dei soliti sospetti (R, WEKA ...) ma per quanto ne so (forse mi sbaglio) probabilmente nessuno di loro può gestire dati così grandi. C'è qualche altro strumento disponibile che potrei guardare?
Se devo parallelizzarlo, dovrei guardare Apache Mahout ? Sembra che potrebbe non fornire ancora la funzionalità di cui ho bisogno.
Grazie a tutti in anticipo.
Aggiornamento: ho guardato in giro questo sito Web , la mailing list R e Internet in generale. Mi sembra che nella mia situazione possano emergere i seguenti problemi:
(1) La preelaborazione dei miei dati utilizzando R ( pacchetto tm in particolare) potrebbe non essere pratica , poiché tm
sarà proibitivamente lenta.
(2) Poiché avrò bisogno di usare un insieme di pacchetti R (pre-elaborazione, matrici sparse, classificatori ecc.) L'interoperabilità tra i pacchetti potrebbe diventare un problema e potrei incorrere in un ulteriore sovraccarico nel convertire i dati da un formato all'altro . Ad esempio, se tm
eseguo la pre-elaborazione utilizzando (o uno strumento esterno come WEKA), dovrò trovare un modo per convertire questi dati in un modulo leggibile dalle librerie HPC in R. E ancora una volta non mi è chiaro se i pacchetti di classificazione classifichino direttamente i dati forniti dalle librerie HPC.
Sono sulla buona strada? E, soprattutto, sto dando un senso?
foreach
libreria per scrivere il codice parallelo in R. Funziona particolarmente bene in combinazione con foreste casuali, che sono intrinsecamente facili da parallelizzare.