← 문제 목록/Train/Val/Test 3-way 분할
문제 해설

Train/Val/Test 3-way 분할

데이터 전처리 · easy

preview

Train / Val / Test 3-way 분할

28번 train-test-split-v1 의 확장. 실무에선 3분할 이 더 흔합니다:

  • train (~70%) : 모델 가중치 학습
  • val (~15%) : 하이퍼파라미터 튜닝 · 얼리 스탑
  • test (~15%) : 최종 성능 보고 (한 번만 본다!)

val 과 test 를 분리해야 하이퍼파라미터 튜닝이 test 에 오염되지 않아요.

과제

함수 train_val_test_split(X, y, val_ratio, test_ratio, seed) 를 완성하세요.

  • X shape (N, D), y shape (N,).
  • 반환 순서: (X_tr, X_v, X_te, y_tr, y_v, y_te).
  • 셔플 후 먼저 test_ratio 잘라내고, 그 다음 val_ratio 잘라내고, 나머지가 train.
  • np.random.default_rng(seed).permutation(N) 사용.

테스트 케이스

#이름검증
1크기 계산N=100, val=0.2, test=0.2 → train 60, val 20, test 20
2shape 유지D 차원 보존
3시드 재현성동일 seed → 동일 분할
4교집합 없음train/val/test 세 집합 서로 disjoint
5합집합 = 원본모든 샘플 보존
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.