Evaluacion

Por Jose R. Zapata

La evaluacion del curso consta de 3 trabajos practicos y su porcentaje en la evaluacion del curso es

TrabajoPorcentajeDescripcion
150 %Analisis, procesamiento y modelamiento de datos en Jupyter Notebook
225 %Conversion del trabajo anterios a Scripts de Python con pruebas unitarias
325 %Proyecto de ciencia de datos estructurado en Kedro con tracking de experimentos y validaciones
Fecha Limite de entrega de trabajos 18/Octubre/2022

Trabajo 1 (50 %)

A cada grupo de estudiantes se le asignara un dataset y el objetivo es realizar el análisis, preparación y visualización de datos con Python y finalmente hacer un proceso de selección de modelos con Machine Learning.

El proyecto se debe subir a github y utilizar cookiecutter para inicializar la creación de las carpetas del proyecto.

http://drivendata.github.io/cookiecutter-data-science/

El ejemplo del proyecto de readmission está en este repositorio de github:

https://github.com/JoseRZapata/Readmission-ML-Project/tree/master/notebooks

Evaluación

Matriz de evaluacion

PorcentajeDescripciónNadaIncompletoCompleto
8.33 %Preparación de los datos
(datos nulos, outliers, duplicados,
corrección de formatos de tipos de datos)
8.33 %Visualización de datos
(Univarible y Bivariable)
Histogramas, boxplots, correlaciones, etc
8.33 %Descripción y Análisis Estadístico de los datos
8.33 %Machine Learning
Entrenar y evaluar todos los modelos propuestos
8.33 %Hiper parametrizacion
Hiperparametrizar 2 modelos y escoger el mejor modelo
8.33 %Resultados y Conclusiones
analisis de los datos, conclusiones del modelos y los resultados obtenidos

Trabajo 2 (25 %)

El objetivo de este trabajo es llevar el proceso del proyecto de los Jupyter notebook a scripts de python.

Como ejemplo estan los scripts del proyecto de Readmission

https://github.com/JoseRZapata/Readmission-ML-Project/tree/master/src

Se deben crear los siguientes scripts:

  1. Extraccion de datos (Ej: makedataset.py) y preprocesamiento (Ej: preprocessing.py)
  2. Procesamiento de datos - limpieza y transformacion de datos (Ej: build_features)
  3. Entrenamiento de modelo (Ej: train_model.py)
  4. Evaluacion del modelo (Ej: evaluation.py)
  5. Pruebas unitarias Realizar por lo menos una prueba unitaria de las funciones que han creado (Ej: test_features.py )

Nota: Usar pipelines de pandas mediante el metodo .pipe

En este video hay un tutorial de como hacer pruebas unitarias: https://www.youtube.com/watch?v=5ufpsjfk99U

Evaluacion

Cada uno de los scripts se debe poder ejecutar desde la linea de comando y realizar la función.

PorcentajeDescripciónFunciona
(Si / No)
5 %Extraccion de datos
(lectura de datataset, preprocesamiento inicial
division train y test)
5 %Procesamiento de datos
Limpieza y transformacion de los datos
listos para usarse en ML
5 %Entrenamiento de modelo
Entrenamiento del modelo de ML
5 %Evaluacion del modelo
Evaluacion
de train y test
5 %Prueba Unitaria
Pytest
de alguna funcion

Trabajo 3 (25 %)

Utilizar los scripts de python y funciones desarrolladas para crear un proyecto estructurado de ciencia de datos implementando:

  • Tracking de experimentos
  • Validacion de datos
  • Validacion de datos train / test
  • Validacion de modelo
  • Pipelines de transformacion con sci-kit learn
  • Visualizacion de pipelines

Evaluacion

Se debe ejecutar los procesos de:

PorcentajeDescripciónFunciona
(Si / No)
8.33 %kedro run
8.33 %kedro viz
8.33 %mlflow ui

Repositorio de Ejemplo:

https://github.com/JoseRZapata/readmission-ml-project-kedro

Fecha Limite de entrega de trabajos 18/Octubre/2022