Dividindo os dados de treinamento e validação
Você vai criar conjuntos de dados de treinamento e validação. Manter um conjunto de dados de validação e monitorar o desempenho do modelo nesse conjunto é uma boa prática para evitar o sobreajuste.
Para este exercício, você recebeu en_text
(frases em inglês) e fr_text
(frases em francês).
Este exercício faz parte do curso
Tradução automática com Keras
Instruções do exercício
- Defina uma sequência de índices usando um
np.arange()
, que começa com 0 e tem tamanho deen_text
. - Defina “
train_inds
” como o primeiro conjunto de índices “train_size
” da sequência de índices. - Defina
tr_en
etf_fr
, que contêm as frases encontradas nos índices especificados portrain_inds
nas listasen_text
efr_text
. - Defina
v_en
ev_fr
, que têm as frases encontradas nos índices indicados porvalid_inds
nas listasen_text
efr_text
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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])