시작하기무료로 시작하기

훈련 데이터와 검증 데이터 나누기

훈련용과 검증용 데이터셋을 만들어 보세요. 별도의 검증 데이터셋을 두고 그 성능을 모니터링하는 것은 과적합을 피하기 위한 좋은 방법이에요.

이번 연습 문제에서는 en_text(영어 문장)와 fr_text(프랑스어 문장)가 제공돼요.

이 연습은 강의의 일부입니다

Keras로 배우는 Machine Translation

강의 보기

연습 안내

  • np.arange()를 사용해 0부터 시작하고 길이가 en_text와 같은 인덱스 시퀀스를 정의하세요.
  • 그 인덱스 시퀀스에서 처음 train_size개의 인덱스를 train_inds로 정의하세요.
  • 리스트 en_textfr_text에서 train_inds가 지정한 인덱스의 문장을 담는 tr_entf_fr를 정의하세요.
  • 리스트 en_textfr_text에서 valid_inds가 지정한 인덱스의 문장을 담는 v_env_fr를 정의하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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])
코드 편집 및 실행