Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=57a65123-6738-47ee-afeb-6e59bdc2af0e

Por qué estudiar el lenguaje R además de Python para Machine Learning y Ciencia de Datos

Imagen ornamental: el lenguaje R

A la hora de abordar el aprendizaje de una materia como Machine Learning, parte de la disciplina de Inteligencia Artificial, es muy habitual decantarse por un único lenguaje de programación. Para decidirse por uno de entre los muchos disponibles, se suelen utilizar criterios como sus funcionalidades básicas, su comodidad, su popularidad y nuestra propia experiencia previa.

Y el lenguaje que ha triunfado en la disciplina es sin duda Python. Al fin y al cabo, es un lenguaje sencillo, fácil de aprender y utilizar, con mucha funcionalidad y, sobre todo, extremadamente popular. Es por ello que la mayoría de las formaciones existentes sobre la materia se centran en este lenguaje en exclusiva.

En ocasiones, sin embargo, es interesante trabajar con dos lenguajes que se complementen bien, si cada uno nos facilita partes diferentes de las tareas que tenemos que acometer.

Cuando empezamos a diseñar el Máster de Machine Learning y Ciencia de Datos con Python y R de campusMVP, decidimos incluir tanto Python como R, para que el alumnado pueda aprender ambos, conozca sus similitudes y diferencias y adquiera la intuición de cuándo resultará más conveniente usar uno u otro. Conocer ambos proporciona una gran ventaja de productividad y capacidades sobre otras personas que solo conozcan uno de ellos.

Es cierto que ambos lenguajes pueden usarse para cualquiera de las tareas que se van a llevar a cabo, pero habrá muchas ocasiones en las que R te lo pondrá mucho más fácil, ya que se diseñó específicamente para el tratamiento de datos:

  • R incluye gran parte de las funciones básicas para trabajar con datos sin necesidad de instalar ni cargar bibliotecas.
  • Muchas funciones en R son capaces de procesar directamente vectores y matrices sin necesidad de aplicar bucles para iterar a través de los datos.
  • Los motores de generación de gráficos en R son potentes y muy simples de usar.
  • Al haber sido diseñado pensando en personas no programadoras, es muy fácil de aprender y permite completar tareas complejas con unas pocas órdenes, generalmente librándonos de lógica compleja.

Toda esta simplicidad de R para pequeñas tareas de tratamiento de datos se ve reflejada en la siguiente figura, en la que se carga una serie temporal de datos de índices bursátiles europeos, se obtienen estadísticos básicos, se dibuja uno de ellos y se ajusta una curva de regresión:

Ejemplo de carga y visualización de serie temporal en R

Nota: aunque son bastante intuitivas, no te preocupes por entender lo que hacen estas instrucciones. El objetivo es solo ofrecerte una comparación con Python para este tipo de tareas.

Realizar la misma tarea en Python requeriría el uso de varias bibliotecas que hay que instalar previamente, y bastante más código, como puedes observar:

Ejemplo de carga y visualización de serie temporal en Python

Además, R no solo es el lenguaje más indicado para ciertas tareas con datos, sino que también es un estándar en la industria junto al propio Python. Sin ir más lejos, Microsoft ha acogido a R como un lenguaje de primera clase para la ciencia de datos, y distribuye su propia versión del intérprete con algunas mejoras de rendimiento, así como herramientas de integración de Azure en R.

En cuanto a su popularidad, se trata de un lenguaje cuyo intérprete oficial es de código abierto y que, como se utiliza tanto en el ámbito científico como en el de la industria, ha generado una comunidad muy activa. Desde la comunidad, continuamente se publican gran cantidad de ejemplos de uso y estudios que puedes utilizar para aprender e inspirarte. Asimismo, el repositorio de paquetes oficial, el CRAN, tiene unas normas muy estrictas para permitir la publicación de nuevos paquetes, lo cual nos asegura que las bibliotecas que utilizaremos serán de calidad y no nos encontraremos con muchos fallos.

Precisamente la existencia de CRAN es otra de las razones que, en ocasiones, nos hará decantarnos por R en lugar de Python u otros lenguajes de tratamiento de datos. CRAN aloja aproximadamente 20.000 paquetes R preparados para su uso. Cada paquete facilita algoritmos, herramientas y utilidades para resolver un problema determinado o satisfacer una cierta necesidad. Por ejemplo, si tuviésemos que analizar datos de un acelerómetro (sensor muy habitual en dispositivos como móviles, pulseras de actividad, etc.), en Python deberíamos hacer todo el trabajo partiendo de cero, mientras que en R bastaría con instalar el paquete acc e invocar a sus funciones. Esta es una situación, de las miles posibles, en la que un paquete de CRAN nos ahorraría un trabajo considerable, justificando el esfuerzo de aprender R.

Conclusión

Aunque el líder indiscutible entre los lenguajes de programación para Inteligencia Artificial es Python, existen otras opciones interesantes que lo complementan y lo superan en muchas cuestiones. El más interesante de ellos es sin duda el lenguaje R.

Si bien es indudable que es necesario conocer Python, conocer también R como complemento de este proporciona una gran ventaja de productividad y capacidades sobre otras personas que solo conozcan Python. En especial a la hora de hacer análisis exploratorio y acceder a la información, donde R destaca por su sencillez y capacidades, ya que es un lenguaje diseñado especialmente para ello.

Si ya sabes Python para IA/ML seguramente no te compense ponerte a aprender R. Pero si vas a empezar de cero y puedes aprender ambos en paralelo, obtendrás grandes beneficios frente a otras personas que se dediquen a esta disciplina y solo conozcan Python.

Fecha de publicación:
David Charte David Charte es ingeniero informático y matemático, con un doctorado en Ciencia de Datos. Es un apasionado del conocimiento y la divulgación. Tiene amplia experiencia en el desarrollo de aplicaciones utilizando diversos lenguajes y plataformas. En la actualidad trabaja en Idoven, una empresa que usa Inteligencia Artificial para detectar enfermedades cardiovasculares. Ver todos los posts de David Charte

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.