Python - Classificación con datos del Casen

Un proyecto con datos de Casen para crear un modelo de clasificación que prediga la pobreza (target variable). La target variable era multi-ordinal con tres categorías (no pobre, pobre no extremo, y pobre extremo). La base de datos tenía 216,439 observaciones y 16 características. Algunos pasos importantes del proyecto fueron los siguientes:

  • Tratamiento de los missings: Se eliminaron las observaciones con una edad menor de 16 años ya que representaban missings en varias columnas que eran relacionadas con el empleo. Por lo tanto, el enfoque del modelo cambió a solo predecir el nivel de pobreza adulta en Chile. También se utilizó feature engineering para combinar variables y evitar pérdidas; Ejemplo: la combinación de activo (empleado, desempleado, y inactivo) con comercio1 (tipo de trabajo).

  • Creación y ejecución de varios modelos KNN, Árbol de decisión, Regresión logística, SVM.

  • Uso de GridSearchCV para ajustar el modelo y encontrar la mejor combinación de configuraciones.

  • Evaluación del modelo utilizando recall, acuaracy, precisión.

  • Cambio a un problema de clasificación binaria con cambio del umbral de decisión utilizado para priorizar la clasificación correcta de las personas que realmente viven en la pobreza (maximizando recall). Al usar un umbral de decisión de 0.1 el recall para la clase 1 (pobeza) mejoró mucho aumentando a 0.57. Con un umbral de 0.5 el recall para la clase 1 fue 0.17.

El documento final de este trabajo está disponible en mi Github

James Attwood
James Attwood
Científico de Datos