스마트 공장 제품 품질 상태 분류 AI 온라인 해커톤

Data Leakage 관련 문의

2023.02.07 00:14 1,814 Views

테스트 데이터 판별 과정에서 테스트 데이터를 전처리 할때, 모델 학습 과정에서 학습 데이터에서 했던 전처리 과정을 테스트 데이터에도 동일하게 하면 Data Leakage에 해당 되는지 문의 드립니다.


예를들면 훈련 데이터의 A라는 컬럼의 어떠한 특성을 이용해서 A_x 라는 컬럼을 생성 후 모델 학습

테스트 데이터 판별시 테스트 데이터셋의 A 컬럼을 위와 동일한 전처리후 A_x 라는 컬럼 을 생성후 모델에 예측

  • Test 데이터로부터 EDA를 진행한 결과(인사이트)를 전처리, 모델 학습에 적용하는 경우

이러한 경우 Data Leakage에 해당하는지 문의 드립니다.

로그인이 필요합니다
0 / 1000
DACON.GM
2023.02.07 10:39

안녕하세요 SignAI님,
전처리는 Train / Test 모두 동일하게 적용되어야 합니다. 동일하게 적용하지 않는다면 코드 검증 과정에서 추가로 검증을 요구할 수 있습니다.
또한 전처리 과정에서 Test 데이터셋의 통계정보가 활용된다면 Data Leakage에 해당합니다.

예를 들어, Train 데이터의 A 변수로부터 A_x의 파생 변수를 생성하고 Test 데이터도 동일한 코드로 A 변수로 A_x의 파생 변수를 생성하는 과정에서
Train 데이터에서는 A_x 파생 변수를 생성할 때 Train 데이터의 A 변수 값들의 평균 (등의 통계 정보)을 활용하고, Test 데이터에서도 A_x 파생 변수를 생성할 때 Test 데이터의 A 변수 값들의 평균 (등의 통계 정보)을 활용한다면 Data Leakage에 해당합니다.
이러한 경우, Train / Test 모두 A_x 파생 변수를 생성할 때 Train 데이터의 통계 정보만 활용해야 합니다.

감사합니다.

Ma
2023.02.08 15:45

train과 test의 전처리를 완전히 동일하게 가져가야 한다는 말씀이시죠 ? 그렇지 않은 경우 실격이 되는건가요 ?

DACON.GM
2023.02.08 15:49

추가로 검증을 요구할 수 있습니다.