머신러닝을 조금이라도 공부해본 사람들은 머신러닝을 하기전 학습데이터셋, 검증데이터셋, 테스트데이터셋으로 분류한다는 것을 알고 있을 것이다.
그런데 처음에는 검증데이터와 테스트데이터가 헷갈릴 수 있다.
Test set의 핵심 조건
- 성능평가는 모델튜닝을 위해서가 아닌 최종 결과 확인을 위해 최종적으로 1번 수행됨
- 학습하는데 사용하지 않은 데이터셋
- X값들에 대응하는 Y값이 존재하는 데이터셋
Validation set의 핵심 조건
- 성능평가를 통해 최종 모델을 선정하기 위해 여러번 사용되는 데이터셋
a지점의 따릉이 일일 대여수 예측 모델링을 하는 상황에서 2022년 1월 1일~2022년 12월 31일까지의 일일 대여수를 알고 있다고 가정해보자.
Y값은 일일대여수.
범위는 2022/1/1~2022/12/31 (365개)이다.
이때 당일을 2022/12/31이라고 하고, 당일이 지나면 데이터 값은 새로 생기는 상황이라고 가정했을 때
케이스별로 나눠 생각해보자
(시계열 데이터관점에서 보지 말고 데이터셋 특징 이해를 위한 관점에서 단순하게 생각하자)
⭐ 인터넷에서 연습하는 타이타닉, 아이리스예제의 경우는 데이터셋의 갯수가 고정된 것이 일반적이지만, 실제 실무에서는 데이터의 갯수가 시간이 지날수록 증가하는 경우가 대부분이다.
가지고 있는 범위 전체를 학습시키고
앞으로 얻게 될 당일 이후의 날짜에 대한 데이터를 test로 취급하는 경우다.
하지만 테스트셋이 없을 수는 없고 이미 가지고 있는 데이터셋을 모두 train으로 사용했으므로 미래의 y값을 test로 사용해야한다.
한달치를 test set이라고 할 때, 1/1~1/31까지의 데이터를 test set으로 취급하는 경우는 1/31 이후에야 사용할 수 있다.
이해를 돕기 위한 극단적인 예시이고 보통 이런 케이스는 흔하지 않다.
글 잘 봤습니다.