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?
Respuesta
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.
La documentación de MATLAB me parece excelente y muy accesible – Amro
@Amro: Habla de ML en particular, no de documentación en general – nico
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
"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.
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
@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
@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
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 :)
'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
- 1. ¿Las referencias y punteros son iguales con respecto al polimorfismo?
- 2. ¿Cuáles son algunos buenos ejercicios de programación de aprendizaje automático?
- 3. ¿Cuáles son algunas aplicaciones de importancia económica del aprendizaje automático?
- 4. ¿Cuáles son las diferencias entre "=" y "<-" en R?
- 5. ¿Cuáles son las diferencias entre $ {} y # {}?
- 6. ¿Cuáles son las mayores diferencias entre fopen y curl?
- 7. ¿Cuáles son las desventajas de RPC con respecto al envío de mensajes?
- 8. ¿Cuáles son las distinciones entre alcance léxico y estático?
- 9. ¿Cuáles son las diferencias reales entre Zend Framework y Django?
- 10. ¿Cuáles son las diferencias y similitudes entre MVC y MVVM?
- 11. Django treebeard cuáles son las diferencias entre AL, NS, MP
- 12. ¿Cuáles son las diferencias entre XmlSerializer y BinaryFormatter?
- 13. ¿Cuáles son las buenas prácticas con respecto a las bibliotecas compartidas en Linux?
- 14. ¿Cuáles son las principales diferencias entre JavaScript y ActionScript 3?
- 15. ¿Cuáles son las diferencias entre Vanilla Perl y Strawberry Perl?
- 16. ¿Cuáles son las diferencias entre LinFu.DynamicProxy y Castle.DynamicProxy?
- 17. ¿Cuáles son las diferencias entre Doctrine1 y Doctrine2?
- 18. cuáles son las diferencias entre PHP base64_encode y * nix base64
- 19. ¿Cuáles son las similitudes y diferencias esenciales entre Scala y Gosu (relacionadas con Java)?
- 20. ¿Cuáles son las principales diferencias entre EnhancedPatternLayout y PatternLayout?
- 21. ¿Cuáles son las diferencias entre los caracteres literales '\ n' y '\ r' en Java?
- 22. ¿Cuáles son las diferencias entre matrices y matrices numpy? ¿Cuál debería usar?
- 23. ¿Cuáles son las principales diferencias entre StringTemplate y FreeMarker?
- 24. ¿Cuáles son las principales diferencias entre Sinatra y Ramaze?
- 25. ¿Cuáles son las diferencias entre touchmove y gesturechange?
- 26. bibliotecas de aprendizaje automático en s + (o R)?
- 27. ¿Cuáles son las relaciones actuales entre Eclipse, Aptana y PyDev?
- 28. ¿Cuáles son las diferencias entre MOQ y AutoFixture?
- 29. ¿Cuáles son las principales diferencias entre Meteor, Ember.js y Backbone.js?
- 30. ¿Cuáles son las diferencias entre TFS, SVN y GIT?
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
Hecho, gracias por la sugerencia. Voy a ver esa pregunta ... – hungry