
모델 평가의 첫 단계. 데이터를 훈련용 과 평가용 으로 나누지 않으면 "외운 것" 과 "일반화한 것"을 구분할 수 없죠.
데이터가 시간·레이블 순서로 정렬돼 있으면, 앞에서 자르면 훈련/테스트 분포가 달라집니다. 그래서 항상 셔플 후 분할 합니다.
실험을 반복할 때 같은 결과가 나오도록 랜덤 시드(seed) 를 받아 np.random.default_rng(seed) 로 섞습니다.
함수 train_test_split(X, y, test_ratio, seed) 를 완성하세요.
X shape (N, D), y shape (N,), test_ratio 예: 0.2.(X_train, X_test, y_train, y_test).rng = np.random.default_rng(seed), rng.permutation(N) 로 인덱스 섞기.int(N * test_ratio), 나머지는 훈련.| # | 이름 | 검증 |
|---|---|---|
| 1 | 크기 정확 | 10/test_ratio=0.3 → test 3, train 7 |
| 2 | shape 유지 | D, 레이블 차원 보존 |
| 3 | 시드 재현성 | 동일 seed → 동일 분할 |
| 4 | 서로 다른 시드 | 분할이 달라짐 |
| 5 | 모든 샘플 보존 | train + test 합집합이 원본 |
코드를 작성하고 Run 을 눌러보세요.