¿Cuáles son los pros y los contras comparativos de usar Python, MATLAB / Octave y R para el análisis de datos y el aprendizaje automático?

Pitón

Pros:

– Toneladas de código fuente abierto
– Grandes bibliotecas de análisis de datos (pandas [2], statsmodels [3])
– Grandes bibliotecas de visualización (matplotlib [4], ggplot [5])
– El código se puede integrar fácilmente en un servicio web escrito en Python (Flask [6], Django [7], Pyramid [8], etc.)

Contras:

– Todavía se está realizando una investigación académica avanzada y avanzada en R / Matlab

Matlab / Octave

Pros:

– MATLAB contiene muchas cajas de herramientas avanzadas [9] tales como procesamiento de señales, wavelet, etc. Encontrar funcionalidades análogas en otros idiomas es posible pero difícil
– Buena documentación
– Buena atención al cliente

Contras:
– Matlab es caro
– No hay tanto código fuente abierto disponible porque Matlab requiere una licencia
– No puede integrar su código en un servicio web

Nota: Debido a que estoy bastante seguro de que no puede utilizar las cajas de herramientas de MATLAB en Octave (¿verdad?), Creo que todos los profesionales que mencioné deben asumir que tiene una licencia de MATLAB

R

Pros:

– toneladas de código fuente abierto
– muchas bibliotecas de vanguardia comienzan en R a través de universidades

Contras:

– horrible sintaxis [1]
– no puede integrar su código en un servicio web

[1] R, el troll maestro de los lenguajes estadísticos
[2] Biblioteca de análisis de datos de Python
[3] StatsModels: Estadísticas en Python
[4] trazado de Python – documentación de Matplotlib 1.4.0
[5] yhat / ggplot
[6] Frasco (un microframe de Python)
[7] El marco web para perfeccionistas con plazos
[8] El marco web de la pirámide
[9] Productos y servicios

Vamos a enumerar algunos factores o elementos que son los diferenciadores clave entre las 3 herramientas para el análisis de datos y el aprendizaje automático. De esta manera, también obtendremos una idea justa de sus ventajas y desventajas en diversas condiciones.

1. Infraestructura

  • R: buen entorno de lenguaje de programación como RStudio RConsol
  • Octave / Matlab: interfaz de usuario nativa interactiva
  • Python: viene en una variedad de entornos: Spyder IDE, IPython Notebook [consola basada en navegador interactivo agradable] Python Shell

2. Paquetes

  • R: Si a los estadísticos les gusta un algoritmo, seguramente estará allí en R
  • Octave / Matlab: amplia colección de bibliotecas útiles
  • Python: Scikit Learn todavía está alcanzando a R en términos de paquetes

3. Amplias funcionalidades

  • R: Herramienta estadística de nicho. Se están introduciendo paquetes como Shiny para la integración de aplicaciones web
  • Octave / Matlab: herramienta de computación estadística y matemática de nicho
  • Python: tiene todos los aspectos de un lenguaje de programación de propósito general además de tener una sólida colección de herramientas científicas, estadísticas y matemáticas. Las aplicaciones creadas se pueden implementar muy fácilmente

4. Enhebrado

A menudo, una función debe ejecutarse en subprocesos paralelos para acelerar el cálculo

  • R: Difícil de implementar
  • Octave / Matlab: Difícil de implementar
  • Python: Muy fácil de implementar y los resultados son sorprendentes. En este escenario funciona 2-3 veces más rápido que cualquier otro lenguaje de programación

5. GRANDES capacidades de datos

  • R: El servidor R puede ampliarse, pero la infraestructura debe configurarse desde cero y la arquitectura debe entenderse
  • Octave / Matlab: más de una herramienta de creación de prototipos. El objetivo es construir modelos preliminares y soluciones no desplegables.
  • Python: increíbles capacidades de datos GRANDES. IPython independiente se puede ejecutar en paralelo en clústeres. Se integra a la perfección con la pila Hadoop

6. Recolección de datos

  • R: puede cargar una variedad de archivos y puede descargar directamente desde Internet
  • Octave / Matlab: puede cargar una variedad de archivos y puede descargarlos directamente de Internet. Se puede implementar el raspado web
  • Python: además de cargar varios tipos de archivos, los algoritmos de araña pueden implementarse sin esfuerzo para raspar y rastrear la web

7. Tipos de datos

  • R: admite todos los tipos de medios
  • Octave / Matlab: Líder de procesamiento de señales. Soporta todos los tipos de medios
  • Python: las mejores herramientas en términos de rendimiento y facilidad de uso para tipos multimedia: audio, video, gráficos, etc.

8. Benchmark de rendimiento –

Inicialice un vector 100000000 × 1 con 0s

  • R: xx <- rep(0, 100000000) system.time(xx[] <- 1),
  • 4.8 seconds
  • Octava / Matlab: xx = zeros(100000000)
    • 1.4 seconds
  • Python: import numpy as np, xx=np.zeros(100000000), %timeit xx[:] = 1
    • 535 ms

    También puede comunicarse con nosotros: Ivy Pro School (clasificada en primer lugar entre las escuelas de Big Data Analytics en el este de la India y entre las diez mejores en la India durante 2 años consecutivos) si desea analizar su carrera de análisis con nosotros.

    También puede leer más sobre Business Analytics y sus herramientas en nuestro blog.

    Equipo Ivy