2010-06-26 23 views
10

Estoy empezando algunos estudios sobre el aprendizaje automático y parece que estos dos se usan a menudo en este campo. Parecen muy similares, entonces, ¿cómo decidiríamos cuál es el mejor para usar?¿Cuáles son las ventajas/desventajas entre R y MATLAB con respecto al aprendizaje automático?

+0

Muy relacionado: http://stackoverflow.com/questions/1738087/what-can-matlab-do-that-r- no puedo hacer. ¿Le gustaría poner "aprendizaje automático" en el título de la pregunta? – Shane

+0

Hecho, gracias por la sugerencia. Voy a ver esa pregunta ... – hungry

Respuesta

1

Hay muchas discusiones que es mejor, pero en el caso de ML la respuesta es simple: R es un lenguaje que fue diseñado para tales tareas; también hay más y mejor software ML documentado para R.

+4

La documentación de MATLAB me parece excelente y muy accesible – Amro

+1

@Amro: Habla de ML en particular, no de documentación en general – nico

+0

Correcto. Me refiero a que MATLAB tiene algunas cajas de herramientas ML que están documentadas, pero la mayoría de los métodos útiles están ausentes o implementados como scripts desnudos creados por el usuario. Incluso en el caso de las cajas de herramientas, siempre tengo la impresión de que son "GUIsh"; Quiero decir que realizan algún método, trazan buenos gráficos y proporcionan resultados que están formateados aleatoriamente y son difíciles de reutilizar. R es mucho más flexible con respecto a esto. – mbq

5

"Lo que es mejor", las preguntas generalmente dependen en gran medida del contexto. Esta no es una excepción

¿Qué quiere lograr con el aprendizaje automático? Si desea aprenderlo solo para comprender el aprendizaje automático, entonces es mejor elegir el idioma en el que pueda obtener la mayor ayuda de su entorno inmediato. Tus amigos saben de R dentro? Elija R. De todos modos, ambos idiomas permiten una experimentación fácil con el aprendizaje automático para que pueda obtener la idea general.

Si desea ingresar al aprendizaje automático para hacer algo más específico, habrá diferencias. ¿Su tarea de aprendizaje automático implica imágenes? Vaya con Matlab, porque es posible que desee utilizar el procesamiento de imágenes también. ¿Desea profundizar en la teoría detrás del aprendizaje automático y utilizar métodos estadísticos sofisticados para su nuevo algoritmo? Elija R, si desea usar su gran cantidad de funciones, o elija Matlab si su entorno de programación le conviene más.

+5

Además, no olvide que el alto precio de la licencia de Matlab es a veces uno de los puntos a tener en cuenta – nico

+0

@nico: en mi experiencia, Matlab suele ser "gratuito" "también, es decir, alguien más paga por ello. Por supuesto, si el precio juega un papel, R gana. – Jonas

+3

@Jonas: ¡aún así, alguien tiene que pagar! :) El laboratorio donde trabajé gastó 8000 euros para Matlab/varias licencias de kits de herramientas + algo así como 800 euros/año para renovarlos. No es un gran gasto en general, pero aún así, nada es mejor que nada: D: D: D – nico

8

También diría que R es mejor por varias razones. Digo esto después de haber usado Matlab durante varios años y haber cambiado a R y ojalá hubiera aprendido R en primer lugar. Hay un blog Abandon Matlab que enumera una serie de razones por las cuales trabajar con Matlab a veces es muy molesto. Aquí hay unos puntos principales por qué R es más productivo para mí:

  • funciones de Matlab se denominan con la sintaxis y la inconsistentes en (dentro de) las cajas de herramientas. p.ej. si quiero cambiar mi clasificador en un modelo en R, generalmente solo necesito cambiar el nombre de la función y mantener la llamada y los datos intactos. En Matlab esto generalmente implica volver a formatear los datos y una llamada de función totalmente diferente que tengo que buscar desde los documentos.

  • R tiene mejores estructuras de datos Creo que la única construcción viable en Matlab es la matriz básica y trabajar con cualquier cosa que no sean variables numéricas es incómodo, además no puede llamar a las columnas por su nombre, pero tiene que usar índice de la variable (hmm, fue la columna 33 o 34, que quería trazar ...). ¡No se puede superar el marco de datos en R!

  • R tiene una gran cantidad de paquetes de útiles para ML

  • Matlab no ha nombrado a los argumentos de las funciones

Por último, si usted trabaja mucho con matrices y encontrar el mejor sintaxis de Matlab y luego salir Python con Numpy y Scipy. Python también tiene algunas buenas bibliotecas ML como PyBrain. No voy a comparar R y Python aquí, porque esa es una pregunta completamente diferente :)

+0

'Digo esto después de haber usado Matlab durante un número de años y haber cambiado a R y ojalá hubiera aprendido R en primer lugar. ... ... +1 – sjas

Cuestiones relacionadas