Adattamento dei minimi quadrati
Fa parte della sezione Statistica per il machine learning del percorso Machine Learning di Coddy. Lezione 36 di 64.
Provare linee a caso potrebbe continuare all’infinito. np.polyfit(x, y, 1) trova subito la migliore: la linea con la somma dei residui al quadrato più piccola. Ecco la profondità della neve durante una tempesta:
hours = np.array([1, 2, 3, 5, 6])
depth = np.array([14, 22, 35, 52, 61])
slope, intercept = np.polyfit(hours, depth, 1)
print(np.round(slope, 2), np.round(intercept, 2))Questo stampa 9.5 4.5: circa 9.5 cm di neve in più all’ora e 4.5 cm all’ora 0. Nessun’altra linea presenta uno scarto minore:
Il 1 richiede una linea retta e x viene per primo. Questa è la regressione lineare, il primo modello che addestri nella sezione 3.
Sfida
MedioUn produttore di droni vuole sapere quale misura predice meglio il tempo di volo. drones.csv contiene 15 voli: payload_g, wind_kmh e flight_min. Il codice iniziale carica il file e definisce ssr(x, y, slope, intercept).
- Per ogni colonna in
columns, adatta la retta che la usa per predireflight_min. - Stampa la sua equazione e l’SSR come mostrato sotto: pendenza con 3 cifre decimali, intercetta e SSR con 2.
- Stampa la colonna con l’SSR più piccolo.
Per un altro drone:
payload_g: flight_min = -0.001 * payload_g + 21.55, SSR 164.94
wind_kmh: flight_min = -0.481 * wind_kmh + 28.13, SSR 9.1
Better predictor: wind_kmhProvalo tu
import numpy as np
import pandas as pd
# Returns the sum of squared residuals of the line slope * x + intercept (lesson 35)
def ssr(x, y, slope, intercept):
return ((y - (slope * x + intercept)) ** 2).sum()
drones = pd.read_csv("drones.csv")
columns = ["payload_g", "wind_kmh"]
# Write your code below
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
1Centro e dispersione
Media e medianaPercentili e quartiliVarianza e deviazione standardCampione o popolazione?Il valore più frequenteRiepilogo: tempi di consegna4Campioni e popolazioni
Popolazione e campioneLe medie campionarie varianoDistribuzione campionariaCampioni più grandi, meno rumoreRiepilogo: sondare una città7Linee di tendenza
ResiduiAdattamento dei minimi quadratiTracciare la retta di adattamentoFare previsioni con una rettaQuanto è buono l’adattamento?Riepilogo: ore di pratica10Codifica delle categorie
Categorie come numeriCodifica one-hotRaggruppamento dei numeri in intervalliRiepilogo: annunci di auto2Distribuzioni
Istogrammi di densitàForme dei datiCurva normaleRegola 68-95-99,7Punteggi ZRiepilogo: durata della batteria5Valori anomali
Diagrammi a scatolaLa regola dell'IQRLa regola dello z-scoreGestire i valori anomaliRiepilogo: anomalie dei sensori3Probabilità tramite simulazione
La probabilità come frequenzaLa legge dei grandi numeriSomme dei dadiValore attesoProbabilità condizionataRiepilogo: probabilità al banco dei dadi6Relazioni
Leggere i grafici a dispersioneCorrelazioneMatrice di correlazioneMappe di calore della correlazioneCorrelazione non significa causalitàRiepilogo: gelato e soleEsercitati da solo: Compilatore Python online