Разделение данных на обучающую и валидационную выборки
В этом упражнении вы создадите обучающую и валидационную выборки. Использование валидационной выборки и отслеживание качества модели на ней — хорошая практика, помогающая избежать переобучения.
Для выполнения упражнения вам предоставлены en_text (предложения на английском) и fr_text (предложения на французском).
Это упражнение является частью курса
Машинный перевод с Keras
Инструкции к упражнению
- Определите последовательность индексов с помощью
np.arange(), начиная с 0, размером равным длинеen_text. - Определите
train_indsкак первыеtrain_sizeиндексов из этой последовательности. - Определите
tr_enиtf_fr— списки предложений, соответствующих индексам изtrain_inds, взятых из списковen_textиfr_text. - Определите
v_enиv_fr— списки предложений, соответствующих индексам изvalid_inds, взятых из списковen_textиfr_text.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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])