Inizia subitoInizia gratis

Suddividere i dati di training e di validazione

Creerai gli insiemi di dati di training e di validazione. Tenere da parte un insieme di validazione e monitorare le prestazioni del modello su quel set è una buona pratica per evitare l’overfitting.

Per questo esercizio ti sono stati forniti en_text (frasi in inglese) e fr_text (frasi in francese).

Questo esercizio fa parte del corso

Traduzione automatica con Keras

Visualizza corso

Istruzioni dell'esercizio

  • Definisci una sequenza di indici usando np.arange() che parta da 0 e abbia la stessa dimensione di en_text.
  • Definisci train_inds come il primo insieme di indici, di dimensione train_size, dalla sequenza di indici.
  • Definisci tr_en e tf_fr, che contengano le frasi trovate agli indici specificati da train_inds nelle liste en_text e fr_text.
  • Definisci v_en e v_fr, che contengano le frasi trovate agli indici specificati da valid_inds nelle liste en_text e fr_text.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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])
Modifica ed esegui il codice