Mettre en place une régression linéaire
Une régression linéaire univariée établit la relation entre une seule caractéristique et le tenseur cible. Dans cet exercice, nous utiliserons la superficie du terrain d'une propriété et son prix. Comme mentionné dans la vidéo, nous prendrons les logarithmes naturels des deux tenseurs, disponibles sous price_log et size_log.
Dans cet exercice, vous définirez le modèle et la fonction de perte. Vous évaluerez ensuite la fonction de perte pour deux valeurs différentes de intercept et de slope. Rappelez-vous que les valeurs prédites sont données par intercept + features*slope. Notez aussi que keras.losses.mse() est à votre disposition. De plus, slope et intercept ont été définies comme des variables.
Cette activité fait partie du cours
Introduction à TensorFlow en Python
Instructions de l’exercice
- Définissez une fonction qui retourne les valeurs prédites pour une régression linéaire en utilisant
intercept,featuresetslope, sans utiliseradd()nimultiply(). - Complétez
loss_function()en ajoutant les variables du modèle,interceptetslope, comme arguments. - Calculez l'erreur quadratique moyenne à l'aide de
targetsetpredictions.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Define a linear regression model
def linear_regression(intercept, slope, features = size_log):
return ____
# Set loss_function() to take the variables as arguments
def loss_function(____, ____, features = size_log, targets = price_log):
# Set the predicted values
predictions = linear_regression(intercept, slope, features)
# Return the mean squared error loss
return keras.losses.____
# Compute the loss for different slope and intercept values
print(loss_function(0.1, 0.1).numpy())
print(loss_function(0.1, 0.5).numpy())