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 merupakan bagian dari kursus
Klasifikator Linear di Python
Instruksi latihan
- Lengkapi fungsi loss untuk regresi linear least squares.
- Cetak koefisien dari hasil pemodelan menggunakan
LinearRegressiondari sklearn.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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(____)