Régression linéaire multiple
Dans la plupart des cas, une régression linéaire univariée ne suffit pas pour obtenir un modèle capable de faire des prédictions précises. Dans cet exercice, vous allez réaliser une régression multiple, qui utilise plusieurs variables explicatives.
Vous utiliserez price_log comme cible, et size_log ainsi que bedrooms comme variables explicatives. Chacun de ces tenseurs a été défini et est disponible. Vous passerez également de la fonction de perte d’erreur quadratique moyenne à l’erreur absolue moyenne : keras.losses.mae(). Enfin, les valeurs prédites se calculent ainsi : params[0] + feature1*params[1] + feature2*params[2]. Notez que nous avons défini un vecteur de paramètres, params, comme une seule variable plutôt que trois variables. Ici, params[0] est l’ordonnée à l’origine et params[1] et params[2] sont les pentes.
Cet exercice fait partie du cours
Introduction à TensorFlow en Python
Instructions
- Définissez un modèle de régression linéaire qui retourne les valeurs prédites.
- Configurez
loss_function()pour qu’elle prenne le vecteur de paramètres en entrée. - Utilisez la fonction de perte d’erreur absolue moyenne.
- Complétez l’opération de minimisation.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)