Universidad de Antioquia - Facultad de INgeniería - Ingeniería de Sistemas
Important
Este es un proyecto con propósitos académicos para el curso de Modelos y Simulación de Sistemas II.
Artículo científico: Aplicación de aprendizaje automático para la predicción de ingresos anuales
- Daniel Lujan Agudelo
- Juan Pablo Arango Gaviria
Se realizó la implementación de una API que entrena y sirve el mejor modelo para realizar predicciones con el modelo.
Repositorio: https://github.com/daniel-lujan/income-prediction-api
Los notebooks se encuentran enumerados en el orden en el que deben ser ejecutados para reproducir los resultados:
- EDA: Exploración inicial del conjunto de datos (columnas, tipos de datos, análisis multivariable, valores atípicos, datos faltantes, correlación)
- Preprocesamiento: Tratamiento a columnas con datos faltantes, eliminación de columnas equivalentes, codificación de variables categóricas. El conjunto de datos con los tratamientos aplicados se exportaron en forma de binarios a las rutas
/preprocessed-data/basic/X-preprocessed.p
y/preprocessed-data/basic/y-preprocessed.p
. - Balance de clases: Se aplicó submuestreo para balancear las clases. El conjunto de datos con las clases balanceadas se guardaron en forma de binarios en las rutas
/preprocessed-data/final/X-preprocessed.p
y/preprocessed-data/final/y-preprocessed.p
. - Entrenamiento de modelos: Aplicación de 3 tipos de modelos: LogisticRegression, RandomForestClassifier y KMeans. Las predicciones de clase generadas por todos los modelos fueron guardadas como binarios en el directorio
model_results
. - Red neuronal: Se implementó una red neuronal. Se realizó una busqueda de mejor configuración de capas ocultas y se almacenaron de igual forma los resultados.
- Análisis de resultados: Cálculo de métricas de evaluación y comparación entre los resultados de los modelos.