인프런 커뮤니티 질문&답변

choi hoon님의 프로필 이미지
choi hoon

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

교차검증 - K-Fold와 Stratified K-Fold의 이해 - 01

train_test_split()와 StratifiedKFold() 차이

작성

·

336

·

수정됨

0

예제에서는 DecisionTreeClassifier 알고리즘의 정확도를 검증하기 위해

train_test_split()와 StratifiedKFold()를 사용했습니다.

둘다 랜덤으로 학습데이터와 테스트데이터를 선택하는데요,

영상 2:50 쯤의 그림으로 이해하기로는 학습 세트 4/5선택을 5번 하는 것으로 보이는데요(StratifiedKFold의 경우 랜덤으로 선택)

결국 train_test_split(test_size=0.2)를 다섯번 시행한 후 평균을 낸것과 동일한 것 아닌가요?

두 검증 방법의 본질적인 차이는 무엇인가요?

 

*데이터가 충분하고 정규분포라고 할 때 결국은 동일한 결과가 나오지 않을까 해서요.

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

두 검증 방법의 본질적인 차이는 검증 데이터가 수행 시 마다 변경이 된다는 것입니다.

만약 train_test_split()을 수행 시마다 수행 비율만큼의 개수만큼(5번 수행하면 20%로) 검증 데이터를 변경 할 수 있다면 StratifiedKFold와 동일한 역할을 수행한다고 볼 수 있습니다.

감사합니다.

choi hoon님의 프로필 이미지
choi hoon

작성한 질문수

질문하기