EmpezarEmpieza gratis

Minimizar una función de pérdida

En este ejercicio vas a implementar una regresión lineal «desde cero» usando scipy.optimize.minimize.

Entrenaremos un modelo con el conjunto de datos de precios de viviendas de 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

  • Completa la función de pérdida para la regresión lineal de mínimos cuadrados.
  • Imprime los coeficientes tras ajustar LinearRegression de sklearn.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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