DSLR
Répartit les élèves de Hogwarts dans l'une des quatre maisons à partir de leurs notes de cours, avec une régression logistique one-vs-all et une descente de gradient écrites de zéro — sans bibliothèque de ML.
- 4 maisons
- 13 variables de cours
Ma contributionRéimplémentation d'un describe façon pandas, de zéro : effectif, moyenne, écart-type, quartiles avec interpolation, variance, asymétrie (skewness) et aplatissement (kurtosis) — sans NumPy ni pandas.
- RÔLE
- Solo
- CONTEXTE
- École 42 · projets IA
- STATUT
- Terminé
- STACK
- PythonMatplotlib
- RÉSULTAT
- Sur les 1 600 élèves d'entraînement, le modèle reproduit les étiquettes de maison avec 97,9 % de précision (34 erreurs). C'est un score sur le jeu d'entraînement, mesuré sur les données mêmes qui ont servi à l'entraîner — il n'y a pas de jeu de test mis de côté.
- MISE À JOUR
- 26 sept. 2026
Données
Fiches d'élèves de Hogwarts : 1 600 élèves d'entraînement étiquetés, 13 notes de cours, 4 maisons ; le jeu de test officiel de 400 élèves n'est pas étiqueté.
Ce que j'ai construit
Solo
- Réimplémentation d'un describe façon pandas, de zéro : effectif, moyenne, écart-type, quartiles avec interpolation, variance, asymétrie (skewness) et aplatissement (kurtosis) — sans NumPy ni pandas.
- Régression logistique implémentée de zéro : sigmoïde, log-loss, gradient et standardisation z-score, avec descente de gradient batch, stochastique et mini-batch comme variantes interchangeables.
- Construction du schéma multiclasse one-vs-all : un classifieur binaire par maison, prédiction par argmax sur les quatre probabilités sigmoïdes, poids exportés en JSON.
- Écriture à la main des trois visualisations exploratoires avec Matplotlib (histogrammes, nuages de points, un pair plot coloré) pour la sélection des variables.
Choix clés
- Régression logistique one-vs-all
- Quatre classifieurs binaires indépendants, un par maison, et l'élève est affecté à la maison dont la probabilité sigmoïde est la plus élevée.
- Trois variantes de descente de gradient au choix
- Batch, stochastique et mini-batch, choisies à l'exécution, pour pouvoir comparer les stratégies d'optimisation.
- Standardisation z-score manuelle
- Chaque variable est standardisée à la main avant l'entraînement et la prédiction, pour que des notes d'échelles très différentes restent comparables.
Résultats
Sur les 1 600 élèves d'entraînement, le modèle reproduit les étiquettes de maison avec 97,9 % de précision (34 erreurs). C'est un score sur le jeu d'entraînement, mesuré sur les données mêmes qui ont servi à l'entraîner — il n'y a pas de jeu de test mis de côté.
Limites
- Pas d'évaluation sur données mises de côté : le jeu de test officiel n'est pas étiqueté, la seule précision est donc mesurée sur le jeu d'entraînement lui-même — ce n'est pas un score de généralisation.
- Pas de régularisation ni d'arrêt anticipé ; un taux d'apprentissage fixe et un nombre d'itérations réglé à la main.
- Le modèle livré utilise les treize variables ; le code de sélection des variables est laissé en commentaire.
- Nettoyage minimal : les valeurs non numériques ou manquantes sont remplacées par zéro plutôt qu'imputées.
Des questions sur ce projet ? → Écrivez-moi