PayOracle es una aplicación web desarrollada con Django que implementa un modelo de Machine Learning entrenado sobre el conjunto de datos Adult Census Income (UCI Repository). Su objetivo es predecir si una persona tendrá un salario anual mayor o menor a $50,000 USD, con base en variables como edad, nivel educativo, ocupación, estado civil y horas trabajadas por semana.
Además de la predicción, PayOracle ofrece una probabilidad asociada a la estimación y sugerencias personalizadas generadas mediante la API de OpenAI, que ayudan al usuario a identificar posibles factores de mejora para alcanzar un salario superior.
Dataset Usado: https://www.kaggle.com/datasets/mosapabdelghany/adult-income-prediction-dataset
Video Demo: https://youtu.be/2mu28kbf3j4
El propósito principal de este proyecto es combinar técnicas de aprendizaje automático y desarrollo web para construir una herramienta accesible y práctica de apoyo a la toma de decisiones en el ámbito laboral. PayOracle busca demostrar cómo los modelos predictivos pueden integrarse dentro de un entorno web para ofrecer servicios inteligentes basados en datos reales.
git clone https://github.com/Manco312/payoracle.git
cd payoraclepip install -r "requirements.txt"Si el archivo model.pkl no se encuentra en la carpeta salaryapp/ml/model_files, debes entrenar el modelo ejecutando:
python salaryapp/ml/train_model.py --data_path salaryapp/ml/adult.csv --out_dir salaryapp/ml/model_filesPOR DEFECTO ESTE ARCHIVO YA VIENE PRESENTE AL CLONAR EL PROYECTO, POR TANTO NO ES NECESARIO HACER ESTE PROCESO SI NO HAS BORRADO EL ARCHIVO
Para habilitar las sugerencias generadas por IA, define una variable de entorno con tu clave de OpenAI:
Archivo .env o openAI.env:
openAI_api_key=tu_api_key_aquiAplica las migraciones y ejecuta el servidor local:
python manage.py migrate
python manage.py runserverLuego abre tu navegador en: 👉 http://127.0.0.1:8000/
Django pandas numpy scikit-learn matplotlib seaborn joblib imbalanced-learn openai python-dotenv markdown
- Predicción automática del rango salarial (
<=50Ko>50K) para un usuario con base en sus características. - Probabilidad de acierto de la predicción.
- Recomendaciones personalizadas generadas por IA para mejorar el nivel salarial.
- Interfaz web limpia, moderna e intuitiva que facilita la interacción entre usuario y modelo.
Proyecto desarrollado por:
- Juan José Gómez Vélez
- Luciana Hoyos Pérez
- Santiago Manco Maya