2010-06-26 25 views
10

Sto iniziando alcuni studi sull'apprendimento automatico e sembra che questi due siano spesso usati in questo campo. Sembrano molto simili, quindi come deciderebbe quale sia il migliore da usare?Quali sono i vantaggi/svantaggi tra R e MATLAB rispetto al Machine Learning?

+0

Strettamente correlato: http://stackoverflow.com/questions/1738087/what-can-matlab-do-that-r- non poter fare. Potresti voler mettere "machine learning" nel titolo della domanda? – Shane

+0

Fatto, grazie per il suggerimento. Vedrò quella domanda .. – hungry

risposta

1

Ci sono molte discussioni che è meglio, ma in caso di ML la risposta è semplice: R è un linguaggio che è stato progettato per tali compiti; inoltre c'è più e meglio documentato software ML per R.

+4

La documentazione di MATLAB è eccellente e molto accessibile. – Amro

+1

@Amro: parla in particolare di ML, non della documentazione in generale – nico

+0

. Voglio dire, MATLAB ha alcuni toolbox ML che sono documentati, ma la maggior parte dei metodi utili sono assenti o implementati come script nudi creati dall'utente. Anche in caso di toolbox ho sempre l'impressione che siano "GUIsh"; Voglio dire che eseguono qualche metodo, tracciano grafici piacevoli e forniscono risultati che sono formattati in modo casuale e difficili da riutilizzare. R è molto più flessibile a riguardo. – mbq

5

"Il che è meglio" - le domande di solito dipendono in larga misura dal contesto. Questa non è un'eccezione.

Cosa vuoi essere in grado di ottenere con l'apprendimento automatico? Se vuoi impararlo solo per comprendere l'apprendimento automatico, è meglio scegliere la lingua in cui puoi ottenere il massimo supporto dal tuo ambiente immediato. I tuoi amici conoscono R dentro e fuori? Scegli R. In ogni caso, entrambe le lingue consentono una sperimentazione abbastanza facile con l'apprendimento automatico per essere in grado di ottenere l'idea generale.

Se si vuole iniziare l'apprendimento automatico per fare qualcosa di più specifico, ci saranno delle differenze. Il tuo compito di apprendimento automatico coinvolge le immagini? Vai con Matlab, perché potresti voler usare anche l'elaborazione delle immagini. Vuoi approfondire la teoria dell'apprendimento automatico e utilizzare metodi statistici elaborati per il tuo nuovo algoritmo? Scegli R, se vuoi usare la loro ricchezza di funzioni, o scegli Matlab se il suo ambiente di programmazione ti si adatta meglio.

+5

Inoltre, non dimenticare che l'alto prezzo di licenza per Matlab a volte è uno dei punti da prendere in considerazione – nico

+0

@nico: Nella mia esperienza, Matlab è solitamente "gratuito" "pure, cioè qualcun altro paga per questo. Ovviamente, se il prezzo gioca un ruolo, R vince. – Jonas

+3

@Jonas: ancora, qualcuno deve pagare! :) Il laboratorio dove lavoro ho speso 8000 euro per Matlab/varie licenze per toolkit + qualcosa come 800 euro l'anno per rinnovarli. Non è una spesa enorme nel complesso, ma ancora, niente batte gratis: D: D: D – nico

8

Direi anche che R è migliore per una serie di motivi. Dico questo avendo usato Matlab per un certo numero di anni e passando a R e vorrei aver imparato R in primo luogo. C'è il blog Abandon Matlab che elenca una serie di motivi per cui lavorare con Matlab a volte è molto fastidioso. Ecco un là punti principali per cui R è più produttivo per me:

  • funzioni di MATLAB sono chiamati con la sintassi in maniera non omogenea e (all'interno) cassette. per esempio. se voglio cambiare il mio classificatore in un modello in R di solito devo solo cambiare il nome della funzione e mantenere intatti la chiamata e i dati. In Matlab questo di solito comporta la riformattazione dei dati e una chiamata di funzione completamente diversa che devo cercare dai documenti.

  • R ha strutture dati migliori Penso che l'unico costrutto utilizzabile in Matlab sia l'array di base e che funzioni con qualsiasi altra cosa che le variabili numeriche sia scomodo, inoltre non è possibile chiamare le colonne per nome, ma è necessario utilizzare il indice della variabile (hmm, era colonna 33 o 34, che volevo tracciare ...). Non puoi battere il data.frame in R!

  • R ha un sacco di pacchetti utili per ML

  • Matlab non ha nominato argomenti alle funzioni

Infine, se si lavora molto con le matrici e trovare la sintassi più bello Matlab quindi controllare Python con Numpy e Scipy. Python ha anche alcune belle librerie ML come PyBrain. Non ho intenzione di confrontare R e Python qui, perché questa è una domanda completamente diversa :)

+0

'Dico questo avendo usato Matlab per un certo numero di anni e passando a R e vorrei aver imparato R in primo luogo. ... +1 – sjas

Problemi correlati