ComenzarEmpieza gratis

Entrenar un modelo lineal por lotes

En este ejercicio vamos a entrenar un modelo de regresión lineal por lotes, continuando desde donde lo dejamos en el ejercicio anterior. Lo haremos recorriendo el conjunto de datos en lotes y actualizando las variables del modelo, intercept y slope, después de cada paso. Este enfoque nos permitirá entrenar con conjuntos de datos que, de otro modo, serían demasiado grandes para mantener en memoria.

Ten en cuenta que la función de pérdida, loss_function(intercept, slope, targets, features), ya está definida. Además, keras ya se ha importado y numpy está disponible como np. Las variables entrenables deben introducirse en var_list en el mismo orden en que aparecen como argumentos de la función de pérdida.

Este ejercicio forma parte del curso

Introducción a TensorFlow en Python

Ver curso

Instrucciones del ejercicio

  • Usa el optimizador .Adam().
  • Carga los datos de 'kc_house_data.csv' por lotes con un chunksize de 100.
  • Extrae la columna price de batch, conviértela en un array de numpy de tipo float de 32 bits y asígnala a price_batch.
  • Completa la función de pérdida, rellena la lista de variables entrenables y realiza la minimización.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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())
Editar y ejecutar código