Leçon · Ouverture de la lecon, des exercices et du quiz
Leçon · Ouverture de la lecon, des exercices et du quiz
Lecture guidée
Maîtriser features, target, prédiction et type de tâche pour produire un résultat de machine learning fiable, mesurable et défendable.
Maîtriser features, target, prédiction et type de tâche pour produire un résultat de machine learning fiable, mesurable et défendable.
Maîtriser features, target, prédiction et type de tâche pour produire un résultat de machine learning fiable, mesurable et défendable.
Le machine learning devient fragile dès qu’un modèle obtient un score sans que l’on sache exactement ce qu’il a appris, sur quelles colonnes, à quel moment de prédiction, et contre quelle référence. Dans cette leçon, le noyau n’est pas « lancer scikit-learn » : le noyau est features, target et prédiction. Le cas fil rouge est : prix immobilier à partir de surface, pièces et ville. On cherche une preuve reproductible, pas une impression de performance.
X, une cible éventuelle y, des paramètres appris avec .fit() et une règle d’inférence avec .predict() ou .transform(). Si X, y, le split ou la métrique sont mal définis, l’algorithme peut fonctionner techniquement tout en produisant une conclusion fausse. Repère local Comprendre ce qu’un modèle apprend : ici la règle est jugée par features, target et prédiction.Comprendre ce qu’un modèle apprend désigne ici la capacité à manipuler correctement features, target et prédiction dans un workflow de type régression supervisée. Une donnée d’entraînement sert à apprendre des paramètres ; une donnée de validation sert à choisir entre plusieurs options ; une donnée de test sert à estimer une performance finale qui n’a pas participé aux choix.
Dans l’API scikit-learn, la forme minimale est :
model.fit(X_train, y_train)
predictions = model.predict(X_test)fit modifie l’état interne de l’estimateur : coefficients, seuils, centres de clusters, moyenne d’un scaler, catégories vues par un encodeur. predict ou transform utilise cet état appris. La distinction est vitale : appeler fit sur des données qui auraient dû rester inconnues crée une fuite de données. Repère local Comprendre ce qu’un modèle apprend : ici la règle est jugée par features, target et prédiction.Le mécanisme tient en quatre objets :
X contient les features autorisées au moment de prédire.y contient la target quand l’apprentissage est supervisé.fit sur une portion contrôlée des données.Comprendre ce qu’un modèle apprend : ici la règle est jugée par features, target et prédiction.X. Le modèle apprendrait une information interdite et son score serait artificiellement élevé.| Notion | À quoi elle sert | Mauvaise confusion |
|---|---|---|
Feature | Entrée disponible pour prédire | La prendre parce qu’elle corrèle, même si elle vient du futur |
Target | Valeur à prédire ou expliquer | La laisser accidentellement dans `X` |
Paramètre appris | Valeur ajustée par `fit` | La recalculer sur test ou production |
Hyperparamètre | Choix fixé avant `fit` | Le choisir en regardant le test final |
Score de validation | Aide au choix de modèle | Le publier comme preuve finale |
Score de test | Estimation finale contrôlée | L’utiliser pour essayer plusieurs réglages |
Ce point distingue un notebook démonstratif d’un workflow fiable : le notebook peut afficher un score ; le workflow doit prouver que ce score n’a pas été obtenu par contamination.
Applique la règle D-S-P-M avant de regarder le score :
fit qui apprend une statistique.Comprendre ce qu’un modèle apprend : ici la règle est jugée par features, target et prédiction.Décision locale pour cette leçon : la colonne à prédire doit rester hors des entrées. Si cette phrase est fausse dans ton cas, le code doit être changé avant l’entraînement.
import pandas as pd
df = pd.DataFrame({
'surface': [45, 65, 80, 120],
'rooms': [2, 3, 4, 5],
'city': ['Lyon', 'Paris', 'Lille', 'Nantes'],
'price': [180000, 320000, 360000, 510000],
})
features = ['surface', 'rooms', 'city']
target = 'price'
assert target not in features
assert set(features + [target]).issubset(df.columns)
print({'task': 'regression', 'features': features, 'target': target})Lecture du code :
Comprendre ce qu’un modèle apprend : ici la règle est jugée par features, target et prédiction.fit doit provenir du périmètre d’entraînement, et ce qui est évalué doit rester hors des choix. Repère local Comprendre ce qu’un modèle apprend : ici la règle est jugée par features, target et prédiction.price_per_m2 comme feature quand elle contient déjà le prix cible.Version naïve :
# Mauvaise idée : l'information évaluée entre dans le choix ou l'entraînement.
X_all = "features préparées sans séparation claire"
score = "score calculé après plusieurs essais sur le même test"Version corrigée :
# Correction : isoler les rôles avant d'apprendre ou de choisir.
# train -> apprend ; validation/CV -> choisit ; test -> estime une fois.
protocol = {"train": "fit", "validation": "choice", "test": "final estimate"}
assert protocol["test"] == "final estimate"Comprendre ce qu’un modèle apprend : ici la règle est jugée par features, target et prédiction.Cette leçon tient sur une phrase opérationnelle : la colonne à prédire doit rester hors des entrées. Le modèle n’est qu’une partie du système ; le split, les transformations, la métrique et la traçabilité décident si le résultat peut être défendu. Une sortie élevée sans protocole contrôlé n’est pas une preuve, c’est un nombre.
Tres efficace apres une lecon theoriquement dense pour verifier la comprehension immediate.
Relie calcul, interpretation physique et visualisation 3D en une seule activite.
Parfait apres une lecon d'application ou de correction d'erreurs frequentes.