MATLAB vs. R

Ventajas de MATLAB frente a R

Tanto MATLAB® como R se utilizan en data analytics y Machine Learning. Ambos productos ofrecen acceso a funciones matemáticas, lenguaje, estadísticas y una comunidad de usuarios. Sin embargo, MATLAB ayuda a ingenieros y científicos a trabajar más rápido con Machine Learning, ya que cuenta con apps interactivas que no requieren muchos conocimientos y con herramientas que automatizan los pasos largos y complicados del flujo de trabajo de Machine Learning.

Veamos algunas tareas que son más fáciles de realizar en MATLAB que en R:

  1. Ajuste de datos, identificación de patrones y creación de modelos de Machine Learning sin necesidad de escribir código

MATLAB proporciona apps para desarrollar modelos de Machine Learning sin necesidad de escribir código. Las apps Classification Learner y Regression Learner permiten explorar datos, entrenar modelos de clasificación y de regresión, ajustar hiperparámetros, y evaluar resultados. Además, con la app Distribution Fitter, puede ajustar muchas distribuciones de uso habitual a sus datos. Puede entrenar todos los modelos disponibles fácilmente y concentrarse en mejorar los modelos con los mejores resultados. También puede entrenar varios modelos con grandes conjuntos de datos en paralelo, en varios núcleos o en un cluster de proceso. Puede exportar el modelo y generar código para desplegarlo o integrarlo en otros sistemas.

  1. Obtención de modelos optimizados sin necesidad de un experto en Machine Learning

Para mejorar el rendimiento, los modelos deben pasar por varias iteraciones de ajuste de parámetros, optimización de características y selección de modelos.

Con AutoML, puede automatizar los largos y complicados pasos de extracción de características de señales, selección de modelos y optimización de hiperparámetros.

Con MATLAB, puede optimizar tanto el modelo como los hiperparámetros relacionados en un único paso aplicando la optimización bayesiana.

  1. Escalado de código previamente escrito a grandes conjuntos de datos

MATLAB dispone de muchas funciones y algoritmos de Machine Learning incorporados para gestionar grandes conjuntos de datos utilizando la misma sintaxis que los datos en memoria. Puede conectar con sistemas de almacenamiento de big data, incluidos Hadoop/HDFS, bases de datos NoSQL y proveedores de almacenamiento basados en la nube.

Aunque existen paquetes para escalar R a clusters Hadoop y Spark, su uso requiere aprender nuevas funciones que son diferentes de las versiones en memoria correspondientes.

MATLAB es una aplicación lista para usar, más rápida que R para tareas frecuentes de cálculo técnico, estadística y Machine Learning. Tal y como se describe en la evaluación comparativa de R 2.5 (también conocida como Urbanek), las llamadas a la librería de MATLAB están optimizadas y el código se compila en tiempo de ejecución. La mayoría de las funciones de un toolbox admiten el cálculo paralelo utilizando varios núcleos o incluso GPU para Deep Learning. También es posible acelerar la ejecución con un bucle for paralelo, escalar a clusters de proceso con MATLAB Parallel Server y utilizar recursos de cálculo bajo demanda proporcionados por proveedores de nube pública, tales como Amazon o Azure.

  1.  Despliegue en dispositivos edge y sistemas embebidos

El despliegue de aplicaciones en sistemas embebidos es desafiante dado que, a menudo, el código escrito en lenguajes de alto nivel, como R, se debe volver a implementar para ejecutarse en hardware embebido.

Genere automáticamente código C/C++, HDL, CUDA y de otro tipo para su uso en sistemas en tiempo real con MATLAB: MATLAB Coder convierte automáticamente el código de predicción para la mayoría de las funciones de Machine Learning y de estadística, en código C/C++ que se puede desplegar directamente en dispositivos embebidos y otros tipos de hardware especializado con restricciones de memoria estrictas. El código para realizar predicciones generadas por GPU Coder se ejecuta más rápidamente en hardware NVIDIA especializado que en los marcos de Deep Learning de uso habitual, como TensorFlow, y, de esa forma, se cumplen los requisitos de despliegue en tiempo real, como por ejemplo, para sistemas de procesamiento de vídeo y asistencia a la conducción.

Incorpore tareas de análisis para su uso en sistemas de TI, TO y empresariales (gratuito con las herramientas de MATLAB): puede compartir aplicaciones de MATLAB independientes o crear librerías compartidas para integrarlas en aplicaciones de Java, Microsoft .NET, Python y Excel. A diferencia de los servicios de despliegue basados en la nube que cobran por la transacción, el despliegue con MATLAB Compiler y MATLAB Coder es gratuito.

Con el tiempo que ahorramos generando código con Embedded Coder, pudimos experimentar con nuevas funcionalidades y completar más iteraciones en MATLAB, incorporando los comentarios de los clientes sobre los primeros prototipos.

Marc Blanch, IDNEO
  1. Acceso a todas las funciones y las prestaciones que necesite

Aparte de los algoritmos de aprendizaje de uso general, las aplicaciones de data analytics y Machine Learning requieren herramientas que resuelvan desafíos específicos del dominio, tales como modelado de datos de economía, procesamiento de señales o mecanismos de control de conducción de un robot. R depende de paquetes creados por la comunidad de usuarios para funcionalidades científicas; solo existen unos pocos paquetes para este tipo de desafíos de ingeniería.

Las toolboxes de MATLAB proporcionan acceso a sensores, dispositivos móviles y otros tipos de hardware, así como librerías de procesamiento de señales, procesamiento de imágenes, visión artificial, optimización, cálculo simbólico, sistemas de control, pruebas y medición, finanzas computacionales y biología. Las toolboxes están diseñadas para colaborar entre sí y se actualizan de forma conjunta, por lo que nunca tendrá versiones de librerías incompatibles. MathWorks cuenta con más de 250 ingenieros de control de calidad que trabajan a tiempo completo, validando la calidad y la precisión de los productos, sometiéndolos a conjuntos de pruebas exhaustivas antes de su publicación.

"Con MATLAB pudimos convertir datos previamente ilegibles en datos con un formato utilizable, automatizar el filtrado, el análisis del espectro y los pasos de transformación para varias regiones, así como aplicar técnicas de Machine Learning en tiempo real para predecir el momento ideal en que realizar el mantenimiento".

Gulshan Singh, Baker Hughes

Por qué ingenieros y científicos eligen MATLAB vs. R

Los ingenieros y los científicos aprecian las herramientas y las funciones bien diseñadas, bien documentadas y probadas exhaustivamente para sus aplicaciones. Por eso, millones de ingenieros y científicos de universidades y empresas de todo el mundo utilizan MATLAB.

Los investigadores con una formación sólida en estadística suelen preferir R. Sin embargo, aquellos que trabajan en aplicaciones industriales y de ingeniería de estadística y Machine Learning prefieren MATLAB. Algunas de las razones son:

  • Capacidad de crear modelos optimizados en apps interactivas sin escribir código
  • Automatización de los largos y complicados pasos de extracción de características, selección de modelos y optimización de hiperparámetros, tanto para datos numéricos como aplicaciones de señales e imágenes
  • Despliegue gratuito en hardware embebido y aplicaciones empresariales sin necesidad de volver a escribir código
  • Integración de los modelos con Simulink para aplicar pruebas en tiempo real y diseño basado en modelos al proceso general de desarrollo de aplicaciones

Además, si su entorno requiere el uso de R junto con MATLAB, puede intercambiar datos entre MATLAB y R utilizando formatos estándar, y llamar a las funciones de R desde MATLAB.

También puede consultar estos temas: machine learning with MATLAB, MATLAB plot gallery, data fitting with MATLAB, MATLAB vs. Python, Open Science