Regresi linear berganda
Dalam banyak kasus, melakukan regresi linear univariat tidak akan menghasilkan model yang berguna untuk membuat prediksi yang akurat. Pada latihan ini, Anda akan melakukan regresi berganda, yang menggunakan lebih dari satu fitur.
Anda akan menggunakan price_log sebagai target dan size_log serta bedrooms sebagai fitur. Masing-masing tensor ini telah didefinisikan dan tersedia. Anda juga akan beralih dari menggunakan loss mean squared error ke mean absolute error: keras.losses.mae(). Terakhir, nilai prediksi dihitung sebagai berikut: params[0] + feature1*params[1] + feature2*params[2]. Perhatikan bahwa kami telah mendefinisikan vektor parameter, params, sebagai variabel, alih-alih menggunakan tiga variabel. Di sini, params[0] adalah intersep dan params[1] serta params[2] adalah kemiringan (slope).
Latihan ini adalah bagian dari kursus
Pendahuluan TensorFlow di Python
Petunjuk latihan
- Definisikan model regresi linear yang mengembalikan nilai prediksi.
- Atur
loss_function()agar menerima vektor parameter sebagai masukan. - Gunakan loss mean absolute error.
- Lengkapi operasi minimisasi.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Define the linear regression model
def linear_regression(params, feature1 = size_log, feature2 = bedrooms):
return params[0] + feature1*____ + feature2*____
# Define the loss function
def loss_function(____, targets = price_log, feature1 = size_log, feature2 = bedrooms):
# Set the predicted values
predictions = linear_regression(params, feature1, feature2)
# Use the mean absolute error loss
return keras.losses.____(targets, predictions)
# Define the optimize operation
opt = keras.optimizers.Adam()
# Perform minimization and print trainable variables
for j in range(10):
opt.minimize(lambda: loss_function(____), var_list=[____])
print_results(params)