Data Leakage

Data Leakage


데이터 누수는 예측할 때 사용할 수 없거나 평가에 남겨 둔 자료의 정보가 학습 과정에 들어가 최종 성능을 과대 추정할 수 있게 만드는 현상이다.

fit학습 자료에서 변환 상태를 계산해 저장한다.
transform저장한 상태를 바꾸지 않고 자료에 적용한다.
예측 시점예측하는 순간 관측할 수 있는 특성만 입력이 된다.

여러 행을 보는 변환만 학습 자료에서 상태를 저장한다

변환이 보는 범위를 바꾸면 저장 상태의 유무와 fit이 필요한지가 함께 바뀐다.

변환이 보는 자료 범위와 저장 상태한 값, 한 행, 여러 행을 보는 변환을 상태 저장 여부와 연결한 그림 한 값섭씨 → 화씨저장 상태 없음각 값에 같은 식 한 행두 열의 비율저장 상태 없음같은 행의 값만 사용 여러 행평균 대체표준화상태를 계산평균 · 표준편차
파란 상자는 행마다 독립적인 계산, 초록 상자는 여러 행에서 상태를 학습하는 계산이다. 흐린 상자는 고르지 않은 범위다.

전처리 상태는 분할 뒤 학습 자료로만 계산한다

경로를 바꾸면 저장하는 평균이 μ_all과 μ_train 사이에서 바뀌고 테스트 정보가 상태에 들어가는지가 달라진다.

잘못된 전처리 순서와 올바른 전처리 순서테스트 자료가 전체 평균으로 들어가는 빨간 경로와 학습 평균을 공통 적용하는 초록 경로 전체 fit → 분할전체 자료train ∪ testμ_allmean(train ∪ test)자료 분할이미 상태 계산 뒤test 정보 분할 → 학습 fit → 같은 transform자료 분할train | testμ_trainmean(train)같은 transformtrain: μ_train 적용test: μ_train 적용
위는 전체 fit 뒤 분할, 아래는 분할 뒤 학습 fit 경로다. 빨간 화살표는 테스트 자료가 전처리 상태로 들어가는 정보 경로다.

예측이나 선택 뒤에 생기는 정보가 되돌아오면 누수다

사례를 바꾸면 되돌아가는 정보, 그 정보가 생기는 시점, 들어가는 단계가 바뀐다. 학습·검증·테스트 자료 가운데 검증 자료는 선택에, 테스트 자료는 선택이 끝난 뒤의 최종 평가에 쓴다.

예측 시점 전후의 특성입원과 퇴원, 구매와 환불 사례에서 예측 뒤 정보를 빨간 경로로 표시한 시간선 입원 기간 예측입원예측퇴원퇴원일을 입력으로 되돌림 구매액 예측구매 전 정보구매액 예측환불 여부환불 여부를 입력으로 되돌림
시간선의 초록 점은 예측 시점이다. 빨간 점과 빨간 화살표는 예측이나 선택이 끝난 뒤에 생긴 정보가 입력이나 선택 단계로 되돌아가는 경로다.