Ruta de aprendizaje: Python para Ciencia de Datos y Machine Learning

En este artículo veremos la ruta de aprendizaje en Python que sugiero para ir desde 0 hasta lograr resolver problemas de Ciencia de Datos y Machine Learning.

Al final del artículo encontrarás las instrucciones para descargar esta guía en formato PDF.

¡Así que listo, comencemos!

Video

Como siempre, en el canal de YouTube se encuentra el video de este post:

Introducción

El aprendizaje de la Ciencia de Datos y el Machine Learning requiere dos elementos igualmente importantes: la teoría y el componente práctico, y este último requiere precisamente aprender herramientas de programación.

Y en este último caso Python es sin duda alguna el lenguaje más usado en la actualidad. Así que en este artículo veremos lo que considero es la ruta de aprendizaje para ir desde 0 hasta lograr resolver problemas de Data Science y Machine Learning usando este lenguaje de programación.

Esta guía está dividida en tres partes. En las dos primeras hablaremos de qué es Python y de la importancia de aprenderlo si queremos trabajar en Ciencia de Datos y Machine Learning.

Y en la tercera parte veremos en detalle la ruta de aprendizaje, comenzando con los fundamentos de este lenguaje, para luego enfocarnos en las librerías esenciales y especializadas y cerrando con algunas librerías opcionales que dependerán del área en la que nos queramos enfocar.

Y como siempre, al final del artículo se encuentra el enlace de descarga de esta guía.

¿Qué es Python?

De acuerdo con el sitio web oficial “Python es un lenguaje de programación interpretado, orientado a objetos, de alto nivel , que usa semántica dinámica y de propósito general”.

Interpretado significa que el código es “traducido” al lenguaje de máquina (es decir instrucciones en formato de unos y ceros) por un “intérprete”, para que el computador pueda ejecutar dicho código.

Orientado a objetos significa que todas las variables que definamos en nuestro programa serán representadas por entidades que se llaman objetos, con unos métodos y unos atributos.

Alto nivel significa que el código que escribimos no será en lenguaje de máquina sino que por el contrario será muy intuitivo y fácil de entender por parte de nosotros los humanos.

Semántica dinámica quiere decir que al momento de crear una variable, automáticamente Python determinará qué tipo de dato contiene y asignará el espacio en memoria requerido.

Y finalmente, de propósito general, quiere decir que podemos usar Python para resolver diversos problemas, con diferentes campos de aplicación, incluidos la Ciencia de Datos y el Machine Learning.

¿Por qué es importante aprender Python?

Muy bien, ya sabemos qué es Python. Pero, ¿porqué es importante aprenderlo si queremos trabajar en Data Science y Machine Learning?

Pues la razón más importante es porque en la actualidad es el lenguaje de programación más usado en estas áreas, y desde luego es una habilidad muy valorada tanto en la academia como por los empleadores.

Y este uso extendido se debe por una parte a que es de código abierto, es decir totalmente gratuito, y a que es muy versátil, pues sobre la instalación básica podemos montar librerías que nos permiten abordar prácticamente cualquier problema de Ciencia de Datos o Machine Learning.

Además, detrás de estas librerías, existe una inmensa comunidad online de desarrolladores que resulta importantísima en nuestro proceso de aprendizaje, independientemente de nuestro nivel de experticia.

Pero por otra parte este uso extendido también se debe a que, comparado con otros lenguajes de programación, en Python el código es muy intuitivo y fácil de entender, y además podemos implementar programas de forma procedimental o funcional o usando la programación orientada a objetos.

Ruta de aprendizaje

Ahora sí, teniendo claro lo que es Python y su importancia en la Ciencia de Datos y el Machine Learning, veamos en detalle la ruta de aprendizaje.

Y comenzamos con una sugerencia importantísima: para aprender a programar debemos poner en práctica las diferentes herramientas que aprendamos en el camino.

