Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Predictive Student Triage for University Placement Optimization

DL2026 — Final Project · Team FBOUR [Arthur · Bradley · Manu · Minh · Nao]

Headline result: test macro-AUC = 0.8824 vs XGBoost baseline = 0.8780
Ablation (no exam_score): macro-AUC = 0.8761 — confirms model is not purely leak-driven.


Reproduce in 5 steps

# 1. Clone and enter repo
git clone https://github.com/Arthurvroum/fbour-deeplearning.git

cd student-triage

# 2. Install dependencies (Python 3.11 recommended)
pip install -r requirements.txt

# 3. Generate the dataset
python data/generate_dataset.py          # → data/student_dataset_10000_rows.csv

# 4. Train the model (~5 min CPU / ~45 s GPU)
python src/train.py

# 5. Reproduce the headline number
python evaluate.py

Expected output:

==================================================
  HEADLINE  test macro-AUC  = 0.8824
  Secondary macro-F1        = X.XXXX
  Avg inference latency     = X.XXX ms/sample
==================================================
Target macro-AUC ≥ 0.85: ✓ PASS

Repository structure

student-triage/
├── data/
│   ├── generate_dataset.py          # Synthetic dataset generator (seed=42)
│   └── student_dataset_10000_rows.csv
├── src/
│   ├── dataset.py                   # DataLoader, 70/15/15 stratified split, StandardScaler
│   ├── model.py                     # 4-layer SELU MLP (LeCun init, AlphaDropout)
│   ├── train.py                     # Training loop + early stopping
│   ├── baseline.py                  # XGBoost baseline (max_depth=3)
│   ├── ablation.py                  # Ablation: trained without exam_score
│   └── failure_analysis.py          # Top-10 false negatives analysis
├── notebooks/
│   └── eda.py                       # EDA: correlations, feature distributions
├── checkpoints/
│   └── best.pt                      # Best checkpoint (val AUC)
├── logs/                            # JSON logs + plots (auto-generated)
├── evaluate.py                      # ← HEADLINE REPRODUCER
├── requirements.txt
├── LICENSE
└── README.md

Key results

Model Test macro-AUC
XGBoost baseline (max_depth=3) 0.8780
SELU MLP 4-layer (ours) 0.8824
Ablation — no exam_score 0.8761

Reproducibility statement

Item Value
Seed 42 (torch + numpy + sklearn)
Hardware CPU (Intel i7) or GPU (NVIDIA RTX 3080)
Training time ~5 min CPU / ~45 s GPU
Python 3.11
PyTorch 2.3.0
Checkpoint checkpoints/best.pt

Running individual components

python src/baseline.py          # XGBoost baseline
python src/ablation.py          # Ablation (no exam_score)
python src/failure_analysis.py  # Top-10 false negatives
python notebooks/eda.py         # EDA plots

License

MIT — see LICENSE.

About

fbour evan aussi

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages