Python 튜토리얼

Lv1 모델링 python 파이썬 train_test_split() - (1)

2021.10.12 12:03 3,901 Views

안녕하세요 이번시간 부터는 모델링 과정에 대해 알아보겠습니다.👷‍♀️👷‍♂️


모델링 과정에서 가장 먼저 알아볼 것은 바로 train_test_split() 메소드 입니다.


train_test_split() 메소드는 데이터 셋을 train set과 test set으로 손쉽게 분리할 수 있게 도와주는 메소드 입니다.


💦train / test 데이터 셋을 분리하는 이유 ?


먼저, train/ test 를 분리하는 목적에 대해 정확히 이해해야 합니다. 용어를 정확히 하자면 train / test가 아니라 train / validation이 맞는 표현 입니다.  


머신러닝 모델에 train 데이터를 학습 시킨 후 test 데이터를 모델로 예측했을 경우 성능이 생각보다 낮게 나오는 경우 가 발생합니다.


이러한 현상을 보통 Overfitting 되었다고 합니다.

이미지 출처 : educative.io


즉, 현재 모델이  너무 학습데이터에 의존 되어 있어 이를 조금이라도 벗어난 케이스에 대해서는 예측율이 현저히 떨어진다고 이해하시면 됩니다. 그렇기 때문에 Overfitting을 방지하는 것은 전체적인 모델 성능을 따져보았을 때 중요한 프로세스 중 하나 입니다.

위의 그림과 같이 기존 train / test로 구분 되어 있었던 데이터 셋을 train에서 train/ validation 으로 일정 비율 쪼갠 다음

학습 시에는 train 셋으로 학습 후 중간 중간 validation 셋으로 내가 학습한 모델을 평가 해주는 것입니다.


만약, 모델이 과적합 되었다면, validation 셋으로 검증시 모델의 성능이 나빠지는 것을 확인 할 수 있으며, 이런 현상이 나타났을 때는 학습을 종료 시킵니다.


쉽게 이해해서 test 데이터 셋이 본 시험이라면 validation 데이터 셋은 모의고사라고 이해하시면 좋을 거 같습니다.


그럼 다음 시간부터 train_test_split() 메소드 사용법에 대해 알아보도록 하겠습니다.🚲🚲


↩️ 오늘의 파이썬 리스트


#데이콘_101 #AI #머신러닝 #딥러닝 #파이썬 #파이선 #데이터분석 #데이터사이언티스트 #코랩 #Python #colab #kaggle #pandas #numpy #sckit-learn  # train_test_split()


로그인이 필요합니다
0 / 1000
페드로
2021.11.18 15:41

moran
2022.01.04 15:49

dbnoid
2022.01.20 13:21

acebed
2022.03.11 14:52

done

SIMAK
2022.03.29 11:14

비회원
2022.04.07 11:22

코튼클린
2023.01.17 16:25

done

highllight
2023.02.12 17:40