ComeçarComece de graça

Dividindo os dados em conjuntos de treinamento e validação

Você aprendeu que usar só os dados de treinamento sem um conjunto de dados de validação pode causar um problema chamado sobreajuste. Quando rola um overfitting, o modelo fica muito bom em prever dados para os inputs de treinamento, mas não consegue generalizar muito bem para dados que nunca viu antes. Isso quer dizer que o modelo não vai ser muito útil, porque não dá pra generalizar. Para evitar isso, você pode usar um conjunto de dados de validação.

Neste exercício, você vai criar um conjunto de treinamento e validação a partir do conjunto de dados que você tem (ou seja, en_text contendo 1000 frases em inglês e fr_text contendo as 1000 frases em francês). Você vai usar 80% do conjunto de dados para treinar e 20% para validar.

Este exercício faz parte do curso

Tradução automática com Keras

Ver curso

Instruções do exercício

  • Defina uma sequência de índices usando um np.arange(), que começa com 0 e tem tamanho de en_text.
  • Defina “ valid_inds ” como os últimos índices “ valid_size ” da sequência de índices.
  • Defina tr_en e tf_fr, que têm as frases encontradas em train_inds indices, nas listas en_text e fr_text.
  • Defina v_en e v_fr, que têm as frases encontradas em valid_inds indices, nas listas en_text e fr_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 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])
Editar e executar o código