How ykpciftci/dropout-early-warning works
This repository is a small, offline student-dropout prediction workflow: it loads the UCI CSV, creates binary dropout labels, trains enrollment- and semester-one models, then evaluates them. Training includes stratified splitting, preprocessing, cross-validation and model persistence; evaluation reports missed dropouts and classification metrics. The notebooks suggest separate exploration and model-comparison work, but their contents were not sampled, so no connections to runtime components are asserted. The graph reflects the shown Python calls and README dataset description; generated model artifacts are not present in the tree.
Main entry points: train.py Training workflow · evaluate.py Evaluation workflow · data.py Load and split data · config.py Paths and features
Components 12
Data preparation
- Paths and features
src/config.py - Load and split data
src/data.py
Model training
- Training workflow
src/train.py - Preprocessing and classifier
src/train.py - Cross-validation
src/train.py - Saved model artifacts
Model evaluation
- Evaluation workflow
src/evaluate.py - Classification metrics
src/evaluate.py
Notebook research
- Data exploration
notebooks/01_exploration.ipynb - Model comparison
notebooks/02_model_comparison.ipynb
Other components
- Workflow operator
- UCI dataset
Connections 12
- Workflow operator → Training workflow: runs training
src/train.py - Workflow operator → Evaluation workflow: runs evaluation
src/evaluate.py - UCI dataset → Load and split data: loads CSV
src/data.py - Training workflow → Paths and features: uses settings
src/train.py - Training workflow → Load and split data: loads and splits
src/train.py - Training workflow → Preprocessing and classifier: builds and fits
src/train.py - Training workflow → Cross-validation: cross-validates
src/train.py - Training workflow → Saved model artifacts: saves model
src/train.py - Evaluation workflow → Paths and features: uses settings
src/evaluate.py - Evaluation workflow → Load and split data: loads and splits
src/evaluate.py - Evaluation workflow → Saved model artifacts: loads model
src/evaluate.py - Evaluation workflow → Classification metrics: prints metrics
src/evaluate.py