Flask-based student early-warning prototype for training academic-risk classifiers, reviewing predictions, and comparing predictions with later outcomes.
Live demo: https://edupulse-platform.onrender.com/
- CSV validation and upload flows for training, prediction, and actual-result datasets
- Reproducible comparison of Logistic Regression, Decision Tree, Random Forest, and SVM classifiers
- Persisted best-model artifact and evaluation metrics
- Student-level risk bands and deterministic support recommendations
- Prediction-versus-actual comparison
- Render deployment blueprint, tests, and GitHub Actions CI
The included data is synthetic demonstration data. Model metrics show the behavior of this controlled prototype and should not be interpreted as evidence of effectiveness in a real educational setting.
Recommendations are deterministic rules based on input indicators and model risk. The application does not autonomously contact students, change academic records, or replace qualified human review.
flowchart LR
A[Synthetic training CSV] --> B[Validate and preprocess]
B --> C[Compare classifiers]
C --> D[Persist selected model and metrics]
E[Prediction CSV] --> F[Risk scores and support recommendations]
D --> F
G[Actual outcomes CSV] --> H[Prediction comparison]
F --> H
- Flask secret is supplied through
FLASK_SECRET_KEYin deployment - Uploads are restricted to CSV filenames and a 5 MB request limit
- The repository excludes local virtual environments and secrets
This is a public demonstration application without authentication. Do not upload confidential or personal student data.
python -m venv .venv
python -m pip install -r requirements.txt
python app.pypython -m pip install pytest
pytest -q
python -m compileall app.py utils tests