НачатьНачать бесплатно

Минимизация функции потерь

В этом упражнении вы реализуете линейную регрессию «с нуля» с помощью scipy.optimize.minimize.

Мы обучим модель на наборе данных о ценах на жильё в Бостоне, который уже загружен в переменные X и y. Для простоты мы не будем включать свободный член в нашу модель регрессии.

Это упражнение является частью курса

Линейные классификаторы в Python

Посмотреть курс

Инструкции к упражнению

  • Заполните функцию потерь для линейной регрессии методом наименьших квадратов.
  • Выведите на экран коэффициенты, полученные при обучении LinearRegression из библиотеки sklearn.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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(____)
Редактировать и запускать код