Мінімізація функції втрат
У цій вправі ви реалізуєте лінійну регресію «з нуля», використовуючи 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(____)