Graphiques des résidus
Fait partie de la section Apprentissage supervisé du Journey Machine Learning de Coddy. Leçon 14 sur 58.
Un bon score peut masquer une forme inadaptée. Cette droite obtient un R carré de 0.82 sur une pâte qui lève, mais ses écarts forment une arche :
Le graphique de droite est un graphique des résidus : chaque résidu, valeur réelle moins valeur prédite, en fonction de sa prédiction, avec une ligne à 0 :
residuals = y_test - pred
fig, ax = plt.subplots()
ax.scatter(pred, residuals)
ax.axhline(0, color="gray", linestyle="--")
plt.show()Des résidus sains se répartissent comme du bruit autour de 0. Un motif indique que le modèle passe à côté de quelque chose : ici, que la hausse ralentit.
Avec plusieurs caractéristiques, trace aussi les résidus en fonction de chaque caractéristique : celle qui forme un arc masque la courbe.
Défi
MoyenUne auto-école a ajusté une droite à 80 tests de freinage : speed_kmh et braking_m. Le code de départ conserve les prédictions des tests dans pred et ajoute des étiquettes au graphique.
- Calcule les résidus.
- Représente-les en nuage de points en fonction des prédictions, avec une ligne grise en pointillés à 0, puis affiche le graphique.
La droite ne passe-t-elle pas à côté d’une courbe ? À gauche, elle prédit même une distance de freinage négative.
Le graphique d’une droite bien ajustée, obtenu à partir d’autres données, ressemble à ceci :
Coddy décrit ton graphique.
Essayez vous-même
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
brakes = pd.read_csv("braking.csv")
X_train, X_test, y_train, y_test = train_test_split(brakes[["speed_kmh"]], brakes["braking_m"], test_size=0.25, random_state=0)
model = LinearRegression()
model.fit(X_train, y_train)
pred = model.predict(X_test)
fig, ax = plt.subplots()
ax.set_title("Braking Line Check")
ax.set_xlabel("Predicted braking distance (m)")
ax.set_ylabel("Residual (m)")
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Apprentissage supervisé
1Votre premier modèle
Apprendre à partir d’exemplesJeux d’entraînement et de testAjuster et prédireÉvaluer un modèleRécapitulatif : trieur de graines4Régression logistique
Prédictions oui ou nonLe seuil de décisionLes poids comme indicesPlusieurs classesRécapitulatif : filtre anti-spam2Plus proches voisins
Comment k-NN prend ses décisionsChoisir kFrontières de décisionMettre les voisins à l’échelleRécapitulatif : voisins et vin5Évaluer les classificateurs
La matrice de confusionPrécision et rappelLe score F1Classes déséquilibréesCourbes ROCRécapitulatif : test de dépistage8Validation croisée
Validation K-foldComparer les modèles équitablementRecherche par grilleRécapitulatif : réparations de skateboard11Projet : espèces de manchots
À la rencontre des manchotsPréparer les donnéesChoisir un modèleOptimiser le modèle gagnantDéployer le modèle3Régression linéaire
Prédire des nombresPlusieurs caractéristiquesMesurer les erreursGraphiques des résidusRécapitulatif : locations de vélos6Arbres de décision
Les arbres posent des questionsLire un arbreProfondeur de l’arbreImportance des caractéristiquesRécapitulatif : décisions de prêtEntraînez-vous par vous-même : Compilateur Python en ligne