데이터 누출(data leakage)
in Til on Til
- 모델이 훈련 중에 테스트 데이터의 정보를 미리 알게 되는 상황
- 다음 과정에서 Validation, Test set 정보가 Train set 에 유입되는 것 주의
- Data preprocessing
- Data augmentation
1. 데이터 분할
- train_test_split을 사용하여 데이터를 훈련 및 검증 세트로 나누는 경우,
- stratify 매개변수를 사용하여 클래스 분포를 유지하면서 무작위로 분할
- 이로 인해 데이터 누출의 위험 감소
- stratify 매개변수를 사용하여 클래스 분포를 유지하면서 무작위로 분할
- kfold 또는 stratified_kfold를 사용할 때는 각 폴드가 독립적으로 유지되도록 해야
- 현재 설정에서는 stratified를 사용하고 있으므로, 데이터 누출의 위험 낮음
2. 데이터 증강:
- 현재 설정에서는 stratified를 사용하고 있으므로, 데이터 누출의 위험 낮음
- 증강은 훈련 데이터에만 적용되어야 하며, 검증 및 테스트 데이터에는 적용되지 않아야
- is_train 플래그를 사용하여 훈련 데이터에만 증강을 적용
- 단, Test dataset 에 심한 증강이 이미 가해져있거나 한 상황에서는 약간의 예외.
- off-line aug는 Train, test 모두 증강 하되, on-line augmentation 시 train 에만 가하는 것도 방법