Menu
CoddyTech

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:

Profondità della neve in funzione delle ore, rappresentata da cinque punti, con tre linee: due stime tratteggiate con somme dei residui al quadrato pari a 159 e 18, e la linea spessa polyfit con 6.5

Il 1 richiede una linea retta e x viene per primo. Questa è la regressione lineare, il primo modello che addestri nella sezione 3.

challenge icon

Sfida

Medio

Un 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).

  1. Per ogni colonna in columns, adatta la retta che la usa per predire flight_min.
  2. Stampa la sua equazione e l’SSR come mostrato sotto: pendenza con 3 cifre decimali, intercetta e SSR con 2.
  3. 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_kmh

Provalo 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
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