CommencezCommencez gratuitement

Visualiser les minima du RSS

Dans cet exercice, vous allez calculer et visualiser comment le RSS varie selon différentes valeurs de paramètres du modèle. Commencez par garder l'ordonnée à l'origine constante, puis faites varier la pente ; pour chaque valeur de pente, vous calculerez les valeurs du modèle et le RSS correspondant. Une fois que vous avez un tableau de valeurs de RSS, vous déterminerez la valeur minimale du RSS, en code, puis à partir de ce minimum, vous trouverez la pente qui a produit ce RSS minimal.

Servez-vous des tableaux de données préchargés x_data, y_data, ainsi que du conteneur vide rss_list pour commencer.

Cette activité fait partie du cours

Introduction aux modèles linéaires en Python

Voir le cours

Instructions de l’exercice

  • Pour chaque valeur d'essai a1 dans a1_array, utilisez model() pour prédire la valeur du modèle, puis compute_rss() avec y_data, y_model, et enregistrez la sortie rss_value dans rss_list.
  • Convertissez rss_list en np.array(), puis utilisez np.min() pour trouver la valeur minimale dans rss_array.
  • Utilisez np.where() pour trouver la valeur d'essai correspondante et affectez le résultat à best_a1.
  • Utilisez plot_rss_vs_parameters() pour confirmer visuellement que vos valeurs concordent avec la figure affichée.

Exercice interactif pratique

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

# Loop over all trial values in a1_array, computing rss for each
a1_array = np.linspace(15, 35, 101)
for a1_trial in a1_array:
    y_model = model(x_data, a0=150, a1=____)
    rss_value = compute_rss(y_data, ____)
    rss_list.append(____)

# Find the minimum RSS and the a1 value from whence it came
rss_array = np.array(____)
best_rss = np.min(____) 
best_a1 = a1_array[np.where(rss_array==____)]
print('The minimum RSS = {}, came from a1 = {}'.format(best_rss, best_a1))

# Plot your rss and a1 values to confirm answer
fig = plot_rss_vs_a1(a1_array, rss_array)
Modifier et exécuter le code