Menu
CoddyTech

Fare previsioni con una retta

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

Una retta di regressione è una piccola macchina per fare previsioni: inserisci un nuovo x e ottieni un y. Un cucciolo è stato pesato dalla settimana 8 alla settimana 20:

weeks = np.array([8, 10, 12, 14, 16, 18, 20])
kg = np.array([3.1, 4.0, 5.2, 6.1, 7.0, 8.2, 9.1])
slope, intercept = np.polyfit(weeks, kg, 1)
new_weeks = np.array([15, 52])
print(np.round(slope * new_weeks + intercept, 1))

Questo stampa [ 6.6 25.2]. La settimana 15 rientra nei dati. La settimana 52 no, e la linea continua a salire molto tempo dopo che il cane si ferma:

Sette pesate dalla settimana 8 alla 20 su una linea adattata. La linea continua tratteggiata in una zona ombreggiata contrassegnata come esterna ai dati, raggiungendo i 25.2 kg alla settimana 52, mentre la curva puntinata di un cane reale si stabilizza vicino ai 13 kg

Prevedere al di fuori dell’intervallo dei dati è estrapolazione ed è rischioso: un modello è affidabile solo con input simili a quelli da cui ha appreso. Verifica prima:

week = 52
print(week >= weeks.min() and week <= weeks.max())

Questo stampa False.

challenge icon

Sfida

Medio

Una candela è stata misurata ogni ora mentre bruciava, dall'ora 0 all'ora 6: hours e height in cm. Il programma legge new_hours.

  1. Adatta la retta che prevede height in base a hours.
  2. Stampa la previsione per new_hours, arrotondata a 2 decimali.
  3. Stampa se new_hours rientra nell'intervallo delle ore dei dati, inclusi entrambi gli estremi.

Per l'input 4.5:

Predicted height: 13.07 cm
Inside the data: yes

Provalo tu

import numpy as np

hours = np.array([0, 1, 2, 3, 4, 5, 6])
height = np.array([20.0, 18.4, 17.1, 15.3, 13.9, 12.2, 10.8])
new_hours = 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