Que lenguaje debería aprender para ser científico de datos

aprender R y Python

¿Debería aprender R o Python o ambos lenguajes en simultaneo?

Esta es una de las cosas que se pregunta la gente que considera el desafío de comenzar a estudiar Data Science. ¿Debería aprender R o Python o ambos lenguajes en simultaneo? Estamos en un contexto en el cual el trabajo es creciente, y cada vez hay mas posiciones que se abren en el debate.

Hoy en día el trabajo se concentra fundamentalmente en grandes organizaciones dentro de las cuales buena parte del trabajo se hace con herramientas especificas. Sin embargo hay una tendencia creciente y que se volverá dominante a que las mayorías de las posiciones tenga lugar en empresas de pequeño y mediano tamaño.

Por lo tanto si nuestra vocación es por dar un salto en nuestra carrera quizás tengamos que mirar con mucho cariño que es lo que va a necesitar ese tipo de organizaciones.

Las organizaciones de gran tamaño les conviene utilizar herramientas pagas. No les molesta tener que invertir en los costos de licencia. Prefieren apostar a tener cosas uniformes y lo mas controlable posibles, prefieren pagar si hace falta el entrenamiento de los recursos no les preocupa, no es mucho dinero para ellos y de esa manera señala una barrera de entrada a sus competidores.

Comparación entre R y Python

Volviendo a nuestra pregunta inicial ¿debería aprender R o Python? con que nos encontramos:

R nació y se desarrolló pensando en un entorno académico y estadístico, tiene una gran cantidad de paquetes, prácticamente no hay tarea analítica que se nos pueda ocurrir hacer que no tenga ya un paquete armado. Además tanto R como todos sus paquetes son gratis y tienen detrás una comunidad de usuarios muy importante que resuelve dudas, consultas, problemas, y cuenta con un paquete en particular el “knitr” para hacer gráficos de altísima calidad.

Por otro lado en Python nos encontramos que ha sido una herramienta de desarrollo en general, para desarrollar cualquier cosa, consecuentemente el código que se genera dentro de Python es mucho mas robusto y su mantenimiento es mucho mas fácil.

Tiene menos librerías que R, si es cierto pero tiene pocas que son muy potentes, por lo cual podemos hacer cualquier cosa que queramos hacer dentro del mundo R. Como se trata de una herramienta de desarrollo general es particularmente bien vista por los que vienen de ser sus programadores y caminan hacia ser Científicos de datos.

Tabla de comparación entre R y Python

DatoRPython
ObjetivoAnalisis y estadisticaDespliegue y producción
Usuarios primariosAcademicos e I+DProgramadores y desarrolladores
FlexibilidadFacilidad para usar las librerias existentesFacilidad para construir nuevos modelos
Curva de AprendizajeEmpinada, saber mucho para lograr pocoMas lineal y suave
Popularidad entre programadoresCreció 4% en 2018crecio 22% en 2018
Salario promedio99.000 U$S x año100.000 U$S x año
IntegraciónCorre localmenteIntegrable en Apps
Tamaño de bases de datosCompatible con cualquier tamañoCompatible con cualquier tamaño
IDERStudioSpyder, Ipython, notebooks
Librerías importantestydiverse, ggplot2, caret, zoopandas, scipy, scikit-learn, TensorFlow, caret
DesventajasCurva de aprendizaje trabajosaNo tantas librerias como R
Dependencias entre librerias
VentajasGráficosFacilidades para la computación matematica
Gran catálogo de herramientas analíticasLegibilidad del código
Interface con GitHubfacilidad de despliegue
RMarkDownvelocidad
Shinny

¿Quiénes utilizan R y quienes utilizan Python en Ciencia de Datos?

En cuanto popularidad R es mas popular en el mundo académico y concentra la mayor parte del trabajo analítico. Python es mas popular entre desarrolladores, hay mas ofertas de trabajo para Ciencia de Datos con Python y es el que presenta mayor índice de crecimiento.

Si bien la mayoría de los cultores de ambas herramientas permanecen fieles, los que migran de R a Python son más de los que emigran de Python a R.

¿Realmente necesitamos elegir entre un lenguaje o el otro?

¿Debería iniciar con aprender R o Python o ambos lenguajes en simultaneo? Claramente es mas esfuerzo estudiar dos que estudiar uno solo, sin embargo es mucho menos que el doble del esfuerzo. Porque una parte muy importante de la Ciencia de Datos es entender que hace un algoritmo, para que se lo aplica, en que condiciones conviene usarlo, y eso es lo mismo de un lado y del otro.

Si sabemos de R y Python podemos hacer una elección frente a cada problema de cual es mas cómodo utilizar. Y la movilidad que vamos a tener como recurso, va a ser más amplia porque vamos a poder trabajar para una organización que tenga, use o haya usado uno o el otro. y cuando decimos organización decimos también cliente.

Hay importantes ventajas en encarar el estudio tanto de R y de Python. Puede aprenderse primero uno y después el otro, lo cual lleva a que uno se encuentre con que cuando aprende el segundo lenguaje se olvida de lo que aprendió primero.

En cambio si uno arranca el estudio de los dos en paralelo, ese problema no lo tiene y es como que cada cosa se va acomodando naturalmente en su lugar, sin que se le mezclen las sintaxis. Sobre todo porque tenemos que tener presente que el tipo de uso que hacemos del lenguaje en Ciencia de Datos, es un uso en el cual podemos probar sin problemas.

Nos conviene entonces considerar la posibilidad del aprendizaje en simultaneo de los dos lenguajes para también reforzar la sinergia de ver los conceptos una vez y sin repeticiones.

Aplica a nuestros certificados exclusivos en Data Science