¿Qué tan útil es Matlab, para Kaggle, en comparación con R y Python?

Vemos Python o R como herramientas clave para la mayoría de las metodologías ganadoras de la competencia, mientras que casi nunca vemos soluciones ganadoras basadas en MATLAB. Estoy copiando una publicación en el foro (¿Qué herramientas usan generalmente las personas para resolver problemas?).

Pitón

  • Pila de computación científica muy fragmentada pero integral
  • Pandas, scikit.learn, numpy, scipy, ipython y matplotlib son mis bibliotecas de informática científica más utilizadas
  • El cuaderno de IPython es una buena herramienta interactiva de análisis de datos
  • Todos los beneficios de un lenguaje de programación de propósito general.
  • Desafortunadamente lento si no caes en C
  • Parte de la pila de computación científica todavía está atascada en Python 2.7
  • Muy bueno para problemas que no vienen como una matriz de características simple, entre herramientas como pandas y nltk
  • Increíble ecosistema de código abierto

R

  • Como regla general, si se considera interesante para los estadísticos, se ha implementado en R
  • Bibliotecas de alta calidad con un buen enfoque en pruebas unitarias.
  • Buena herramienta interactiva de análisis de datos a través de cosas como RStudio
  • El lenguaje en su conjunto es lento y requiere mucha memoria
  • El lenguaje en sí mismo me da ganas de sacarme los ojos
  • El proceso para contribuir con las bibliotecas es innecesariamente manual y generalmente es un fastidio

Julia

  • Este es uno de mis nuevos idiomas favoritos.
  • Como nuevo lenguaje, no tiene mucho que ofrecer en cuanto a bibliotecas extensas
  • Intenta combinar la flexibilidad y la concisión de los lenguajes dinámicos de alto nivel como MATLAB y Python con la velocidad de los lenguajes de tipo estático de bajo nivel como C
  • La sintaxis es muy familiar para los usuarios de MATLAB
  • A diferencia de MATLAB, los bucles son eficientes, por lo que las operaciones no necesitan ser vectorizadas donde no deberían estar
  • El sistema de tipos es muy útil.

MATLAB / Octave

  • Inestimable para el procesamiento de señales
  • Lenguaje más simple y conciso para todo lo relacionado con operaciones matriciales.
  • Funciona muy bien para cualquier cosa que simplemente se representa como una matriz de características numéricas
  • Gran dolor para usar para cualquier cosa que no se represente simplemente como una matriz de características numéricas
  • Falta de un buen ecosistema de código abierto
  • Muy poca integración con los sistemas de producción.
  • Se recomienda encarecidamente contra MATLAB debido a su naturaleza cerrada, la falta de un buen ecosistema de código abierto y la escasa integración con la mayoría de los escenarios de implementación del mundo real

En mi opinión, Python tiene buenas bibliotecas de aprendizaje automático, R es amigable con las personas de estadísticas, Matlab es bueno en el cálculo de Matrix. Pero dudo si las bibliotecas de aprendizaje automático en Matlab son lo suficientemente eficientes, en mi experiencia.

Depende de la tarea y el conocimiento personal y los antecedentes: estoy usando MATLAB durante aproximadamente 10 años esencialmente para problemas de ingeniería, es una buena alternativa t. FORTRAN tiene una biblioteca matemática grande y poderosa. Con MATLAB, usted se enfoca en la formulación y metodología de su problema, hace el resto, no necesita saber mucho sobre la multiplicación de matrices o los solucionadores dispersos, y el lenguaje en sí mismo es fácil de aprender y muy estilístico. El inconveniente es el precio.

R puede ser una alternativa, pero por ahora no ofrece todas las posibilidades que tiene MATLAB. Y odio Python, prefiero los viejos C \ C ++ con los paquetes correctos, incluso puedes superar a MATLAB.

Si está haciendo algo más que simulaciones físicas o problemas de ingeniería, MATLAB no es para usted.

Realmente depende de la tarea. Los datos por debajo de 1 Gb probablemente estén bien en Matlab o R, datos más grandes que debe manejar en SAS, SQL o software distribuido.