September 10, 2023
Data Leakage Data Leakage 학습 시 훈련 데이터셋과 학습 데이터셋을 나누는 과정에서, 정보의 누수가 발생하는 문제 원래 Test 데이터에서는 알면 안 되는 정답을, 파생 변수를 통해 유추할 수 있기 때문에 정보의 누수 라고 표현 추론 때는 해당 정보가 없어서 사용할 수 없고, 성능이 급격하게 떨어질 수 있음 (책의 표현이 불친절해서 사견을 많이 붙였는데, 틀린 부분이 존재할 수 있습니다) 예시 병원마다 다른 글꼴을 사용하는데, 글꼴이 feature로 사용된 경우 응급 환자가 많은 병원의 글꼴을 학습 환자마다 사진을 찍는 방법이 다른데, 누워서 찍은 환자가 중증일 가능성이 높음 환자의 자세를 feature로 사용 이렇게 되면 글꼴 정보, 자세 정보가 없는 새로운 데이터에 대해 추론이 제대로 수행되지 않음 원인 주로 훈련 / 학습 데이터를 잘못 분리하는 경우 발생 시간 상관관계를 무시하고 무작위로 데이터를 분할한 경우 데이터를 분할 하기 전에 스케일링한 경우 훈련 데이터가 아닌 테스터 데이터를 이용해 결측값을 채운 경우 분할 전 데이터 중복을 제대로 처리하지 않아 train과 test 데이터에 같은 데이터가 있는 경우 같은 그룹에 있어야 하는 데이터가 train / test에 나뉘어져 들어가는 경우 데이터가 생성되는 과정에서 누수가 생긴 경우: 이 경우는 파악이 굉장히 힘듦 누수 검출 및 대응 찾고자 하는 label 에 대한 feature와의 상관 관계를 파악해야 함 만약 상관관계가 비정상적으로 높다면, 조사해 볼 필요가 있음 테스트 분할을 함부로 사용하면 안됨 특히 테스트 분할 방법을 hyperparameter tuning으로 사용하는 끔찍한 방법은 절대 금지 References 칩 후옌 - 머신 러닝 시스템 설계 기타 이 내용은 아직 부족하기 때문에, 다시 한 번 가다듬어서 다뤄 보겠습니다
read more