Meminimalkan fungsi loss
Dalam latihan ini Anda akan mengimplementasikan regresi linear "dari nol" menggunakan scipy.optimize.minimize.
Kita akan melatih model pada himpunan data harga rumah Boston, yang sudah dimuat ke dalam variabel X dan y. Untuk kesederhanaan, kita tidak akan menyertakan intersep dalam model regresi kita.
Latihan ini adalah bagian dari kursus
Klasifikator Linear di Python
Petunjuk latihan
- Lengkapi fungsi loss untuk regresi linear least squares.
- Cetak koefisien dari hasil pemodelan menggunakan
LinearRegressiondari sklearn.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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(____)