Menu
CoddyTech

Tracciare la retta di adattamento

Fa parte della sezione Statistica per il machine learning del percorso Machine Learning di Coddy. Lezione 37 di 64.

Due numeri descrivono un adattamento; solo un grafico mostra se segue i dati. In una cucina sono state cronometrate sei ebollizioni del bollitore. Disegna la retta sullo stesso ax dello scatter:

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 dal valore x più piccolo a quello più grande, quindi la linea inizia e finisce dove si trovano i dati:

Sei bolliture di un bollitore, rappresentate da punti, minuti necessari per bollire rispetto ai litri d’acqua, in aumento da 1.6 a 4.5 minuti, con una linea di adattamento arancione che li attraversa da 0.5 a 1.7 litri

Disegnare le previsioni di un modello sui suoi dati è il modo più rapido per verificare che abbia imparato qualcosa di sensato. Una linea che non passa per i punti indica un adattamento non riuscito.

challenge icon

Sfida

Medio

Un responsabile di un edificio ha cronometrato 12 corse in ascensore: i floors percorsi e i seconds impiegati. Il codice iniziale imposta il grafico con titolo ed etichette.

  1. Adatta la retta che prevede seconds a partire da floors.
  2. Disegna le corse come diagramma a dispersione con etichetta Rides e la retta con etichetta Fit, dal numero minore di piani al maggiore.
  3. Aggiungi una legenda e mostra il grafico.

Non stampa nulla; Coddy descrive il tuo grafico. Quello di un altro edificio è simile a questo:

Un grafico intitolato Elevator Rides: otto punti che salgono da 14 secondi a 2 piani a 51 secondi a 20 piani, una retta adattata dal piano del primo punto a quello dell’ultimo e una legenda con i nomi Rides e Fit

Provalo tu

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])
# Non modificare le righe seguenti
fig, ax = plt.subplots()
ax.set_title("Elevator Rides")
ax.set_xlabel("Floors")
ax.set_ylabel("Seconds")

# Scrivi il tuo codice qui sotto
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Statistica per il machine learning

Esercitati da solo: Compilatore Python online