Kedro: Un framework de Python para proyectos de ciencia de datos reproducibles

¿Alguna vez ha pasado sus datos a una lista de funciones y clases sin saber con certeza cómo es la salida?

Puede intentar guardar tus datos y luego verificarlos ante Jupyter Notebook para asegurarte de que el resultado sea el esperado. Este enfoque funciona, pero es engorroso.

def process_data(data):
  pass

def split_data(data):
  pass 

df = process_data(data)
df.to_csv('processed_data.csv')

X_train, X_test, y_train, y_test = split_data(data)

Otro problema común es que es difícil comprender las relaciones entre las funciones cuando se mira un script de Python que contiene tanto el código para crear como para ejecutar funciones.

def split(data):
  pass 

def train(X_train, y_train):
  pass

def predict(X_test, model):
  pass 

def report(predictions):
  pass

X_train, y_train, X_test = split(data)
model = train(X_train, y_train)
predictions = predict(X_test, model)
report(predictions)

Su código parece aún más complejo y difícil de seguir a medida que crece el proyecto.

¿Qué es Kedro?

Kedro

es un framework de Python de código abierto para crear código de ciencia de datos modular, mantenible y reproducible.

Tomando prestados los conceptos de las mejores prácticas de la ingeniería de software y aplicándolos al código de aprendizaje automático.

Kedro te permite:

  1. Crear una ciencia de datos a partir de una plantilla sencilla.
  2. Crear una canalización de ciencia de datos.
  3. Cortar una tubería.
  4. Modularizar una tubería.
  5. Configurar tus datos y parámetros a través de un archivo YAML.
  6. Analizar sin esfuerzo las salidas de los nodos en Jupyter Notebook.
  7. Visualizar la canalización.
  8. Crear la documentación para tu proyecto.

En este artículo, analizaré cada una de las características y explicaré cómo pueden ser útiles para los proyectos de ciencia de datos.

Para instalar Kedro, solamente tendrás que instalar:

pip install kedro

Si quieres saber como se crea un proyecto completo utilizando Kedro no dudes en consultar el siguiente artículo de Towards Data Science.

Artículos Relacionados

Relacionado

Lanzamiento del Framework de Python: Django 3.2

El equipo de Django anunció el lanzamiento de Django 3.2 hace un par de días, la nueva versión corresponde a una versión de soporte a largo plazo (LTS). Lo que significa que las correcciones de seguridad y pérdida de datos se aplicarán durante al menos los próximos tres años. Si lo deseas, ya puedes ojear todos los nuevos cambios, entre los que destacan: La simplificación de ¡SEGUIR LEYENDO!

Lanzan Flask 2.0, Jinja y más

El equipo de Pallets Proyects encargados de mantener un grupo de muy interesantes proyectos, entre ellos, interesantes proyectos para Python. Como son el framework de Python: Flask. Conjunto a sus proyectos adjuntos: Jinja, Click, Werzeug, ItsDangerous y MarkupSafe. Flask: Framework de desarrollo web para Python. Jinja: Es un motor de creación de plantillas para Python. Click: Un paquete de Python para la creación de interfaz de ¡SEGUIR LEYENDO!

Lanzado Django 4.0 Alpha 1

Django 4.0 Alpha 1 ya está disponible. El lanzamiento representa la primera etapa en el ciclo de lanzamiento 4.0 y es una oportunidad para que se prueben los cambios que van a introducirse en Django 4.0. Django 4.0 tiene una gran cantidad de características nuevas sobre las que puede leer en las notas de la versión 4.0 en desarrollo. El cronograma de lanzamiento actual exige un ¡SEGUIR LEYENDO!

Pycharm mejora el cliente HTTP y UX para Python 3.11

Pycharm ha lanzado la versión 2022.2 con varias características nuevas, como información de código para Python 3.11, selección de entorno de ejecución en elHTTPcliente, una interfaz de usuario rediseñada para configurar intérpretes remotos y soporte para el script de estructura PyScript. Python 3.11 incluye información de código para grupos de excepciones, marcado de elementos TypedDict individuales y soporte preliminar para genéricos variados. Con la versión actualizada, ¡SEGUIR LEYENDO!

Los Mejores FRAMEWORKs para PYTHON

A la hora de hablar de los frameworks de Python, no existen tantos como puede ser en el caso de los frameworks de Javascript. El mercado, se encuentra más limitado,y existen 2 frameworks concretos que son los que más atracción han ido recogiendo de los desarrolladores, por ser proyectos que han ido evolucionando con mejor solera y una mayor frecuencia. Que son: Django y Flask. Estos ¡SEGUIR LEYENDO!