CommencezCommencez gratuitement

Régression linéaire multiple

Dans la plupart des cas, une régression linéaire univariée ne fournit pas un modèle suffisamment utile pour faire des prédictions précises. Dans cet exercice, vous effectuerez une régression multiple, qui utilise plus d'une caractéristique.

Vous utiliserez price_log comme cible et size_log et bedrooms comme caractéristiques. Chacun de ces tenseurs a été défini et est disponible. Vous passerez aussi de la perte d'erreur quadratique moyenne à la perte d'erreur absolue moyenne : keras.losses.mae(). Enfin, les valeurs prédites sont calculées comme suit : params[0] + feature1*params[1] + feature2*params[2]. Remarquez que nous avons défini un vecteur de paramètres, params, comme variable plutôt que d'utiliser trois variables. Ici, params[0] est l'ordonnée à l'origine et params[1] et params[2] sont les pentes.

Cette activité fait partie du cours

Introduction à TensorFlow en Python

Voir le cours

Instructions de l’exercice

  • Définissez un modèle de régression linéaire qui retourne les valeurs prédites.
  • Faites en sorte que loss_function() prenne le vecteur de paramètres en entrée.
  • Utilisez la perte d'erreur absolue moyenne.
  • Terminez l'opération de minimisation.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Define the linear regression model
def linear_regression(params, feature1 = size_log, feature2 = bedrooms):
	return params[0] + feature1*____ + feature2*____

# Define the loss function
def loss_function(____, targets = price_log, feature1 = size_log, feature2 = bedrooms):
	# Set the predicted values
	predictions = linear_regression(params, feature1, feature2)
  
	# Use the mean absolute error loss
	return keras.losses.____(targets, predictions)

# Define the optimize operation
opt = keras.optimizers.Adam()

# Perform minimization and print trainable variables
for j in range(10):
	opt.minimize(lambda: loss_function(____), var_list=[____])
	print_results(params)
Modifier et exécuter le code