교차 검증 후 테스트
교차 검증도 검증 데이터를 반복 사용한다는 문제가 있다. K겹 교차 검증 결과를 들여다보면서 모델링 방법을 개선해나가는 과정을 반복하다 보면 결국 검증 데이터 역시 또 다른 훈련 데이터에 지나지 않게 된다. 그러므로 검증 데이터를 사용해 계산한 성능(예를 들면, Accuracy 등)은 실제 모델의 성능과는 다르게 (보통은 더 좋게) 나올 가능성이 있다. 따라서 테스트 데이터 단계를 추가로 두게 된다.
테스트 데이터는 모델링이 별 문제없이 진행되었는지를 검토하는 목적으로도 사용한다. 만약 교차 검증 데이터로부터 예상한 성능과 테스트 데이터로부터 계산한 성능의 차이가 너무 크다면 모델링 코드에 버그가 있음을 짐작할 수 있다.
테스트 데이터는 원 데이터로부터 최초 분리 후 모델링 과정에서 이용되지 않다가 최종적으로 모델을 확정지었을 때 해당 모델의 성능을 평가하는 목적으로 단 한차례만 이용된다. 테스트 데이터를 사용한 모델링 단계는 다음과 같다.
1. 데이터를 훈련 데이터와 테스트 데이터로 분리한다.
2. 훈련 데이터에 대해 K겹 교차 검증을 수행하여 어떤 모델링 기법이 가장 우수한지를 결정한다.
3. 해당 모델링 기법으로 훈련 데이터 전체를 사용해 최종 모델을 만든다.4
4. 테스트 데이터에 최종 모델을 적용해 성능을 평가하고, 그 결과를 최종 모델과 함께 제출한다.
4 K겹 교차 검증에서는 DK를 제외한 데이터로부터 모델을 만든다. 교차 검증이 끝난 이 단계에서 만드는 모델은 DK를 제외하지 않고 훈련 데이터 전체로부터 만든 모델이다.