LoslegenKostenlos loslegen

Eine Loss-Funktion minimieren

In dieser Übung implementierst du lineare Regression „from scratch“ mit scipy.optimize.minimize.

Wir trainieren ein Modell auf dem Boston-Housing-Preisdaten­satz, der bereits in den Variablen X und y geladen ist. Der Einfachheit halber nehmen wir keinen Achsenabschnitt in das Regressionsmodell auf.

Diese Übung ist Teil des Kurses

Lineare Klassifikatoren in Python

Kurs anzeigen

Anleitung zur Übung

  • Ergänze die Loss-Funktion für die Kleinste-Quadrate-Lineare-Regression.
  • Gib die Koeffizienten aus, die beim Fitten von sklearns LinearRegression entstehen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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(____)
Code bearbeiten und ausführen