IniziaInizia gratis

Addestrare un modello lineare a lotti

In questo esercizio alleneremo un modello di regressione lineare a lotti, ripartendo da dove ci eravamo fermati nell'esercizio precedente. Lo faremo scorrendo l'insieme di dati a lotti e aggiornando le variabili del modello, intercept e slope, dopo ogni passo. Questo approccio ci permette di addestrare con insiemi di dati troppo grandi per essere caricati interamente in memoria.

Nota che la funzione di perdita, loss_function(intercept, slope, targets, features), è già stata definita per te. Inoltre, keras è stato importato e numpy è disponibile come np. Le variabili allenabili devono essere inserite in var_list nell'ordine in cui compaiono come argomenti della funzione di perdita.

Questo esercizio fa parte del corso

Introduzione a TensorFlow in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Usa l'ottimizzatore .Adam().
  • Carica i dati da 'kc_house_data.csv' a lotti con chunksize pari a 100.
  • Estrai la colonna price da batch, convertila in un array numpy di tipo float a 32 bit e assegnala a price_batch.
  • Completa la funzione di perdita, compila l'elenco delle variabili allenabili ed esegui la minimizzazione.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Initialize Adam optimizer
opt = keras.optimizers.____

# Load data in batches
for batch in pd.read_csv('____', ____=____):
	size_batch = np.array(batch['sqft_lot'], np.float32)

	# Extract the price values for the current batch
	price_batch = np.array(batch['____'], np.____)

	# Complete the loss, fill in the variable list, and minimize
	opt.minimize(lambda: loss_function(____, slope, price_batch, size_batch), var_list=[intercept, ____])

# Print trained parameters
print(intercept.numpy(), slope.numpy())
Modifica ed esegui il codice