728x90
1. 시간 순으로 나눈다.
ex) 2000년부터 2010년은 학습, 2010년부터 2015년은 validation, 2015년부터 2020년은 test
주의사항:
학습데이터에서 학습한 패턴이 미래에도 있을 것이란 보장이 되어야 학습이 의미가 있음, 예를 들면 2010년부터 2015년 사이 등장한 "급식체"같은 학습기간 동안 없었던 말투는 모델 성능이 높지 않을 수 있다. 즉 시계열 데이터가 stationary가 아니라면 모델 성능 하락, 이를 확인하기 위해서는 validation error를 시간순으로 찍어본다. 비교적 과거에서 error가 비교적 현재에서의 error보다 작다면 not stationary를 확인할 수 있고, 학습데이터의 시간 구간을 줄일 필요가 있다.
2. 다른 차원으로 나눈다.
ex) 2000년부터 2020년 중 회사 1만개에 대한 데이터가 있다면,
회사 8천개의 데이터를 train, 1천개의 데이터를 validation, 1천개의 데이터를 test
주의사항:
train data와 test data가 서로 correlated된 경향을 띌 수가 있다. 특히 앞선 예의 경우 금융위기 맞으면 둘다 망하거나 시장이 좋으면 둘다 떡상하니까, 따라서 generalization ability를 따지는 데에서 not useful할 수 있음
728x90
'ML' 카테고리의 다른 글
Streaming or stateful metric (0) | 2020.10.06 |
---|---|
[ML] True positive, True negative, False positive, False negative 헷갈리지 않게 하기 (0) | 2020.10.03 |
RNN에 대한 이해 (0) | 2020.09.28 |
시계열 데이터에서 Seasonality가 있다면 (0) | 2020.09.28 |
categorical data를 one-hot encoding시 feature개수가 너무 많아진다면 (0) | 2020.09.28 |