Regressione lineare multipla
Nella maggior parte dei casi, una regressione lineare univariata non produce un modello utile per previsioni accurate. In questo esercizio eseguirai una regressione multipla, che utilizza più di una caratteristica.
Userai price_log come variabile target e size_log e bedrooms come caratteristiche. Ciascuno di questi tensori è già stato definito ed è disponibile. Inoltre, passerai dalla loss dell’errore quadratico medio a quella dell’errore assoluto medio: keras.losses.mae(). Infine, i valori predetti si calcolano così: params[0] + feature1*params[1] + feature2*params[2]. Nota che abbiamo definito un vettore di parametri, params, come variabile, invece di usare tre variabili separate. Qui, params[0] è l’intercetta e params[1] e params[2] sono le pendenze.
Questo esercizio fa parte del corso
Introduzione a TensorFlow in Python
Istruzioni dell'esercizio
- Definisci un modello di regressione lineare che restituisca i valori predetti.
- Imposta
loss_function()in modo che prenda il vettore dei parametri come input. - Usa la loss dell’errore assoluto medio.
- Completa l’operazione di minimizzazione.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define the linear regression model
def linear_regression(params, feature1 = size_log, feature2 = bedrooms):
return params[0] + feature1*____ + feature2*____
# Define the loss function
def loss_function(____, targets = price_log, feature1 = size_log, feature2 = bedrooms):
# Set the predicted values
predictions = linear_regression(params, feature1, feature2)
# Use the mean absolute error loss
return keras.losses.____(targets, predictions)
# Define the optimize operation
opt = keras.optimizers.Adam()
# Perform minimization and print trainable variables
for j in range(10):
opt.minimize(lambda: loss_function(____), var_list=[____])
print_results(params)