Dela upp tränings- och valideringsdata
Nu ska du skapa tränings- och valideringsdatauppsättningar. Att hålla en separat valideringsdatauppsättning och följa modellens prestanda på den är god praxis för att undvika overfitting.
I den här övningen får du tillgång till en_text (engelska meningar) och fr_text (franska meningar).
Den här övningen är en del av kursen
Maskinöversättning med Keras
Övningsinstruktioner
- Definiera en sekvens av index med
np.arange(), som börjar på 0 och har storlekenen_text. - Definiera
train_indssom de förstatrain_sizeindexen från sekvensen. - Definiera
tr_enochtf_fr, som innehåller meningarna vid de index som anges avtrain_indsi listornaen_textochfr_text. - Definiera
v_enochv_fr, som innehåller meningarna vid de index som anges avvalid_indsi listornaen_textochfr_text.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
train_size, valid_size = 800, 200
# Define a sequence of indices from 0 to size of en_text
inds = np.____(len(____))
np.random.shuffle(inds)
# Define train_inds as first train_size indices
train_inds = inds[:____]
valid_inds = inds[train_size:train_size+valid_size]
# Define tr_en (train EN sentences) and tr_fr (train FR sentences)
tr_en = [en_text[ti] for ti in ____]
tr_fr = [____[____] for ti in ____]
# Define v_en (valid EN sentences) and v_fr (valid FR sentences)
v_en = [en_text[____] for vi in ____]
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])