ÎncepețiÎncepe gratuit

Minimizarea unei funcții de pierdere

În acest exercițiu vei implementa regresia liniară „de la zero" folosind scipy.optimize.minimize.

Vom antrena un model pe setul de date privind prețurile locuințelor din Boston, care este deja încărcat în variabilele X și y. Pentru simplitate, nu vom include un intercept în modelul de regresie.

Acest exercițiu face parte din cursul

Clasificatori liniari în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează funcția de pierdere pentru regresia liniară prin metoda celor mai mici pătrate.
  • Afișează coeficienții obținuți prin ajustarea modelului LinearRegression din scikit-learn.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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(____)
Editează și rulează codul