IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci una funzione che restituisca i valori previsti per una regressione lineare usando intercept, features e slope, senza usare add() o multiply().
  • Completa loss_function() aggiungendo le variabili del modello, intercept e slope, come argomenti.
  • Calcola l'errore quadratico medio usando targets e predictions.

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())
Modifica ed esegui il codice