CommencerCommencer gratuitement

Minimiser une fonction de perte

Dans cet exercice, vous allez implémenter une régression linéaire « from scratch » à l’aide de scipy.optimize.minimize.

Nous allons entraîner un modèle sur le jeu de données des prix de l’immobilier de Boston, déjà chargé dans les variables X et y. Par simplicité, nous n’inclurons pas d’ordonnée à l’origine (intercept) dans notre modèle de régression.

Cet exercice fait partie du cours

Classifieurs linéaires en Python

Afficher le cours

Instructions

  • Complétez la fonction de perte pour la régression linéaire aux moindres carrés.
  • Affichez les coefficients obtenus en ajustant le LinearRegression de sklearn.

Exercice interactif pratique

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

# The squared error, summed over training examples
def my_loss(w):
    s = 0
    for i in range(y.size):
        # Get the true and predicted target values for example 'i'
        y_i_true = y[i]
        y_i_pred = w@X[i]
        s = s + (____)**2
    return s

# Returns the w that makes my_loss(w) smallest
w_fit = minimize(my_loss, X[0]).x
print(w_fit)

# Compare with scikit-learn's LinearRegression coefficients
lr = LinearRegression(fit_intercept=False).fit(X,y)
print(____)
Modifier et exécuter le code