Module 1 — Formuler un problème supervisé : cible, variables, jeu de données
Avant tout algorithme, une vérité que le cours d'introduction a martelée : la moitié du travail se joue dans la formulation. Un problème mal posé ne se rattrape par aucun modèle. Ce module apprend à transformer une demande floue en un problème supervisé net, prêt à être résolu.
Ce qui définit l'apprentissage supervisé
L'apprentissage est supervisé quand on dispose, pour chaque observation, de la bonne réponse — la cible (ou étiquette). Le modèle apprend en comparant ses prédictions à ces réponses connues, puis en corrigeant ses paramètres. Sans étiquettes, il n'y a pas de supervision ; c'est le monde de l'apprentissage non supervisé, objet du cours suivant.
La question fondatrice est donc : « ai-je une colonne à prédire, et est-elle renseignée pour un nombre suffisant d'observations passées ? » Si oui, le problème est supervisé.
Régression ou classification : lire la nature de la cible
Tout se décide en regardant la cible :
| Nature de la cible | Type de problème | Exemples |
|---|---|---|
| Nombre continu | Régression | prix, température, durée, chiffre d'affaires |
| Catégorie | Classification | spam / non-spam, maladie / sain, note A/B/C |
« Combien ? » appelle une régression ; « laquelle / lequel ? » appelle une classification. Ce choix conditionne le modèle, la fonction de coût et les métriques — c'est la toute première décision, et elle doit être explicite. Une nuance utile : une même question peut basculer d'un type à l'autre. « Quel montant dépensera ce client ? » est une régression ; « dépensera-t-il plus de 100 € ? » est une classification. Reformuler la cible reformule le problème.
Définir cible et variables sans se tromper
- La cible (
y) est ce qu'on veut prédire. Une seule par problème, choisie sans ambiguïté. - Les variables (
X, aussi dites features) sont les informations disponibles au moment de la prédiction.
Cette dernière précision est capitale et déjoue le piège le plus coûteux du débutant : inclure parmi les variables une information qui n'existera pas encore lorsqu'il faudra prédire. Prédire si un patient sera hospitalisé en utilisant « nombre de jours d'hospitalisation » comme variable donne un modèle parfait… et parfaitement inutile. C'est une forme de fuite de données, sujet développé au module 8.
Le découpage entraînement / test : la règle d'or
Le cours d'introduction l'a établi : on juge un modèle sur des données qu'il n'a jamais vues. Dès la formulation, on réserve donc une partie des données pour le test.
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)
Deux points de méthode : random_state fixe l'al éa pour un découpage reproductible, et stratify=y préserve les proportions des classes dans les deux jeux — indispensable en classification déséquilibrée. Le jeu de test se met de côté et ne se regarde qu'à la toute fin ; le consulter en cours de route revient à tricher avec soi-même.
La tentation est grande de tester plusieurs idées sur le jeu de test et de garder la meilleure. C'est une erreur méthodologique grave : à force de s'y adapter, on finit par sur-apprendre le jeu de test lui-même, et la performance annoncée devient un mensonge. Pour explorer et régler, on utilise un troisième jeu — la validation — ou la validation croisée du module 8. Le test reste scellé.
En résumé
- L'apprentissage est supervisé quand chaque observation porte une cible connue ; sans étiquette, pas de supervision.
- La nature de la cible décide tout : nombre continu → régression ; catégorie → classification.
- La cible est unique et sans ambiguïté ; les variables ne doivent contenir que des informations disponibles au moment de prédire, sous peine de fuite.
- On réserve dès le départ un jeu de test (
train_test_split,stratify), scellé jusqu'à l'évaluation finale.
Module suivant : la régression linéaire et sa régularisation — le modèle le plus simple, et déjà riche de tous les concepts clés.