CommencerCommencer gratuitement

Entraîner un modèle linéaire par lots

Dans cet exercice, nous allons entraîner un modèle de régression linéaire par lots, en repartant de l’état obtenu à l’exercice précédent. Nous allons parcourir l’ensemble de données par lots et mettre à jour les variables du modèle, intercept et slope, après chaque étape. Cette approche permet d’entraîner sur des jeux de données trop volumineux pour tenir en mémoire.

Notez que la fonction de perte, loss_function(intercept, slope, targets, features), a été définie pour vous. De plus, keras a été importé et numpy est disponible sous le nom np. Les variables entraînables doivent être saisies dans var_list dans l’ordre où elles apparaissent comme arguments de la fonction de perte.

Cet exercice fait partie du cours

Introduction à TensorFlow en Python

Afficher le cours

Instructions

  • Utilisez l’optimiseur .Adam().
  • Chargez les données de 'kc_house_data.csv' par lots avec un chunksize de 100.
  • Extrayez la colonne price de batch, convertissez-la en tableau numpy de type flottant 32 bits et affectez-la à price_batch.
  • Complétez la fonction de perte, renseignez la liste des variables entraînables et effectuez la minimisation.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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())
Modifier et exécuter le code