ComenzarEmpieza gratis

Minimizar una función de pérdida

En este ejercicio implementará la regresión lineal "desde cero" utilizando scipy.optimize.minimize.

Entrenaremos un modelo con el conjunto de datos sobre el precio de la vivienda en Boston, que ya está cargado en las variables X y y. Para simplificar, no incluiremos un intercepto en nuestro modelo de regresión.

Este ejercicio forma parte del curso

Clasificadores lineales en Python

Ver curso

Instrucciones del ejercicio

  • Rellene la función de pérdida para la regresión lineal por mínimos cuadrados.
  • Imprima los coeficientes de ajuste de sklearn LinearRegression.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# 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(____)
Editar y ejecutar código