Menu
CoddyTech

Tracer la droite d’ajustement

Fait partie de la section Statistiques pour le ML du Journey Machine Learning de Coddy. Leçon 37 sur 64.

Deux nombres décrivent un ajustement ; seul un graphique montre s’il suit les données. Une cuisine a chronométré six ébullitions de bouilloire. Trace la droite sur le même ax que le nuage de points :

liters = np.array([0.5, 0.8, 1.0, 1.2, 1.5, 1.7])
minutes = np.array([1.6, 2.4, 2.7, 3.3, 3.9, 4.5])
slope, intercept = np.polyfit(liters, minutes, 1)
xs = np.linspace(liters.min(), liters.max(), 50)
fig, ax = plt.subplots()
ax.scatter(liters, minutes, label="Boils")
ax.plot(xs, slope * xs + intercept, color="C1", label="Fit")
ax.legend()
plt.show()

xs va de la plus petite valeur de x à la plus grande, donc la ligne commence et se termine là où les données le font :

Six ébullitions de bouilloire représentées par des points, le temps d’ébullition en minutes en fonction du volume d’eau en litres, passant de 1.6 à 4.5 minutes, avec une droite ajustée orange qui les traverse de 0.5 à 1.7 litres

Tracer les prédictions d’un modèle sur ses données est le moyen le plus rapide de vérifier qu’il a appris quelque chose de cohérent. Une ligne qui ne passe pas par les points indique un ajustement défectueux.

challenge icon

Défi

Moyen

Un gestionnaire d’immeuble a chronométré 12 trajets en ascenseur : les floors parcourus et les seconds écoulées. Le code de départ configure le graphique avec son titre et ses étiquettes.

  1. Ajuste la droite qui prédit les seconds à partir des floors.
  2. Représente les trajets sous forme de nuage de points étiqueté Rides, et la droite sous forme de ligne étiquetée Fit, du plus petit nombre d’étages au plus grand.
  3. Ajoute une légende et affiche le graphique.

Le code n’affiche rien ; Coddy décrit ton graphique. Celui d’un autre immeuble ressemble à ceci :

Un graphique intitulé Elevator Rides : huit points montant de 14 secondes pour 2 étages à 51 secondes pour 20 étages, une droite ajustée allant de l’étage du premier point à celui du dernier, et une légende indiquant Rides et Fit

Essayez vous-même

import numpy as np
import matplotlib.pyplot as plt

floors = np.array([3, 7, 1, 12, 5, 9, 15, 2, 10, 6, 13, 8])
seconds = np.array([15.3, 27.0, 12.4, 36.0, 19.5, 28.8, 44.9, 12.7, 33.2, 19.4, 41.7, 27.0])
# Ne modifiez pas les lignes ci-dessous
fig, ax = plt.subplots()
ax.set_title("Elevator Rides")
ax.set_xlabel("Floors")
ax.set_ylabel("Seconds")

# Écrivez votre code ci-dessous
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Statistiques pour le ML

Entraînez-vous par vous-même : Compilateur Python en ligne