난임 환자 대상 임신 성공 여부 예측 AI 온라인 해커톤

이러한 행위가 Data Leakage에 위반되는지 질문드립니다.

2025.02.24 09:49 1,291 조회

안녕하세요. 이번 Dacon 경진대회 중 난임 환자 대상 임신 성공 여부 예측 AI 온라인 해커톤에 참여 중인 교육생입니다. 해커톤 규칙에 대해서 읽어 보았는데, 헷갈리는 부분이 몇개 있습니다.

  1. 결측치를 대체할 때 train 데이터들 중 각 통계를 참고하여 test 데이터에 결측치를 대체해도 되는지 질문드립니다.
  2. 데이터 파생변수를 생성할 때 '독립적인 샘플(행(row)) 내에서의 모든 연산 및 파생 변수 생성'이라는 것이 허용되는 규칙과 '파생 변수 생성 시 2개 이상의 테스트 데이터 정보를 활용하는 경우'가 위반된 규칙이라고 하셨습니다. 파생변수를 생성할 때 test 데이터 내에서 한 row에 여러 column에 있는 데이터로 언제든 파생변수를 생성할 수 있는지 가능해서 질문드립니다.
  3. 또한 데이터 전처리를 하는 과정에서 함수를 통해 apply 메서드를 사용하는데에 있어서 train, test 데이터 다 사용해도 Data leakage에 해당되는지 궁금해서 질문드립니다.
  4. 데이터형을 변환할 때 train, test를 둘다 가능하여서 사용할 수 있는지 궁금하여 질문드립니다.



감사합니다.

로그인이 필요합니다
0 / 1000
DACON.GM
2025.02.24 11:27

안녕하세요. 불열정그리고의지님.
문의주신 내용에 대한 답변입니다.
1) 결측치 처리 → Train 데이터의 통계를 이용하여 Test 데이터의 결측치를 채우는 것은 허용됩니다.
2) 파생변수 생성 → 같은 행(row) 내에서 여러 컬럼을 사용하는 연산은 Train/Test 구분 없이 허용됩니다. 단, 두 개 이상의 행을 함께 사용하는 연산(이동평균 등)은 허용되지 않습니다.
3) apply 메서드 사용 → 같은 행 내에서 독립적으로 처리되는 경우라면 Train, Test 데이터를 동시에 처리해도 허용됩니다. 단, Test 데이터 여러 행을 묶어 통계를 내거나 함께 처리하면 허용되지 않습니다.
4) 데이터 타입 변환 → Train, Test 데이터를 동시에 변환해도 문제 없습니다만 가급적 학습(Train), 추론(Test)에 대한 전처리는 분리하는 것이 안전합니다.
감사합니다.

monosun
2025.02.25 09:08

3번은 시도해도 되는지 궁금해서 몰랐는데 덕분에 알았네요 감사합니다!