ComenzarEmpieza gratis

Entrenar un modelo lineal por lotes

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

Ten en cuenta que la función de pérdida,loss_function(intercept, slope, targets, features), se ha definido por ti. Además, se ha importado para ti keras y numpy está disponible como np. Las variables entrenables deben introducirse en var_list en el 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 de ejercicio

  • Utiliza el optimizador .Adam().
  • Carga los datos de 'kc_house_data.csv' en lotes con un chunksize de 100.
  • Extrae la columna price de batch, conviértela en una matriz 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

Pruebe este ejercicio completando este 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