Data Leakage
Data Leakage
Data Leakage
- 훈련 데이터셋의 피처 집합에 레이블(정답) 정보가 들어있으나, 추론 시에는 이 피처 집합을 사용할 수 없는 문제를
데이터 누수
라고 함 - A 병원의 데이터에서는 좋은 기계에서 사진을 찍은 사람이 암 발생률이 높음
- 그러나 추론하는 B 병원의 데이터에서는 이런 정보가 없는 경우
원인
- 주로 훈련 / 학습 데이터를 잘못 분리하는 경우 발생
- 시간 상관관계가 있는 데이터에서 이를 무시하고 무작위로 데이터를 분할한 경우
- 데이터를 분할 하기 전에 스케일링한 경우
- 훈련 데이터가 아닌 테스트 데이터를 이용해 결측값을 채운 경우
- 분할 전 데이터 중복을 제대로 처리하지 않아 train과 test 데이터에 같은 데이터가 있는 경우
- 같은 그룹에 있어야 하는 데이터가 train / test에 나뉘어져 들어가는 경우
- 데이터가 생성되는 과정에서 누수가 생긴 경우: 이 경우는 파악이 굉장히 힘듦
누수 검출 및 대응
- 찾고자 하는 label 에 대한 feature와의 상관 관계를 파악해야 함
- 만약 상관관계가 비정상적으로 높다면, 조사해 볼 필요가 있음
- 테스트 분할을 함부로 사용하면 안됨
- 특히 테스트 분할 시점을 hyperparameter로 두어 튜닝하는 끔찍한 방법은 절대 금지
References
- 칩 후옌 - 머신 러닝 시스템 설계
기타
- 2023-09-10 내용 중 모호한 부분을 이해를 바탕으로 수정