Imposta una regressione lineare
Una regressione lineare univariata individua la relazione tra una singola caratteristica e il tensore target. In questo esercizio useremo la superficie del lotto e il prezzo di una proprietà. Come visto nel video, prenderemo i logaritmi naturali di entrambi i tensori, disponibili come price_log e size_log.
In questo esercizio definirai il modello e la funzione di perdita. Valuterai poi la funzione di perdita per due diversi valori di intercept e slope. Ricorda che i valori previsti sono dati da intercept + features*slope. Inoltre, nota che keras.losses.mse() è a tua disposizione. Inoltre, slope e intercept sono stati definiti come variabili.
Questo esercizio fa parte del corso
Introduzione a TensorFlow in Python
Istruzioni dell'esercizio
- Definisci una funzione che restituisca i valori previsti per una regressione lineare usando
intercept,featureseslope, senza usareadd()omultiply(). - Completa
loss_function()aggiungendo le variabili del modello,intercepteslope, come argomenti. - Calcola l'errore quadratico medio usando
targetsepredictions.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define a linear regression model
def linear_regression(intercept, slope, features = size_log):
return ____
# Set loss_function() to take the variables as arguments
def loss_function(____, ____, features = size_log, targets = price_log):
# Set the predicted values
predictions = linear_regression(intercept, slope, features)
# Return the mean squared error loss
return keras.losses.____
# Compute the loss for different slope and intercept values
print(loss_function(0.1, 0.1).numpy())
print(loss_function(0.1, 0.5).numpy())