Hackathon Génie & Informatique 2026, défi de 24 h.
Une institution financière québécoise attribue ses bourses d'études à l'aide d'un modèle d'apprentissage automatique exact à 88 %. Ce modèle accorde la bourse à 48 % des candidats des grands centres, contre 27 % des candidats des régions éloignées. Ce dépôt diagnostique ce biais, le corrige sous un budget fixe et propose un plan de surveillance pour la production.
Toutes les données sont synthétiques ; l'institution est fictive.
| Modèle en production | Règle corrigée | |
|---|---|---|
| Écart d'égalité des chances (pire cas sur quatre étalons hypothétiques) | 0,314 | 0,075 |
| Accord moyen avec ces étalons | 0,907 | 0,942 |
| Taux d'octroi : grands centres / régions éloignées | 47 % / 28 % | 40 % / 40 % |
| Variables régionales utilisées pour décider | oui | non |
Règle retenue : score = cote R + 0,3 × indice de besoin. Les 40 % meilleurs scores
obtiennent la bourse. L'indice de besoin combine les heures travaillées, le revenu familial
(un revenu plus faible indique plus de besoin) et le statut de première génération universitaire.
La région, le code postal et la distance ne sont pas utilisés.
- Diagnostic. À cote R égale, environ 66 % de l'écart d'octroi subsiste. Le comité historique exigeait environ 1,6 point de cote R de plus aux candidats des régions éloignées, à profil égal, et favorisait aussi les revenus familiaux élevés.
- Proxys. Le code postal, la distance, les heures travaillées et le revenu révèlent la région. Une fois la région et le code postal retirés, un modèle la devine encore avec une AUC de 0,998.
- Choix éthique. Nous retenons l'égalité des chances, avec un mérite qui intègre le besoin financier, plutôt que la parité démographique, qui agit au niveau du groupe et non de la personne.
- Correction.
decision_octroireflète les décisions biaisées du comité. Nous comparons cinq approches (modèle en production, Hardt et al., Jiang et Nachum, correction contrefactuelle, score de mérite explicite) contre quatre étalons plausibles, puis traçons le front de Pareto équité / utilité. - Surveillance. Six indicateurs sont calculés à chaque lot, avant la publication des décisions, avec des seuils d'alerte et une procédure d'escalade. Une revue annuelle à l'aveugle construit progressivement un étalon indépendant.
| Fichier | Contenu |
|---|---|
audit_rapport.ipynb |
Mesure du biais, règle implicite du comité, proxys, choix de la métrique, plan de surveillance, références |
model_corrige.ipynb |
Comparaison des méthodes, front de Pareto, choix final ; écrit predictions.csv |
predictions.csv |
Décisions pour les 4 000 candidats d'évaluation (id_candidat, decision_octroi) |
presentation.pdf |
Support du pitch de cinq minutes |
baseline_model.ipynb |
Carnet de départ fourni par les organisateurs, non modifié |
data/ |
Données synthétiques du défi : 10 000 dossiers historiques et 4 000 candidats à évaluer |
requirements.txt |
Dépendances Python |
Ordre de lecture suggéré : presentation.pdf, puis audit_rapport.ipynb, puis model_corrige.ipynb.
Python 3.10 ou plus récent.
git clone <URL_DU_DEPOT>
cd <dossier_du_depot>
python3 -m venv venv
source venv/bin/activate # Windows : venv\Scripts\activate
pip install -r requirements.txt
jupyter notebookExécuter ensuite chaque carnet en entier (Run All). Les deux carnets sont autonomes et peuvent
être exécutés dans n'importe quel ordre. model_corrige.ipynb réécrit predictions.csv à la racine
du dépôt. Les graines aléatoires sont fixées : les résultats sont reproductibles à version égale des
bibliothèques. La cellule ExponentiatedGradient (section 3.2 de model_corrige.ipynb) est la plus
longue à exécuter.
- Le vrai étalon du jury est caché. Nos comparaisons reposent sur des étalons hypothétiques : elles mesurent la robustesse de chaque méthode à notre incertitude, pas la justice dans l'absolu.
- Le poids du besoin (0,3) est un choix de valeur, qui devrait être validé par un comité d'équité.
- Les seuils de surveillance sont initiaux et devront être recalibrés après quelques cycles.
Les références bibliographiques (Hardt et al., 2016 ; Jiang et Nachum, 2020 ; Agarwal et al., 2018 ;
Kamiran et Calders, 2012 ; Dwork et al., 2012) et les outils utilisés sont détaillés dans la section 7
de audit_rapport.ipynb.
Ce projet a été réalisé avec l'aide de Claude Opus 5.5 (Anthropic), utilisé tout au long du défi pour l'analyse, la recherche documentaire, l'écriture du code et la rédaction. Les choix de fond ont été faits par l'équipe, qui demeure responsable du contenu de ce dépôt.