대회를 처음 시작할 때 해야하는 것: 검증 데이터셋 만들기
- 검증 데이터셋과 평가 데이터셋의 분포가 비슷한지?
- 검증의 점수가 높으면, 평가 점수도 높아지고, 검증 점수 낮으면 평가 점수도 낮아지도록, 이런 경향성을 잘 따르는지?
=> 검증 데이터와 평가 데이터의 경향성을 최대한 비슷하게 만들어야 한다. 그래야 모델 학습, 실험이 제대로 될 수 있어!
분할 방법:
1. Holdout
가장 기본적인 분할 방법. 전체 데이터를 9:1, 8:2로 분할. 가장 최근 데이터 20%만 검증 데이터로 사용 등...
시계열 특성이 강한 데이터에 대해서 많이 활용함.
데이터가 크거나, 학습이 오래 걸리는 경우 많이 씀.
검증 데이터와 평가 데이터를 얼라인할 때, 실험할 때는 홀드아웃을 하고 나중에 배포나 제출할 때 k-fold를 사용.
2. K-Fold
k개로 폴드를 나누고, k번 검증.
3. Stratified K-fold
fold별로 데이터셋의 불균형을 동일하게 분할하는 방법.
4. Group K-fold
train과 valid에 같은 값이 들어가지 않도록 group을 구성 후에 폴드별로 그룹을 분배.
새로운 사람에 대해 예측하는 경우(환자 데이터에 사용하기 유리. 의료쪽에서 많이 사용)
5. Time-series split
시계열 데이터에 사용되는 확장된 k-fold 방법.
대회에서는 학습 -> 검증 후에 이걸 테스트로 내는 방법에서 나아가, 테스트가 잘 나왔다면
학습+검증을 합친 데이터로 최종 학습을 시키고, (하이퍼파라미터는 따로 적용못하겠지만, 이전꺼 참고해서) 바로 테스트로 제출하면 성능이 훨씬 잘나오는 경우가 있었다고 함.
이 외에 참고할 수 있는 다양한 분할 방법들
● Leave-One-Out Cross Validation
● Nested Cross Validation
● Blocked Cross validation
참고링크
● https://scikit-learn.org/stable/modules/cross_validation.html
● https://medium.com/geekculture/cross-validation-techniques-33d389897878
'공부방 > Upstage AI Lab 4기' 카테고리의 다른 글
패스트캠퍼스 Upstage AI Lab 부트캠프 4기 | 기업 연계 프로젝트 (0) | 2025.01.21 |
---|---|
[Coding] LinkedLists, Listnode (0) | 2024.12.27 |
패스트캠퍼스 Upstage AI Lab 부트캠프 4기, IR 경진대회(feat. RAG) (0) | 2024.12.23 |
[IR] RAG 대회 정리 (2) | 2024.12.20 |
[IR] 벡터 유사도를 계산하는 다양한 방법들 (0) | 2024.12.19 |