작성
·
25
·
수정됨
0
안녕하세요, 강사님.
2유형 train_test_split 관련 질문이 있어 글 적습니다.
제가 깊은 이해보다는 2유형에서 기본만 확실하게 해서 40점을 얻는 것이 목표입니다.
그래서 랜덤 포레스트 모델로 기본적인 과정만 진행하고 정답을 제출하려고 합니다.
불필요 칼럼 제거, 결측치 대체, 라벨 인코딩 정도를 진행한 후
train_test_split을 test size 0.2로 할 계획이었습니다.
그런데 생각해보니,
train_test_split을 쓰는 이유 자체가 현업의 실제 데이터 분석에서는 test 데이터라는 것이 따로 없으니 기존 데이터를 분할해서 일부는 학습, 일부는 검증을 하기 위해 쓰는 것이라고 이해되는데,
빅데이터분석기사 실기 2유형에서는 애초에 학습하라고 준 train 데이터와 검증 예정인 test 데이터를 주는데,
왜 굳이 train 데이터를 train_test_split로 분리를 해서 fit시킨 모델로 결과를 제출해야 하는 것인지 이해가 되지 않습니다.
그냥 train 데이터를 분리하지 않고 전부 fit시켜 제출하면 되지 않나요? 저도 여러 커뮤니티에서 관련 글들을 찾아 보았는데, 그렇게 하면 과적합 우려가 있다는 얘기들이 많은데 이 부분에 관련해서 강사님 같은 전문가의 설명이 필요해서 질문드립니다. 애초에 과적합 우려가 있다는 의견들은 test 데이터가 train 데이터와 분포나 이런 것들이 거의 일치한다는 가정이 있어야 하는 것 아닌가요?
그리고 처음 말씀드렸듯이 '빅데이터분석기사 실기 2유형 40점 취득'을 목표로 했을 때,
train_test_split(test size 0.2)를 fit한 모델을 제출하는 것이 맞을까요?
train_test_split 없이 전체 train 데이터를 fit한 모델을 제출하는 것이 맞을까요?
답변 1
0
안녕하세요. 🙂
과적합은 학습 데이터의 성격과 알고리즘에 따라서 발생할 수도 있고 안 할 수도 있습니다. 다시 말해, 상황에 따라 다르다는 말이죠.
말씀하신 것 처럼, 전체 데이터에서 검증 데이터를 분리하지 않고 학습용으로만 사용할 수도 있습니다. 다만 걱정되는 부분은 "검증하지 않은 모델에 혹시 오류가 있으면 어떻게 할까?"라는 점입니다.
학습에 충분히 많은 데이터를 사용하고 싶다면, 검증용으로 10% 정도만 분리해서 검증을 해보는 것도 좋겠다 싶네요.
다양한 케이스로 연습을 해보시기 바랍니다.
이제 시험이 얼마 안 남았네요. 집중해서 공부할 시기라, 신경 쓰이시겠어요. 🙂 응원할게요. 화이팅하세요~