Minimização de uma função de perda

Neste exercício, você implementará a regressão linear "do zero" usando o site scipy.optimize.minimize.

Treinaremos um modelo no conjunto de dados de preços de imóveis residenciais de Boston, que já está carregado nas variáveis X e y. Para simplificar, não incluiremos um intercepto em nosso modelo de regressão.

Este exercício faz parte do curso

Classificadores lineares em Python

Ver Curso

Instruções de exercício

  • Preencha a função de perda para regressão linear de mínimos quadrados.
  • Imprima os coeficientes do ajuste do sklearn LinearRegression.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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(____)