An end-to-end machine learning system designed to identify students at risk of dropping out early, enabling timely academic interventions and counseling support.
High student dropout rates pose a significant challenge to educational institutions and student career outcomes. Identifying at-risk students before they fail or withdraw allows administrators, academic advisors, and parents to intervene early with targeted support.
This project implements a binary classification pipeline that analyzes academic performance, demographic factors, and enrollment trends to predict dropout probability and highlight top contributing risk factors.
The model is trained on the Predict Students' Dropout and Academic Success dataset, covering student records across multiple dimensions:
- Demographics & Social Factors: Age at enrollment, marital status, parents' qualification and occupation.
- Academic Performance: Curricular units enrolled, approved, evaluated, and semester grade averages (1st & 2nd semesters).
- Socio-Economic Indicators: Unemployment rate, inflation rate, and GDP.
- Target Variable: Binary status —
1(Dropout / At Risk) vs.0(Graduate / Safe).
-
Data Preprocessing & Cleaning:
- Filtered target outcomes to create a clear binary classification boundary (
DropoutvsGraduate). - Removed target column leakage and missing value checks.
- Applied
StandardScalerto normalize numeric features across consistent scales.
- Filtered target outcomes to create a clear binary classification boundary (
-
Model Training:
- Implemented an ensemble Random Forest Classifier (
n_estimators=100,random_state=42) viascikit-learn.pipeline.Pipeline. - Used stratified 80/20 train-test splitting to maintain class proportions.
- Implemented an ensemble Random Forest Classifier (
-
Evaluation & Explainability:
- Evaluated using Accuracy, Precision, Recall, F1-Score, and Confusion Matrix.
- Extracted tree-based feature importances to highlight the key drivers behind dropout risk.
- Overall Test Accuracy: 91.74%
- Evaluation Summary:
- Robust classification on unseen test data.
- High recall on the
Dropoutclass, minimizing missed at-risk interventions. - Low false-positive rate, preventing unnecessary academic alerts.
Curricular units 2nd sem (approved)— Course completion rate in the second semester.Curricular units 1st sem (approved)— Early-stage academic success.Curricular units 2nd sem (grade)— Academic grades achieved in semester 2.Curricular units 1st sem (grade)— Baseline semester 1 grade point average.Tuition fees up to date/Age at enrollment— Socio-economic and maturity factors.
Install the required dependencies:
pip install pandas numpy scikit-learn matplotlib seaborn joblib