강의

멘토링

커뮤니티

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

Yoonseok Choi님의 프로필 이미지
Yoonseok Choi

작성한 질문수

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

Fold와 train_test_split에 대해 질문합니다

작성

·

176

0

강의에서 train_test_split을 쓰면 데이터가 편중돼있는 경우 샘플링이 옳바르게 되지 않는다고 들었던거 같습니다.

그래서 KFold나 StratifiedFold를 쓰는게 좋다고 한거 같은데,

계속 강의를 듣다보면 Fold가 아닌 train_test_split함수가 계속 사용되는거 같습니다.

이유를 알 수 있을까요?

그리고 실제로 현업에서 머신러닝을 사용할때도 train_test_split이 많이 쓰일까요?

답변 2

0

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

안녕하십니까,

test 세트와 KFold등에 쓰이는 검증 데이터 세트는 약간 의미가 다릅니다만, 일반적으로 두개를 같이 적용합니다.

테스트 데이터는 말 그대로 최종 테스트 할 때 사용하며 검증 데이터 세트는 다양하게 모델을 최종 테스트 전에 검증하기 위해 사용됩니다. 최종 테스트로 단 한번 테스트를 하는 것 보다는 미리 다양한 분할로 데이터를 검증하는 것이 보다 더 공정한 평가에 적용 될 수 있습니다.

train_test_split()는 train과 test 데이터를 random하게 나누는 역할만 수행합니다. 강의의 예제는 설명을 보다 직관적으로 하기 위해 바로 train과 test데이터를 나누었을 뿐입니다. 원래 프로세스라면 KFold 검증을 수행한 뒤 test 데이터에 적용해 볼것입니다.

현업에서는 train_test_split()를 이용하여 random하게 test 데이터를 뽑을 수도 있지만, 보다 신중하고 노력을 들여서 test 데이터를 선정하는 경우가 더 많습니다.

4장 캐글 신용카드 사기 검출 실습 예제에서 정밀도/재현율/f1 스코어 모두 다 측정하여 결과를 비교 하고 있습니다.

0

Yoonseok Choi님의 프로필 이미지
Yoonseok Choi
질문자

추가적으로, 정밀도와 재현율, f1 score 등등을 배웠는데, 다시 등장하지를 않네요

지금 4.3_앙상블 주피터 파일 보고 있습니다

Yoonseok Choi님의 프로필 이미지
Yoonseok Choi

작성한 질문수

질문하기