No description
  • Python 68.6%
  • TeX 21.9%
  • Jupyter Notebook 8.4%
  • Makefile 0.8%
  • Nix 0.3%
Find a file
2026-05-22 00:00:08 +02:00
data/processed Feature Engineering 1 2026-05-06 18:02:10 +02:00
models add models from Windows PC 2026-05-21 16:20:23 +02:00
notebooks Advanced : Security 2026-05-21 21:21:30 +02:00
out OCR v4 macro 05 tta out fin 2026-05-10 23:02:13 +02:00
rapport Advanced : Explainability 2026-05-22 00:00:08 +02:00
reports Advanced : Explainability 2026-05-22 00:00:08 +02:00
scripts Advanced : Explainability 2026-05-22 00:00:08 +02:00
src/smart_school Advanced : Security 2026-05-21 21:21:30 +02:00
student_dataset first commit on new repo 2026-05-06 16:07:47 +02:00
.envrc first commit on new repo 2026-05-06 16:07:47 +02:00
.gitignore Nettoyage de la structure du repo 2026-05-11 01:20:39 +02:00
a.pdf Advanced : Explainability 2026-05-22 00:00:08 +02:00
AI-ML_Bruno_Masureel.pdf Advanced : Explainability 2026-05-22 00:00:08 +02:00
flake.lock first commit on new repo 2026-05-06 16:07:47 +02:00
flake.nix Add failure prediction and score prediction benchmarking scripts 2026-05-10 23:07:54 +02:00
Makefile Advanced : Security 2026-05-21 21:21:30 +02:00
ml_2026_project_description.pdf first commit on new repo 2026-05-06 16:07:47 +02:00
project_2026_dataset.zip first commit on new repo 2026-05-06 16:07:47 +02:00
README.md Advanced : Security 2026-05-21 21:21:30 +02:00

Smart School ECAM — AI/ML Labs 2026

Projet de machine learning en deux parties :

  1. Failure prediction : régresser le score d'examen (et en dériver le risque d'échec) à partir d'un dataset tabulaire de 630 000 étudiants.
  2. OCR : reconnaître des caractères manuscrits 28×28 (62 classes, EMNIST-byClass) avec un CNN compact de type ResNet-light.

Le rapport final se trouve dans rapport/rapport.pdf.

Environnement (NixOS)

L'environnement est figé via un flake Nix.

nix develop

Avec direnv :

direnv allow

Structure

student_dataset/        Données originales fournies (CSV + IDX EMNIST)
src/smart_school/       Code Python réutilisable (loaders, pipelines, métriques)
scripts/                Scripts d'analyse et d'entraînement
notebooks/              Notebooks de synthèse des modèles
reports/figures/        Figures générées pour le rapport
reports/tables/         Tables CSV générées pour le rapport
docs/                   Notes, plans et résumés d'analyse
models/                 Modèles entraînés sauvegardés (joblib / PyTorch)
rapport/                Rapport LaTeX (rapport.tex → rapport.pdf)

Pipeline

Tous les artefacts du rapport sont régénérables via make. Principales cibles :

Cible Action
make eda EDA failure + OCR
make features Feature engineering (dataset enrichi)
make ablation CV ablation des features (Ridge + HGB, calcul des VIF)
make baseline Baselines Dummy / Ridge / LogReg / HGB
make robust-benchmark Benchmark CV répété (Ridge, HGB, ExtraTrees, MLP, calibration)
make score-benchmark Régression score → seuil (XGBoost, HGB, Ridge)
make fairness Audit de fairness sur sous-groupes sensibles
make final-model Ridge + LogReg balanced finaux, persistance dans models/
make advanced-security Manipulation du modèle failure + robustesse OCR
make advanced-bias Métriques fairness avancées + mitigation
make advanced-explainability Explications tabulaires + Integrated Gradients OCR
make advanced Supplément Advanced AI Labs complet
make ocr-baseline LogReg multinomiale sur pixels (62 classes)
make ocr-cnn CNN ResNet-light (62 classes, accuracy-focused)
make ocr-cnn-macro CNN ResNet-light (62 classes, macro-focused)
make ocr EDA + baseline + CNN OCR
make clean Nettoyage des artefacts générés

make help liste toutes les cibles disponibles.

Reproductibilité

  • Environnement et dépendances pinnés dans flake.nix (incl. xgboost 3.0.5 et PyTorch pour le CNN).