fbpx
Python Vs R: What's Best for Machine Learning | by Vikash Kumar | Towards  Data Science

Quien desee introducirse al mundo de la ciencia de datos no tiene otra alternativa que programar. Resulta imposible alcanzar determinados resultados o procesos tan complejos y específicos como los que puede demandar un proyecto de Data Science mediante aplicaciones previamente desarrolladas por algún proveedor. A su vez, esto se vuelve doblemente desafiante si se tiene que automatizar cierto proceso o dejarlo implementado dentro de un sistema preexistente.

Es por esto que los aspirantes a ciencia de datos suelen averiguar qué lenguajes son los más populares y convenientes a la hora de capacitarse, y generalmente se topan con dos: R y Python. En este artículo se discutirá brevemente sobre ambos lenguajes y cuáles son las ventajas que presentan. Además, se utilizará material de organizaciones que se dedican específicamente al uso y desarrollo de estas herramientas.

¿De qué hablamos cuando nos referimos a R y Python?

Como bien lo describe su página web, R es un lenguaje desarrollado para análisis matemático-estadístico. En 1995 evoluciona de su antecesor, el lenguaje de programación S, y comienza su expansión por el mundo académico, la cual hoy complementa con la ciencia de datos. Por otro lado, Python fue liberado al mundo en 1991, con el objetivo de ser un lenguaje de programación más orientado al desarrollo de software, con la características de ser muy ameno al entendimiento y de sintaxis simple.

¿Y cuál es el mejor para ciencia de datos?

A continuación, se presenta un cuadro en donde se detallan las diferencias entre cada lenguaje. Hay un consenso en la comunidad de que Python es un lenguaje más orientado el desarrollo y producción de soluciones, mientras que R tiene más sentido a nivel de análisis estadístico. Ambos tienen gran capacidad para manipular grandes datasets, y son sencillos de entender y aprender. Naturalmente, quienes usan más Python parecen ser los que están más vinculados con la tecnología, mientras que R tiene más impacto en sectores académicos e investigadores.

Python R
¿Para qué sirve? Es un lenguaje de programación genérico que se utiliza para ciencia de datos. Es un lenguaje ideal para estadísticos, académicos e investigadores.
¿Para qué es mejor? Desarrollo y producción Investigación, estadística y análisis
Manejo de datasets Maneja enorme datasets con facilidad Maneja enorme datasets con facilidad
Usuarios principales Programadores y desarrolladores Académicos e investigadores
Rasgo positivo Fácil para entender Fácil para aprender
Tamaño de la comunidad Extremadamente buena Buena
Popularidad Es popular entre diversos lenguajes de programación Suele ser usado por nichos o grupos específicos

Fuente: Analytics Vidhya y CPE

También utilizan herramientas diferentes para sus aplicaciones. Quienes desarrollan en Python, suelen hacerlo en los IDE (Integrated Development Environment) Jupyter Notebook o Spyder, mientras que R tiene un IDE de referencia denominado R-Studio (que, por cierto, también permite utilizar Python). A su vez, estos lenguajes tienen ciertos paquetes o librerías de referencia. Por el lado de Python, es común escuchar a los científicos de datos hablar de Pandas para manipular datasets, Numpy para análisis estadísticos, Matplotlib para visualizaciones y el famoso Scikit-learn para todo lo referido a Machine Learning. Por el otro lado, en R los paquetes más famosos son: dplyr para manipulación de datos, ggplot2 para visualizaciones, y Shiny para el desarrollo de dashboards interactivos.

Si se sigue utilizando el análisis de Analytics Vidhya, se pueden encontrar las especialidades de cada uno. Parecería que R tiene mayores credenciales en lo que refiere a la visualización de datos, manejo de series temporales, y una mayor simplicidad para realizar análisis estadísticos que a priori serían complejos. Por otra parte, Python es más conveniente para desarrollo de aplicaciones más robustas, en la medida que es un lenguaje de programación más amplio y no específico para ciencia de datos, junto con mayores facilidades para realizar procesamiento de lenguaje natural (NLP), y una mayor simplicidad para generar instancias colaborativas entre equipos de trabajo.

Python R
Ideal para implementaciones y lenguaje genérico que puede fácilmente incorporarse a otros sistemas El mejor lenguaje para la generación de gráficas y visualizaciones
Es mejor para los desarrollos orientados a objetos, claridad en el código, velocidad, y manejo de funciones Lenguaje ideal para el usuario, que maneja gran cantidad de paquetes para análisis de datos
Tiene las mejores funcionalidades para el NLP y Deep Learning Tiene las mejores funcionalidades para el análisis de líneas de tiempo
Tiene una gran colaboración entre personas de distintas disciplinas Tiene un gran ecosistema y una comunidad muy activa en la generación de paquetes
Trabajar en una notebook es una forma fácil de generar trabajo comunitario entre colegas Complejos análisis estadísticos pueden resolverse de forma sencilla mediante funciones

El CEO de Anaconda Inc., Peter Wang, compartió hace poco los resultados de un estudio que la empresa realizó sobre el estado del arte de la ciencia de datos. Entre estos resultados, se percibe a Python como el lenguaje que más suele utilizarse por los científicos de datos encuestados. Más allá de esto, es claro que dentro de la industria ambos lenguajes son fuertes y relevantes.

Imagen

Conclusión

Como muchas cosas dentro del rubro, la elección de qué herramienta utilizar depende de qué tipo de perfil se quiere construir o qué tipo de proyecto se va a realizar. Si uno apunta a desarrollarse dentro de la ciencia de datos más abocada a la investigación, análisis y visualización de datos, quizás lo mejor sea que decida capacitarse en R. Mientras que, si el perfil que uno espera construir es más vinculado al desarrollo de aplicaciones, análisis de Big Data y desarrollo de modelos de machine learning o deep learning, seguramente deba optar por especializarse en Python.

El hecho de que es un lenguaje de programación que permite vincular los resultados obtenidos a sistemas existentes, que las tendencias muestran que este lenguaje es más utilizado en el mercado laboral y que el tamaño de la comunidad permite interactuar en caso de encontrarnos con situaciones complejas llevó a que CPE haya elegido este lenguaje para su Diploma en Data Science.

Debe tomarse en cuenta que estas diferencias otorgan ligeras ventajas sobre uno u otro, mas no vuelve imposible realizar todas las tareas necesarias dentro de la ciencia de datos tan solo con una herramienta. La otra cuestión positiva es que, al ser ambos lenguajes de sencillo entendimiento y simple sintaxis, es posible aprender ambos o migrar de uno a otro en caso de necesidad. Eso dependerá ya de la disponibilidad y oportunidad que tenga cada aspirante a Data Scientist.

Daniel Blanc es un analista de datos con experiencia en proyectos de analytics y machine learning aplicado a negocios. Es analista de datos en el INE y ha colaborado en el desarrollo de modelos predictivos para la consultora BCS y en la elaboración de dashboards descriptivos como consultor independiente. Es docente de Python, R y Power BI en el Instituto CPE, en donde también se desempeña como gestor de proyectos. Fue docente de desarrollo web para Plan Ceibal.​

Si te interesa saber más sobre el Diploma en Data Science, completá el siguiente formulario.