모델 평가에 부트 스트랩을 사용할 때 항상 가방 외부 샘플이 테스트 세트로 직접 사용되었다고 생각했습니다. 그러나 이것은 더 이상 사용되지 않는 scikit-learnBootstrap
접근법 의 경우가 아닌 것으로 보입니다. 이것에 대한 통계적 추론은 무엇입니까? 이 기술이 백 오브 샘플을 평가하는 것보다 좋은 특정 시나리오가 있습니까?
모델 평가에 부트 스트랩을 사용할 때 항상 가방 외부 샘플이 테스트 세트로 직접 사용되었다고 생각했습니다. 그러나 이것은 더 이상 사용되지 않는 scikit-learnBootstrap
접근법 의 경우가 아닌 것으로 보입니다. 이것에 대한 통계적 추론은 무엇입니까? 이 기술이 백 오브 샘플을 평가하는 것보다 좋은 특정 시나리오가 있습니까?
답변:
부트 스트랩 샘플은 많은 반복으로 알고리즘의 성능을 평가하는 데 사용됩니다. 그렇게하는 동안 무작위로 변경된 세트의 성능이 평가됩니다.
반대로 10 개의 교차 교차 검증을 수행 할 때 다른 열차 및 테스트 데이터 세트에서 10 회 반복 만 수행합니다.
이제 샘플 크기가 작 으면 이라고 말하고 부트 스트랩 반복 횟수가 높고 선택할 수 있으며 열차 데이터 세트와 마찬가지로 테스트 데이터를 리샘플링하지 않으면 다음과 같은 상황이 발생합니다. 알고리즘은 두 번 이상 동일하거나 매우 유사한 테스트를 봅니다. 부트 스트랩을 사용하여 원래 피하고 싶었던 상황.
postet 링크가 다운되었으므로 sklearn의 현재 (0.14) 버전에서 함수에 대한 설명을 추가했습니다.
방법 설명
교차 교차 검증 반복자를 사용한 무작위 샘플링 입력 n_iter 시간을 재 샘플링하는 동안 열차 테스트 세트에서 데이터를 분할하기 위해 열차 / 테스트 인덱스를 제공합니다. 새로운 임의의 데이터 분할이 수행 될 때마다 각 측에서 샘플이 교체됩니다 (교체 포함). 훈련 및 테스트 세트를 구축하기 위해 분할. 참고 : 다른 교차 검증 전략과 달리 부트 스트랩을 사용하면 각 분할에서 일부 샘플이 여러 번 발생할 수 있습니다. 그러나 열차 분할에서 발생하는 샘플은 시험 분할에서 발생하지 않으며 그 반대도 마찬가지입니다. 각 샘플이 최대 한 번 발생하도록하려면 ShuffleSplit 교차 검증을 대신 사용해야합니다.
아마도 당신은 무언가에 있었을 것입니다. 다른 사람들이 같은 스레드를 끌어 들인 것처럼 시도되고 진정한 접근 방식 으로이 방법 Bootstrap
을보다 의도적으로 사용하기 위해 더 이상 사용되지 않습니다 .resample
sklearn.cross_validation
StratifiedKFold