Membagi data menjadi himpunan pelatihan dan validasi
Anda telah mempelajari bahwa hanya menggunakan data pelatihan tanpa himpunan data validasi akan menimbulkan masalah yang disebut overfitting. Ketika overfitting terjadi, model akan sangat baik dalam memprediksi data untuk masukan pelatihan, tetapi sangat buruk dalam melakukan generalisasi ke data yang belum pernah dilihat. Ini berarti model tidak akan terlalu berguna karena tidak dapat melakukan generalisasi. Untuk menghindarinya, Anda dapat menggunakan himpunan data validasi.
Dalam latihan ini, Anda akan membuat himpunan pelatihan dan validasi dari himpunan data yang Anda miliki (yaitu en_text yang berisi 1000 kalimat bahasa Inggris dan fr_text yang berisi 1000 kalimat bahasa Prancis). Anda akan menggunakan 80% himpunan data sebagai data pelatihan dan 20% sebagai data validasi.
Latihan ini adalah bagian dari kursus
Penerjemahan Mesin dengan Keras
Petunjuk latihan
- Definisikan deret indeks menggunakan
np.arange()yang dimulai dari 0 dan berukuran sama denganen_text. - Definisikan
valid_indssebagaivalid_sizeindeks terakhir dari deret indeks tersebut. - Definisikan
tr_endantf_fr, yang berisi kalimat-kalimat pada indekstrain_inds, masing-masing dari listen_textdanfr_text. - Definisikan
v_endanv_fryang berisi kalimat-kalimat pada indeksvalid_inds, masing-masing dari listen_textdanfr_text.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
train_size, valid_size = 800, 200
# Define a sequence of indices from 0 to len(en_text)
inds = ____.____(len(_____))
np.random.shuffle(inds)
train_inds = inds[:train_size]
# Define valid_inds: last valid_size indices
valid_inds = inds[____]
# Define tr_en (train EN sentences) and tr_fr (train FR sentences)
tr_en = [en_text[____] for ti in ____]
tr_fr = [____ for ti in ____]
# Define v_en (valid EN sentences) and v_fr (valid FR sentences)
v_en = [____ for vi in valid_inds]
v_fr = [____ for vi in ____]
print('Training (EN):\n', tr_en[:3], '\nTraining (FR):\n', tr_fr[:3])
print('\nValid (EN):\n', v_en[:3], '\nValid (FR):\n', v_fr[:3])