• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

train_test_split()와 StratifiedKFold() 차이

22.12.19 20:44 작성 22.12.20 08:32 수정 조회수 230

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와 동일한 역할을 수행한다고 볼 수 있습니다.

감사합니다.