División de los datos de entrenamiento y validación
Crearás conjuntos de datos de formación y validación. Mantener un conjunto de datos de validación y supervisar el rendimiento del modelo en ese conjunto es una buena práctica para evitar el sobreajuste.
Para este ejercicio se te han proporcionado en_text
(frases en inglés) y fr_text
(frases en francés).
Este ejercicio forma parte del curso
Traducción automática con Keras
Instrucciones del ejercicio
- Define una secuencia de índices utilizando
np.arange()
, que comienza con 0 y tiene un tamaño deen_text
. - Define «
train_inds
» como el primer conjunto «train_size
» de índices de la secuencia de índices. - Define
tr_en
ytf_fr
, que contienen las frases encontradas en los índices especificados portrain_inds
en las listasen_text
yfr_text
. - Define
v_en
yv_fr
, que contienen las frases encontradas en los índices especificados porvalid_inds
en las listasen_text
yfr_text
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
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])