Académique Documents
Professionnel Documents
Culture Documents
io
Python
VS
R
ÍNDICE:
0… Introducción.
1… Contexto: ¿Qué es el Data Science?
2... ¿Para qué sirve el Data Science?
3... Hola, soy Python.
4... Hola, soy R.
5... R VS Python, ¡comienza la pelea!
6... ¿Cuándo y cómo usar Python?
7... ¿Cuándo y cómo usar R?
8... R - Ventajas y desventajas.
9... Python - Ventajas y desventajas.
10... Y el ganador de la pelea es...
0. Introducción
A día de hoy tanto Python como R son dos de los lenguajes más populares y con
mayor grado de utilización para el análisis de datos y su procesamiento a través de
diversas técnicas como minería de datos, business intelligence, machine learning.
Todas ellas son imprescindibles para interpretar el Big Data.
Si quieres saber más sobre Python, te recomiendo que te leas el eBook 15 + 2
motivos por el que Python debería ser tu primer lenguaje de programación para
conocer en profundidad todas las utilidades de este lenguaje tan completo y
versátil.
Pero antes de introducirnos en materia hay que establecer un contexto de dónde se
sitúan en la actualidad ambos sistemas: el Data Science. La cuestión es, ¿en qué
consiste esta disciplina? Es un campo interdisciplinario que aplica diferentes
campos como matemáticas, programación y estadística, que son aplicadas a
distintas áreas como la biología, física, economía, psicología, sociología, etc. La
intersección entre los 3 campos es lo que se conoce internacionalmente como
Data Science.
Por poner un ejemplo más claro de cómo funciona toda esta tecnología, hay una
empresa en Estados Unidos que es pionera es Big Data y Machine Learning y utiliza
el Data Science para mejorar la calidad del producto hacia sus clientes; esta
empresa es Netflix. Gracias este sistema permite detectar anomalías como el
fraude, clasificar información o hacer recomendaciones al cliente según sus
intereses estadísticos. Así como establecer patrones de conducta, valorar sus
productos, hacer segmentaciones de mercado (edad, sexo, nivel sociocultural) y
programar algoritmos para automatizar procesos que facilitan las labores cotidianas
de una gran empresa.
4. Hola, soy R
Ross Ihaka y Robert Gentleman crearon el lenguaje de código abierto R en el año
1995 como una implementación del lenguaje S. El objetivo era desarrollar un
lenguaje que se centrara en ofrecer una mejor y más fácil forma de hacer análisis
de datos, estadísticas y modelos gráficos. R se usaba principalmente dentro del
ámbito de la investigación, pero a medida que pasaron los años se fue ampliando
al mundo corporativo. Esto hace que R haya sido uno de los lenguajes estadísticos
de más rápido crecimiento en el mundo empresarial durante las últimas décadas.
Un factor clave del gran desarrollo de Data Science y el Machine Learning como
vehículo de negocio.
Una de las principales fortalezas de R es su enorme comunidad, la cual brinda
soporte a través de listas de correo y documentación aportada por los usuarios.
También existe CRAN, una enorme biblioteca de paquetes R almacenados por la
comunidad de desarrolladores para que los usuarios pueden utilizar de una manera
ágil, fácil y rápida. Estos paquetes son una colección de funciones R y datos que
facilitan el acceso inmediato a las últimas técnicas y funcionalidades sin necesidad
de desarrollar todo desde cero, similar a lo que se puede encontrar en WordPress
5. R vs Python, ¡comienza la pelea!
Navegando por Internet se pueden encontrar muchas cifras que comparan la
adopción y la popularidad de R y Python. Si bien estas cifras a menudo son un
buen indicativo de cómo estos dos lenguajes están evolucionando en el ecosistema
general de la programación, es difícil compararlos uno al lado del otro. La razón
principal de esto es que encontrarás R sólo en un entorno de Data Science,
mientras que Python, por otro lado, se usa ampliamente en una gran variedad de
campos. Esto puede afectar a los resultados de clasificación a favor de Python,
mientras que los salarios se ven afectados de manera algo negativa, debido
principalmente al alto grado de especialización en R y a la menor cantidad de
profesionales que dominan este lenguaje.
Por principio, se dice que R tiene mayor ventaja al ser usado para resolver tareas
profundamente matemáticas. En cambio, Python es más recomendable para
aquellas tareas que necesitan programación pura, ya que tiene una sintaxis más
rápida. A la hora escoger uno u otro, es mejor utilizar el lenguaje que te ayude a
terminar una tarea de la forma más rápida y óptima.
En las comunidades y foros sobre estadísticas se usa mayoritariamente R. Por lo
tanto, hay bastante documentación y soporte a la hora de trabajar con este tipo de
datos. Puedes encontrar muchas librerías que pueden realizar toda clase de
operaciones estadísticas y matemáticas muy avanzadas. La más popular de
todas ellas es CRAN.
R es muy fuerte para las tareas de análisis de datos, y en términos generales, es
mucho mejor para trabajar con Big Data. Se puede utilizar tanto como para
estudios académicos de investigación como en el ámbito empresarial con un buen
código de producción optimizado.
La sintaxis orientada a vectores facilita la implementación práctica de las
matemáticas, especialmente para personas que no dominan la programación. En
otras palabras, se hace muy fácil pasar vectores, matrices y funciones del papel al
código.
Si hablamos de Python, es un lenguaje de propósito más amplio y general. Es
muy útil a la hora de combinar operaciones matemáticas con otros tipos de
operaciones más del terreno de la programación. En el contexto del análisis de
datos, incorpora más capacidades a un software que trabaje con datos. Python
como lenguaje tiene mayor capacidad de integración con cualquier otra
tecnología y aplicaciones externas.
En Python tienes mayor libertad para definir formatos de salida, estructuras de
datos diferentes, etc. Este es sólo un ejemplo que tiene como ventaja. Si lo
analizamos de una manera sintáctica, Python es mucho más legible que R.
Otro aspecto positivo que tiene Python, son sus librerías para el uso de Machine
Learning de una forma variada y con bastantes funcionalidades. Es perfecto para
realizar y extraer información de las páginas web (scraping website), por lo que
sirve para realizar aplicaciones web como clientes de escritorio.
Cabe destacar que en términos de velocidad de procesamiento de información
ambos lenguajes pecan ligeramente de lentitud. A pesar de ello, la productividad
que se gana utilizándolos compensa enormemente esta falta de velocidad. Poder
implementar conceptos estadísticos complejos a código de forma sencilla es
algo muy útil para lograr una mayor eficiencia.
En este sentido, tanto R como Python van de la mano. A la hora de escoger,
muchos programadores o científicos de datos eligen R para realizar análisis de
datos y Python para el resto de tareas.
Cabe destacar que R tiene una lista de paquetes modelo para cualquier técnica
o fórmula estadística, por lo que a la hora de elegir un lenguaje, depende de cuán
complicada o específica sea la tarea que se quiere llevar a cabo. Para cosas más
generales, es preferible usar Python.
Si nos enfocamos en cómo es el manejo para datos estructurados, R es mucho
eficaz que Python, ya que este último lenguaje tiene una curva de aprendizaje más
elevada.
En cambio, si nos enfocamos en el manejo de data no estructurada (texto), Python
es muy superior que R. Permite generar todo tipo de analizadores léxicos (Parser)
para la manipular cualquier clase de cadena de caracteres.
Por hacer un primer resumen, Python es un lenguaje de programación general,
fácil de utilizar y con una curva de aprendizaje muy asequible. Está más enfocado
a producción, por lo que puede ser usado para crear productos comerciales. R,
por otro lado, es perfecto para el análisis estadístico y procesamiento de
información a nivel de investigación científica.
6. ¿Cuándo y cómo usar R?
R se usa principalmente cuando la tarea de análisis de datos requiere una
computación independiente o un análisis en servidores individuales. Es ideal para
trabajos de investigación de mercado, y es muy útil para casi cualquier tipo de
análisis de datos debido a la gran cantidad de paquetes y pruebas fácilmente
utilizables que a menudo le brindan las herramientas necesarias para comenzar a
funcionar rápidamente, ya que muchas de esas funciones ya están desarrolladas
por los usuarios, lo que ahorra enormemente el esfuerzo para obtener resultados
rápidamente. R puede incluso ser parte de una solución de Big Data.
Al comenzar con R, un buen primer paso sería instalar el software RStudio. Este
programa es un entorno de desarrollo integrado para el lenguaje de programación
R, dedicado a la computación estadística y gráficos. Una vez hecho esto, se puede
8. R - Ventajas y Desventajas
Ventajas:
1. Una imagen vale más que mil palabras. Los datos visualizados a menudo
se pueden entender de manera más eficiente y efectiva que los números
brutos solos. R y visualización son una combinación perfecta. Algunos
paquetes de visualización imperdibles son ggplot2, ggvis, googleVis y
rCharts.
2. Ecosistema. R tiene un rico ecosistema de paquetes de vanguardia y
comunidad activa. Los paquetes están disponibles en CRAN, BioConductor
y Github.
3. R lingua franca de la ciencia de datos. Puedes comunicar ideas y
conceptos a través del código R y los paquetes; no es necesario tener
conocimientos de programación para comenzar.
4. Es un software libre: Cuenta con la licencia GNU GPL el cual consta de 4
libertades:
○ Libertad 0: ejecutar el programa como desees y con cualquier
propósito.
○ Libertad 1: estudiar el funcionamiento del programa y adaptarlo a tus
necesidades.
○ Libertad 2: reescribir copias para ayudar a los demás miembros.
○ Libertad 3: manejar el programa y publicar mejoras en el código, de
manera que toda la comunidad se beneficie de ello.
5. Es multiplataforma. Funciona en Mac, Windows, y en numerosos sistemas
UNIX. Esto significa que cualquier persona puede trabajar con tus datos,
figuras, análisis y más importante aún, usar tus instrucciones para generar
las figuras y análisis. Así que cualquier usuario, y en cualquier lugar, con
acceso a cualquier sistema operativo puede usar R sin ningún tipo de
restricción.
6. Es de código abierto. Existe una gran comunidad de voluntarios trabajando
para mejorarlo, lo cual permite ser moldeado y dirigido a cuestiones
específicas. Creando así programas y paquetes que funcionen en el entorno
R. Programas tales como RStudio, Java GUI para R, R - commander y con
más de 6.000 paquetes indexados en CRAN, Bioconductor, GitHub y
R-Forge.
7. Plataforma estadística. Ofrece todas las técnicas de análisis de datos. Además
de programar nuevos métodos y rutinas estadísticas de una manera fácil y
sólida. También hay que destacar que los gráficos disponibles en R son de
gran calidad y muy versátiles.
Desventajas:
1. Es algo lento. Fue desarrollado para facilitar la vida de los estadísticos, no la
vida de su computadora. Aunque R puede experimentarse como lento debido a
un código mal escrito, existen múltiples paquetes para mejorar el rendimiento
de R: pqR, renjin y FastR, Riposte y muchos más.
2. Tiene una curva de aprendizaje elevada. La curva de aprendizaje de R no
es algo trivial, especialmente si se utiliza para su uso en el análisis estadístico.
Incluso encontrar paquetes puede consumir mucho tiempo si no está
familiarizado con él.
Ventajas:
1. IPython Notebook. Es un entorno de computación interactivo, en el que se
puede combinar la ejecución de código, texto, matemáticas y gráficos. Hace
que sea más fácil trabajar con Python y los datos. Puede compartir
fácilmente cuadernos con otros usuarios, sin tener que instalar nada. Esto
reduce drásticamente la sobrecarga de organizar archivos de código. Esto te
permitirá pasar más tiempo haciendo un trabajo real.
2. Lenguaje muy general. Python es un lenguaje que es fácil de usar y muy
intuitivo. Esto le da una curva de aprendizaje relativamente plana y aumenta
la velocidad a la que puede escribir un programa. Necesitas menos tiempo
para codificar y tienes más tiempo para jugar con él.
3. Lenguaje multiuso. Python reúne a personas con diferentes perfiles. Como
un lenguaje común, fácil de entender, conocido por los programadores y que
los estadísticos pueden aprender fácilmente, puede crear una herramienta
única que se integre con cada parte de su flujo de trabajo.
Desventajas:
1. Las visualizaciones. Son un criterio importante al elegir el software de
análisis de datos. Aunque Python tiene algunas bibliotecas de visualización
agradables, como son Seaborn, Bokeh y Pygal, es posible que sean
demasiadas opciones a la hora de elegir. Además, hay que tener en cuenta
que en comparación con R, las visualizaciones suelen ser más complejas y
los resultados no siempre son tan agradables a la vista.
2. Python desafía a R. No ofrece una alternativa a los cientos de paquetes
esenciales de R. Aunque se está actualizando contenido día a día, aún no está
claro si esto hará que la gente abandone R en busca de Python.
3. Análisis estadístico. Al ser una herramienta más amplia y genérica no es
tan útil y especializada como R a la hora de realizar análisis estadísticos.
¡Los dos! Como científico de datos tu labor es entender todas las características y
disciplinas posibles para poder abarcar un mayor grado de comprensión del Data
Science. Por este motivo es necesario tener conocimientos de los dos lenguajes,
aunque puedes especializarte más tarde en uno de ellos. Ambos tienen que
entenderse como bienes complementarios, no sustitutivos, por lo que lo ideal es
utilizar los dos de manera simultánea. Saltar de uno al otro es vital para lograr la
eficiencia y una productividad óptima. Buscando un símil más hogareño, Python es
como una sartén, ya que vale para cocinar cualquier alimento y es muy versátil. En
cambio R podría entenderse como una olla, un utensilio mucho más especializado
que complementa a la sartén para poder realizar mejores y más variadas recetas.
La esencia del asunto es saber cuándo utilizar alguno de los lenguajes, para qué
tareas son más precisas. En la actualidad, es muy difícil que estas dos
herramientas no se intercalen en algún momento.
Llegados a este punto, la gran pregunta muchas veces es «¿cómo comienzo mi
formación en estos dos lenguajes para convertirme en un profesional de Big
Data?».
Así pues, después de hablar con las empresas que más invierten en Big Data y
entender que las necesidades en Big Data & Machine Learning son muy amplias y
no hay dos compañías que necesiten las mismas características, decidimos crear
un Bootcamp único en su especie, un programa que tuviese una amplitud de
conocimientos capaz de tratar a fondo tanto Big Data como Machine Learning y
Analytics.
¿Por qué luchamos y nos esforzamos tanto por tratar de conseguir el mejor y más
completo programa? Por 2 motivos:
1. Creemos que para poder marcar la diferencia como un profesional
destacado, hay que tener una visión global técnica de todas las áreas,
así como conocimiento práctico que te permitan desarrollar tu trabajo
sin ningún impedimento.
2. Siempre guiamos a nuestros alumnos a través de todas las áreas del
conocimiento para que descubran en cuáles se desenvulven mejor,
cuáles le gustan más y en cuáles se sienten más cómodos. Que
dependiendo de las inquietudes y habilidades pueda inclinarse por una
salida u otra.
Porque el objetivo de todos nuestros Bootcamps es que el alumno encuentre un
trabajo que le llene, con el que sea feliz, y donde destaque. Porque nuestro éxito
depende del de nuestros KeepCoders. Por eso, además de contar con los temarios
más acordes a lo que la industria necesita y a lo que el futuro dicta y los profesores
e instructores más valiosos del panorama, nos volcamos con los alumnos poniendo
un equipo de personas a su disposición que le ayudarán y guiarán desde antes de
empezar, orientándolos para que empiecen el programa con garantías, hasta
después de finalizar, donde cuentan con apoyo y asesoramiento profesional,
ofertas de trabajo personalizadas y acceso a nuestra comunidad, eventos y nuestra
Bolsa de Talento.
Por ello, Python y R son las dos habilidades básicas que deberás dominar para
convertirte en un profesional cualificado en Big Data & Machine Learning. Nuestro
Bootcamp Big Data & Machine Learning ha sido diseñado en Silicon Valley y
contiene las herramientas, lenguajes, tecnologías y metodologías más punteras
para convertirte, no sólo en un gran profesional, sino en uno de los mejores
cualificados dentro de este área, tanto en España como fuera.