Lección 8 del curso LightGBM.
En la lección anterior vimos todos los detalles del algoritmo completo de LightGBM para tareas de clasificación y regresión. Así que en este punto ya tenemos claros todos los elementos esenciales que nos permiten entender qué diferencias tienen estos modelos en comparación con XGBoost y en qué situaciones resulta útil usarlos.
Entonces, en este segundo módulo del curso veremos todo el componente práctico asociado a estos modelos y aprenderemos a usar la librería LightGBM para entrenar y validar modelos de clasificación y regresión.
Y en particular, en esta lección abordaremos el primer proyecto de este curso: el entrenamiento y validación de un clasificador con el fin de predecir si un cliente de una entidad bancaria entrará o no en mora con los pagos de su crédito.
De hecho, esta será la lección más extensa de este curso, pues se trata de un proyecto con muchos elementos que van más allá del entrenamiento y validación del modelo.
Así que comencemos entendiendo el problema a resolver y dando una mirada inicial al set de datos:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Muy bien, acabamos de ver el reto que tenemos en este proyecto, ¡pues estamos usando un set de datos gigantesco!: más de 300.000 datos y más de 100 columnas (o variables predictoras).
Así que comencemos abordando una de las fases más importantes del proyecto: el análisis exploratorio de los datos. Y en particular, comenzaremos haciendo el análisis univariado:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Muy bien, con este análisis univariado hemos determinado las características y los patrones presentes en las variables tanto numéricas como categóricas y hemos definido también algunas estrategias de limpieza de estas variables (las cuales implementaremos en un momento).
Así que, continuando con este análisis exploratorio, veamos ahora si existe alguna relación entre las variables predictoras y la variable a predecir. Hagamos entonces el análisis bivariado:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Con este análisis bivariado hemos podido determinar que realmente no existen variables numéricas o categóricas altamente correlacionadas (positiva o negativamente) con la variable a predecir, lo cual descarta el uso de modelos lineales como por ejemplo la Regresión Logística.
Así que, con base en los resultados de este análisis exploratorio, a continuación podemos llevar a cabo la limpieza y pre-procesamiento de los datos:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
En este caso hemos eliminado columnas que no contienen información relevante para las predicciones y además hemos realizado la partición del set de datos en entrenamiento, validación y prueba.
Así que, antes de entrenar el modelo, debemos decidir la métrica de evaluación que usaremos para medir el desempeño del modelo. Veamos esto en detalle:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
En este caso usaremos el «recall» pero sin descuidar el «precision». Así que para establecer un compromiso adecuado entre estas dos métricas, usaremos el área bajo la curva precision-recall.
Entonces, teniendo clara la estrategia de medición del desempeño del modelo, ya estamos listos para entrenar y validar nuestro modelo base. Veamos entonces esta parte de la implementación:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Perfecto, hemos construido este modelo base sin ajustar ninguno de los parámetros establecido por defecto por la librería LightGBM (en la lección 10 veremos cómo afinar estos hiper-parámetros). Y hemos obtenido un desempeño de 25.06% para el área bajo la curva precision-recall, lo que equivale a un «lift» de 3.13.
Así que lo único que nos falta es determinar el umbral más adecuado para este modelo y el margen de ganancia que entregarían estas predicciones a la entidad bancaria:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Muy bien, como acabamos de ver, para establecer el punto de operación del modelo (es decir, el umbral de decisión) debemos tener en cuenta los números del negocio, que en este caso son los costos asociados a la detección correcta o incorrecta tanto de los deudores como de los no deudores.
Así que con este primer proyecto hemos visto no sólo una aplicación real de LightTGBM a una tarea de clasificación, y a un set de datos bastante complejo, sino también las decisiones que hemos tenido que tomar en el camino para poder hacer uso de este modelo en un entorno real.
Entonces, en la siguiente lección veremos cómo entrenar y validar un modelo de regresión. En particular, abordaremos el segundo proyecto de este curso donde implementaremos un modelo de predicción de precios de vehículos con LightGBM.
Todas las lecciones del curso LightGBM
