CommencerCommencer gratuitement

Mettre en place une régression linéaire

Une régression linéaire univariée identifie la relation entre une seule caractéristique et le tenseur cible. Dans cet exercice, nous utiliserons la superficie du terrain d’un bien immobilier et son prix. Comme expliqué dans la vidéo, nous prendrons les logarithmes népériens des deux tenseurs, disponibles sous price_log et size_log.

Dans cet exercice, vous allez définir le modèle et la fonction de perte. Vous évaluerez ensuite la fonction de perte pour deux valeurs différentes de intercept et slope. Rappelez-vous que les valeurs prédites sont données par intercept + features*slope. Notez également que keras.losses.mse() est à votre disposition. Par ailleurs, slope et intercept ont été définis comme des variables.

Cet exercice fait partie du cours

Introduction à TensorFlow en Python

Afficher le cours

Instructions

  • Définissez une fonction qui renvoie les valeurs prédites pour une régression linéaire en utilisant intercept, features et slope, sans utiliser add() ni multiply().
  • Complétez loss_function() en ajoutant les variables du modèle, intercept et slope, comme arguments.
  • Calculez l’erreur quadratique moyenne en utilisant targets et predictions.

Exercice interactif pratique

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

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