Melatih model linear secara batch
Dalam latihan ini, kita akan melatih model regresi linear secara batch, melanjutkan dari latihan sebelumnya. Kita akan melangkah melalui himpunan data per batch dan memperbarui variabel model, yaitu intercept dan slope, setelah setiap langkah. Pendekatan ini memungkinkan kita melatih dengan himpunan data yang terlalu besar untuk dimuat seluruhnya di memori.
Perhatikan bahwa fungsi loss, loss_function(intercept, slope, targets, features), telah disiapkan untuk Anda. Selain itu, keras sudah diimpor dan numpy tersedia sebagai np. Variabel yang dapat dilatih harus dimasukkan ke dalam var_list sesuai urutan kemunculannya sebagai argumen fungsi loss.
Latihan ini adalah bagian dari kursus
Pendahuluan TensorFlow di Python
Petunjuk latihan
- Gunakan pengoptimal
.Adam(). - Muat data dari
'kc_house_data.csv'secara batch denganchunksize100. - Ekstrak kolom
pricedaribatch, ubah menjadi arraynumpybertipe float 32-bit, lalu tetapkan keprice_batch. - Lengkapi fungsi loss, isi daftar variabel yang dapat dilatih, dan lakukan minimization.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Initialize Adam optimizer
opt = keras.optimizers.____
# Load data in batches
for batch in pd.read_csv('____', ____=____):
size_batch = np.array(batch['sqft_lot'], np.float32)
# Extract the price values for the current batch
price_batch = np.array(batch['____'], np.____)
# Complete the loss, fill in the variable list, and minimize
opt.minimize(lambda: loss_function(____, slope, price_batch, size_batch), var_list=[intercept, ____])
# Print trained parameters
print(intercept.numpy(), slope.numpy())