Kom igångKom igång gratis

Minimera en förlustfunktion

I den här övningen implementerar du linjär regression "från grunden" med hjälp av scipy.optimize.minimize.

Vi tränar en modell på Boston-datasetet för bostadspriser, som redan är inläst i variablerna X och y. För enkelhetens skull inkluderar vi ingen intercept i regressionsmodellen.

Den här övningen är en del av kursen

Linjära klassificerare i Python

Visa kurs

Övningsinstruktioner

  • Fyll i förlustfunktionen för minsta kvadratmetoden inom linjär regression.
  • Skriv ut koefficienterna från att anpassa sklearns LinearRegression.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____)
Redigera och kör kod