교차검증(KFold) 이라는 것을 알아보겠습니다.
교차검증이라는 말 처럼 여러번 비교하면서 검증해보는 것입니다.
예를 들어 볼까요?
150개의 데이터를 기존의 방식대로 120 : 30개로 나눕니다.
120개로 학습을 진행하고 30개로 테스트를 진행합니다.
일반적으로 고르게 분포된 데이터에서 이렇게 학습을 해도 전혀 문제가 생기지 않습니다.
다만 조금 다른 경우에, 120개 중 error데이터가 10개가 들어가 있다면 어떻게 될까요?
120개 중 error데이터가 10개 들어간 모델로 컴퓨터가 학습을 하기 시작하면 30개의 테스트셋을 테스트 할 때 정확도가 낮아질 수 밖에 없습니다.
때문에, 교차검증을 통해 여러번 비교하는 과정을 가집니다.
아래의 그림처럼 30개씩 나누는 과정을 거쳐서, 여러번 학습용 데이터 셋과 테스트셋을 변경해봄으로써 점점 정확도를 올리는 과정을 거칩니다.
StratifiedKFold 라는 것은 교차검증을 할 때 데이터를 섞어주는 것을 말합니다.
'개발 > 파이썬 머신러닝 완벽가이드 정리' 카테고리의 다른 글
데이터 전처리 (0) | 2020.01.22 |
---|---|
하이퍼파라미터, GridSearchCV (0) | 2020.01.22 |
학습데이터 테스트 데이터 (0) | 2020.01.22 |
머신러닝이란 (0) | 2020.01.22 |
판다스 pandas (0) | 2020.01.22 |