This project aims to predict student dropout risks using machine learning and provide an institution-friendly dashboard and mobile application for real-time monitoring. The system consists of:
- Data Analysis & Preprocessing (Exploratory Data Analysis, cleaning, feature engineering)
- Machine Learning Model Training (Multiple models trained and evaluated)
- Backend API (Node.js-based API for communication)
- Web Dashboard (React frontend for institutional use)
- Model Hosting (Deployed on Hugging Face for inference)
Dataset: Predict Students' Dropout and Academic Success (UCI)
This dataset is supported by program SATDAP - Capacitação da Administração Pública under grant POCI-05-5762-FSE-000191, Portugal.
Realinho, V., Vieira Martins, M., Machado, J., & Baptista, L. (2021). Predict Students' Dropout and Academic Success [Dataset]. UCI Machine Learning Repository. https://doi.org/10.24432/C5MC89.
import pandas as pd
data = pd.read_csv("student_data.csv")
print(data.info()) # Display dataset structure
- EDA: Identify missing values, feature distributions, correlations
- Preprocessing: Handle missing data, normalize numerical values, encode categorical features
- Feature Engineering: Generate new features, address class imbalances
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train)
- Baseline Models: Logistic Regression, Decision Trees
- Advanced Models: Random Forest, XGBoost, Neural Networks
- Trained model is deployed on Hugging Face
- API endpoint for real-time inference
- Handles requests from web dashboard
- Fetches prediction results from Hugging Face model
- Manages institution and student data securely
app.post("/predict", async (req, res) => {
const { studentData } = req.body;
const response = await axios.post("https://huggingface.co/model-endpoint", studentData);
res.json(response.data);
});
- Login system for institutions
- Visualized dropout risk trends
- Notifications for high-risk students
function StudentCard({ student }) {
return (
<div className="student-card">
<h3>{student.name}</h3>
<p>Dropout Risk: {student.risk}%</p>
</div>
);
}
- Model Hosting: Hugging Face
- Backend Hosting: Render/Vercel
- Database: MongoDB Atlas
- Train model and upload to Hugging Face
- Deploy Node.js API
- Deploy React web dashboard
- Integration with more datasets
- Refinement of risk analysis model
- Advanced real-time monitoring tools
"Empowering institutions to improve student retention through AI-driven insights."