Así que lo ideal es acompañar cada fase de aprendizaje con el desarrollo de al menos un proyecto aplicado en donde intenten resolver un problema real.

Fundamentos de Python

Para quienes hasta ahora comienzan a programar sugiero aprender los fundamentos de la programación básica en Python.

Así, en el nivel básico de Python la idea es aprender las formas de ejecutar código, los diferentes entornos de desarrollo, los tipos de datos esenciales, las variables y expresiones, a realizar comparaciones y a usar condicionales, así como las sentencias de control básicas y las funciones

En el nivel intermedio de Python la idea es aprender qué es y cómo usar los elementos básicos de la librería estándar de Python, junto con tipos de datos avanzados, el procesamiento avanzado de strings y el uso de expresiones regulares.

Y en el nivel avanzado sugiero un enfoque en tres áreas básicas: la lectura y almacenamiento de diferentes tipos de datos; el manejo de excepciones (es decir los diferentes tipos de errores que pueden aparecer durante la ejecución de nuestros programas) y la programación orientada a objetos.

Python: librerías básicas

Y en este punto ya tenemos las herramientas fundamentales de la programación en Python, así que el siguiente paso es enfocarnos en el aprendizaje de las librerías esenciales para la Ciencia de Datos y el Machine Learning.

Y acá tenemos tres librerías que generalmente serán las más usadas en los diferentes proyectos que desarrollemos. La primera es Pandas, que nos permite leer, almacenar y manipular datos estructurados, es decir en formato tabular (uno de los tipos de datos más usados en Data Science y Machine Learning).

La segunda es Numpy, pues muchos de los datos que usemos, tanto estructurados como no estructurados (como texto, imágenes, videos o voz, por ejemplo) son almacenados como arreglos de vectores o matrices, y Numpy es precisamente una librería especializada en la manipulación de este tipo de datos.

Y la tercera es Matplotlib, que nos permitirá realizar la visualización de datos, bien sea cuando estemos haciendo el análisis exploratorio o cuando estemos analizando los resultados de un modelo de Machine Learning que hayamos implementado.

Python: librerías especializadas

Y teniendo lo fundamental de Python y las librerías esenciales para Ciencia de Datos y Machine Learning, podemos ahora enfocarnos en aprender las principales librerías especializadas.

Por ejemplo si queremos trabajar en Machine Learning, les sugiero aprender a usar la librería Scikit-Learn, que implementa la mayor parte de los algoritmos clásicos.

Si estamos interesados en el Deep Learning entonces debemos aprender a usar librerías como Tensorflow, Keras y Pytorch, que nos permitirán implementar entre otras arquitecturas como las Redes Neuronales, las convolucionales, las recurrentes y las transformer.

Python: librerías opcionales

Y finalmente, dependiendo del campo en el que queramos trabajar, acá les sugiero algunas librerías opcionales en diferentes áreas de aplicación y que complementarán las habilidades que han aprendido hasta el momento.

Por ejemplo, si queremos extraer datos de un sitio web podemos aprender librerías como Beautiful soup, scrapy o selenium

Para desarrollar prototipos de aplicaciones web podemos aprender las librerías FastAPI, Flask o Streamlit, por ejemplo.

Si queremos desarrollar aplicaciones de visión artificial podemos realizar proyectos usando OpenCV combinado con Pytorch, Tensorflow o Keras

Y si nuestro interés es el procesamiento del lenguaje natural podemos aprender a usar los diferentes modelos disponibles en la librería HuggingFace.

Enlace de descarga de la guía

Suscríbete a la newsletter mensual de Codificando Bits y recibe el enlace de descarga de la guía en tu e-mail:

Conclusión

Muy bien, con esto tenemos una guía de lo que considero son los principales elementos a tener en cuenta en el análisis de series de tiempo, desde la captura de los datos, pasando por su pre-procesamiento y análisis exploratorio, hasta los tres diferentes enfoques usados en este análisis.