Skip to content

Felipe713/Study_perfomance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

🎓 Predicción del Rendimiento de Estudiantes con Machine Learning

Este proyecto analiza y predice el rendimiento académico de estudiantes a partir de variables socioeducativas usando Machine Learning supervisado en Python.


📘 Descripción

El dataset (obtenido de Kaggle) contiene registros de ~1.000 estudiantes con las variables:

Se crea la variable objetivo score (promedio de math_score, reading_score y writing_score) y se comparan dos modelos:

  1. Regresión Lineal
  2. Random Forest Regressor

Incluye: preprocesamiento (One-Hot y Ordinal Encoding), división train/test y evaluación con MSE.


⚙️ Tecnologías

  • Python 3.12
  • Pandas, NumPy
  • Scikit-learn
  • Jupyter Notebook

📂 Estructura

STUDY_PERFORMANCE/
├─ Study_perfomance.ipynb · Notebook principal
├─ study_performance.csv · Dataset (opcional, puede excluirse)
└─ .gitignore · Exclusiones (venv/, .idea/, .vscode/, etc.)

Nota: El entorno virtual (venv/) y configuraciones de IDE están excluidos por .gitignore.


🧹 Preprocesamiento (resumen)

  • One-Hot Encoding: género, grupo étnico, tipo de almuerzo, test_prep_course, etc.
  • Ordinal Encoding: nivel educativo de los padres (orden lógico, p. ej. “some high school” → … → “master’s degree”).
  • Target: score = mean([math_score, reading_score, writing_score]).

🧠 Modelado

  • Split: train_test_split(X, y, test_size=0.2, random_state=21)
  • Modelos entrenados:
    • LinearRegression()
    • RandomForestRegressor(n_estimators=100, random_state=42)
  • Métrica: MSE (Mean Squared Error) sobre conjunto de test.

📊 Resultados orientativos

  • Random Forest Regressor · MSE ≈ 2.11
  • Linear Regression · MSE ≈ 1.65

Los valores pueden variar levemente según la semilla y el dataset usado.


🚀 Cómo ejecutar

  1. Crear y activar entorno virtual

    • En Linux/Mac:
      • python3 -m venv venv
      • source venv/bin/activate
    • En Windows:
      • python -m venv venv
      • venv\Scripts\activate
  2. Instalar dependencias mínimas

    • pip install --upgrade pip
    • pip install pandas numpy scikit-learn jupyter matplotlib
  3. Abrir el notebook

    • jupyter notebook
    • Abrir Study_perfomance.ipynb y ejecutar las celdas en orden.

Si usas VS Code, selecciona el kernel del venv (arriba a la derecha del notebook).


🔒 .gitignore recomendado

  • Entorno y cachés:
    • venv/, .env/, .venv/
    • pycache/, *.pyc, .pytest_cache/, .mypy_cache/
  • IDE:
    • .idea/, .vscode/, .code-workspace
  • Jupyter:
    • .ipynb_checkpoints/
  • Datos/artefactos grandes (ajústalo a tu repo):
    • *.png, *.jpg, *.jpeg, *.pdf, *.html
    • *.csv (si no quieres versionar el dataset; si sí lo quieres, quita esta línea)

🧪 Reproducibilidad

  • Fija random_state en train_test_split y en los modelos.
  • Documenta la versión de Python y librerías (puedes exportar con pip freeze > requirements.txt).

📌 Notas

  • El dataset puede incluirse o no en el repo (según tamaño/licencia).
  • Para resultados consistentes, mantén el mismo preprocesamiento y orden de columnas entre entrenamiento e inferencia.

📄 Licencia

Este proyecto es de uso educativo. Ajusta la licencia según tus necesidades (MIT, Apache-2.0, etc.).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors