Menu
CoddyTech

Residui

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

Questo capitolo traccia una linea di tendenza attraverso i dati, fa previsioni con essa e la valuta. Ecco dove ti porta:

Cinque lavori di giardinaggio rappresentati come punti, minuti in funzione dell'area del prato, con una linea di tendenza arancione che li attraversa e una grande stella verde sulla linea che prevede 50 minuti per un nuovo prato di 10

Quanto è valida una retta? Un servizio di giardinaggio stima 4.5 * area + 5 minuti per lavoro. Ogni distanza rossa è un residuo: valore effettivo meno valore previsto.

I cinque lavori di giardinaggio e la retta stimata, con una distanza verticale rossa da ogni punto alla retta etichettata +6, -5, +3.5, -7 e +3.5

Elevali al quadrato e sommali per calcolare il punteggio della retta:

area = np.array([4, 6, 9, 12, 15])
minutes = np.array([29, 27, 49, 52, 76])
residuals = minutes - (4.5 * area + 5)
print(residuals)
print((residuals ** 2).sum())

Questo stampa:

[ 6.  -5.   3.5 -7.   3.5]
134.5

I quadrati impediscono a +6 e -6 di annullarsi a vicenda. Più piccola è questa somma dei residui al quadrato, migliore è la retta. Un modello impara riducendola.

challenge icon

Sfida

Medio

Un'azienda di traslochi stima quanto tempo richiede un trasloco in base al numero di scatoloni. boxes e hours contengono otto traslochi passati, e il programma legge due rette stimate: slope1, intercept1, poi slope2, intercept2.

  1. Calcola il punteggio di ogni retta sommando i quadrati dei residui.
  2. Stampa entrambe le somme, arrotondate a 2 decimali, e la retta migliore, come mostrato sotto.

Per le rette 0.16 * boxes + 0.8 e 0.12 * boxes + 2.5:

Line 1 SSR: 0.57
Line 2 SSR: 4.1
Better: line 1

Provalo tu

import numpy as np

boxes = np.array([10, 18, 25, 32, 40, 47, 55, 60])
hours = np.array([2.5, 3.5, 5.0, 5.5, 7.0, 8.0, 9.5, 10.0])
slope1 = float(input())
intercept1 = float(input())
slope2 = float(input())
intercept2 = float(input())

# 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