← 문제 목록/부트스트랩 OOB 분할
문제 해설

부트스트랩 OOB 분할

데이터 전처리 · easy

preview

부트스트랩 OOB 분할

49번 Shuffle-Split 은 "중복 없이 랜덤 분할" 이었죠. 부트스트랩복원 추출(with replacement) 로 훈련셋을 만듭니다 — 같은 샘플이 여러 번 등장할 수 있어요:

  1. N 개 인덱스에서 복원 추출로 N 번 뽑아 훈련셋 인덱스 생성 (중복 가능).
  2. 한 번도 안 뽑힌 인덱스 = OOB (Out-Of-Bag) → 자동 validation 셋.

왜 유용?

  • 통계적 추정량의 분산 · 신뢰구간 계산 (bootstrap statistics)
  • 랜덤포레스트 의 OOB 에러 계산 기반 (각 tree 가 bootstrap 샘플로 학습)
  • 충분히 큰 N 에서 OOB 비율은 대략 e136.8%e^{-1} \approx 36.8\%.

과제

함수 bootstrap_split(n, n_iter, seed) 를 완성하세요.

  • 반환: [(train_idx, oob_idx), ...] (n_iter 개).
  • train_idx 는 복원 추출 → 길이 n (중복 허용).
  • oob_idx 는 훈련셋에 없는 인덱스들.

테스트 케이스

#이름검증
1n_iter 개 fold
2train 길이 = n복원 추출이라 길이 유지
3train 중복 허용실제로 중복이 존재
4OOB 비율 ≈ 36.8%큰 n 에서
5train ∩ oob = ∅쪽이 서로 분리
코드 작성
Loading...
실행 결과

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