개발/파이썬 머신러닝 완벽가이드 정리

교차검증

----___<<<<< 2020. 1. 22. 18:27

교차검증(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