Division des données d'entraînement et de validation
Vous allez créer des ensembles d'entraînement et de validation. Conserver un ensemble de validation et suivre la performance du modèle sur cet ensemble est une bonne pratique pour éviter le surapprentissage.
Pour cet exercice, on vous fournit en_text (phrases en anglais) et fr_text (phrases en français).
Cette activité fait partie du cours
Traduction automatique avec Keras
Instructions de l’exercice
- Définissez une séquence d'indices avec
np.arange()qui commence à 0 et dont la taille correspond àen_text. - Définissez
train_indscomme le premier ensemble detrain_sizeindices de cette séquence. - Définissez
tr_enettf_fr, qui contiennent les phrases situées aux indices indiqués partrain_indsdans les listesen_textetfr_text. - Définissez
v_enetv_fr, qui contiennent les phrases situées aux indices indiqués parvalid_indsdans les listesen_textetfr_text.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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])