← Volver a Proyectos destacadosCristhian Santos / estudio de caso 01

Clasificación de población en edad escolar con Machine Learning

Estudio comparativo de regresión logística, KNN y redes neuronales con datos de ENAHO 2025, centrado en la preparación de datos, el ajuste de modelos y el análisis de errores de clasificación.

Proyecto académico · Clasificación supervisada

RRStudiocaretnnetpROCggplot2

El proyecto

Desarrollé un flujo de clasificación supervisada para comparar cómo distintos modelos identifican a personas de 6 a 12 años utilizando variables demográficas.

La edad registrada permite determinar directamente la pertenencia a este grupo y se utiliza para construir la variable objetivo. El ejercicio consiste en predecir esa clasificación sin incluir la edad entre los predictores, con el propósito de estudiar el comportamiento de los modelos.

Datos y preparación

Utilicé el módulo 200 de ENAHO 2025. Seleccioné los registros de miembros del hogar y depuré aquellos con información incompleta en las variables necesarias.

Construí la variable objetivo a partir de P208A, considerando como clase positiva a las personas de entre 6 y 12 años, incluidos ambos extremos.

Los predictores utilizados fueron:

El procesamiento incluyó codificación one-hot, escalado y una división estratificada de entrenamiento y prueba en una proporción de 80/20. Dentro del entrenamiento incorporé una separación adicional para validación.

Modelos implementados

Regresión logística

Implementé un modelo ponderado con familia quasibinomial como referencia interpretable para la comparación.

KNN

Exploré valores impares de k entre 1 y 51 mediante validación cruzada de cinco particiones con caret. La selección de k utilizó exactitud; posteriormente exploré umbrales con la validación interna.

Red neuronal

Implementé una red con nnet y una capa oculta. Evalué configuraciones de 4, 8 y 12 neuronas, tres valores de regularización y cuatro intensidades de ponderación de la clase positiva.

Umbrales y evaluación

Exploré 17 umbrales entre 0.10 y 0.90 para analizar cómo cambia el equilibrio entre detección y falsos positivos.

El criterio busca un recall mínimo del 85 % y, entre las configuraciones que cumplen esa condición, selecciona la que produce menos falsos positivos. F1 y precisión se utilizan como criterios de desempate.

Si ninguna configuración alcanza la meta, el procedimiento selecciona una alternativa según F1, recall y falsos positivos. Por tanto, el 85 % representa un objetivo de selección y no un desempeño garantizado.

También incorporé una regla de posprocesamiento basada en parentesco. Esta regla requiere una comparación independiente para determinar su efecto sobre los errores.

Visualizaciones y salidas

El código calcula y genera:

Estas salidas permiten examinar el comportamiento de los modelos. Los valores de desempeño deben acompañar la comparación para respaldar cualquier conclusión sobre el modelo seleccionado.

Mi participación

Desarrollé el flujo en R, desde la selección y transformación de variables hasta el entrenamiento, la evaluación y la exportación de resultados.

Implementé la exploración de hiperparámetros, la ponderación de clases y la selección de umbrales para estudiar distintos criterios de clasificación, más allá de la exactitud global.

Aprendizajes y mejoras pendientes

El proyecto permitió explorar cómo la configuración de un modelo y su umbral modifican los falsos positivos y falsos negativos.

La revisión del procedimiento identificó mejoras necesarias para obtener una evaluación final independiente:

El código incluye además un ranking territorial exploratorio basado en probabilidades y factores de expansión. Su interpretación requiere validación adicional y no constituye una estimación poblacional validada.