Translate

Mostrando entradas con la etiqueta frameworks. Mostrar todas las entradas
Mostrando entradas con la etiqueta frameworks. Mostrar todas las entradas

martes, 13 de agosto de 2024

Python Polars mejorando el performance de pandas

Durante el último año cada vez más analista que trabajan con Big Data usan Polars frente a Panda para el análisis de datos.

Entre ambas librerías existe una gran diferencia que hace que sea posible que Polars tenga un performance mejor, frente a Pandas, la librería por excelencia.


Cómo está creado Polards frente a Pandas

Polars está escrita en un lenguaje a bajo nivel llamado Rust y además hace uso de forma más fácil del paralelismo en python. Esto provoca que consuma menos recursos.

Cómo usar esta libreria

Igual que usamos pd para importar la librería de pandas, para usar polars puedes usar lo siguiente:

import polars as pl

Para seleccionar columnas puedes usar select de la siguiente forma:

df.select(pl.all())

Y si quieres filtrar filas:
 
df.filter(pl.col("ref") == "c")


Si comparamos con pandas en cuanto a sintaxis puedes verla aquí que se similar pero necesitamos una chuleta ya que cambia. En comparación con pandas en más cercana al lenguaje natual, lo cual es de agradecer.

Eliminar filas con valores nulos:Pandas:
df.dropna()
Polars:
df.drop_nulls()


Visto todo esto para datasets grandes vale la pena medir el performance por si es tan grande la diferencia entre ambas librerias.


Más información


Y una comparación con pandas en cuanto a sintaxis :

jueves, 7 de enero de 2021

MLOps - Machine Learning + Operations, un framework agile para equipos de Data Science

 Conforme aumenta la madurez en datos en las empresas y el uso de Machine Learning se hace más común el uso de framework e intentar buscar standares para que la colaboración dentro de la empresa y el self'service de datos sea más rápido y ágil. Cualquier que haya trabajado en un equipo de Data o de Analytics, o incluso haya tenido que trbajar creando modelos con Data Scientifics (Científicos de datos) se habrá dado cuenta que Scrum u otros frameworks de desarrollo de software no funcionan tan bien como en un proyecto puramente de desarrollo. Muchas veces se crean cuellos de botella o se tienen que rehacer tareas continuamente y el equipo dependen continuamente de DevOps para las release de los modelos y bueno, un largo etcétera.

Las grandes tecnológicas parece que han estado trabajando en como unir Operations y Machine Learning y han creado un framework para unirlo. Ya el año pasado comentaba el caso de DataOps manifiesto. Sin embargo, aquí se va un paso más alla y se especifica que es para equipos de Machine Learning o Aprendizaje Automático, ya que estos requieren de releases para los modelos y da esa agilidad que encontramos en Devops a los equipos de Data.

La wikipedia tiene una definicion de MLOps esto que viene a decir que la unión de DevOps y Machine Learning.

Esto, es algo bastante novedoso así que todavía esta todo un poco en pañales pero parece que tiene un gran futuro. Así que es mejor que nos informemos de como podemos empezar a usar este framework gracias al cloud computing


Qué tiene en común DevOps y MLOps

Si pensamos en un equipo de Devops, debemos fijarme en las prácticas ágiles que siguen. 
Las dos tareas principales que ambos tienen en común son
- Integración continua (CI)
- Entrega continua (CE)

Sin embargo, según el equipo de GCP que han creado una introdución a MLOps y las fases de maduración de las empresas o equipos, MLOps además  tienen otras fases que los distintgue de DevOps
- Entrenamiento Contínuo (CT)

Para saber más sobre MLOps es muy recomendable este artículo del equipo de GCP sobre las fases de maduración de MLOps

Para una introducción y saber como llevan esto las grandes empresas de tecnología, aquí puedes ver un video introductorio de Google sobre Best Practices



Y otro video de Microsoft de introducción de Machine Learning- Operations