Attualmente sto sperimentando un'attività ML che prevede l'addestramento supervisionato di un modello di classificazione. Ad oggi, ho esempi di training ~ 5M e esempi ~ 5M per la convalida incrociata. Ogni esempio ha, al momento, 46 funzionalità, tuttavia potrei volerne generare altre 10 nel prossimo futuro, quindi qualsiasi soluzione dovrebbe lasciare margini di miglioramento.Attività di apprendimento automatico: quale strumento utilizzare?
Il mio problema è il seguente: quale strumento devo utilizzare per affrontare questo problema? Mi piacerebbe usare foreste casuali o SVM, tuttavia temo che quest'ultimo potrebbe essere troppo lento nel mio caso. Ho preso in considerazione Mahout, ma ho voltato le spalle in quanto sembra richiedere una certa quantità di configurazione unita a problemi con gli script da riga di comando. Preferirei codice direttamente contro una libreria (ben documentata!) O definire il mio modello con una GUI.
Devo anche specificare che sto cercando qualcosa che gira su Windows (senza cose come cygwin), e che le soluzioni che giocano bene con .NET sono molto apprezzate.
Si può immaginare che, quando il tempo sarà, vieni, il codice verrà eseguito su un Cluster Compute Eight Extra Large Instance su Amazon EC2, quindi tutto ciò che fa largo uso di RAM e CPU multi-core è il benvenuto.
Ultimo ma non meno importante, deve specificare che il mio insieme di dati è denso (in quanto non v'è alcun valore mancante/tutte le colonne hanno un valore per ogni vettore)
Ci sono una miriade di strumenti disponibili (per cominciare, consultare l'elenco dei software su KDnuggets: http://www.kdnuggets.com/software/index.html). Anche se la descrizione del problema ne elimina alcuni, c'è ancora un numero che potrebbe essere sufficiente. Non sono sicuro di cosa intenda esattamente "giocare bene con .NET", ma qualsiasi strumento utile dovrebbe fornire un rapporto o un codice sorgente del modello che possa essere facilmente tradotto in codice .NET. – Predictor
Grazie per il collegamento, lo verificherò non appena ho scritto questo. Per quanto riguarda il fatto di giocare bene con .NET, significa che qualcosa che ha un'interfaccia programmabile per iniziare il lavoro o anche una libreria .NET (o un wrapper utilizzabile) è preferibile a qualcosa che non lo è. – em70