Zacznij terazZacznij za darmo

Minimalizowanie funkcji straty

W tym ćwiczeniu zaimplementujesz regresję liniową „od zera" przy użyciu scipy.optimize.minimize.

Wytrenujemy model na zbiorze danych cen mieszkań w Bostonie, który jest już wczytany do zmiennych X i y. Dla uproszczenia nie uwzględnimy wyrazu wolnego w modelu regresji.

To ćwiczenie jest częścią kursu

Liniowe klasyfikatory w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij funkcję straty dla regresji liniowej metodą najmniejszych kwadratów.
  • Wyświetl współczynniki uzyskane przez dopasowanie LinearRegression z biblioteki scikit-learn.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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(____)
Edytuj i uruchom kod