IT Study/인공지능 관련

🤖 Data Leakage의 개념과 학습 데이터 구성 시 주의점

cs_bot 2025. 4. 17. 01:55

1. 개요

  • 머신러닝 모델 개발 시 일반화 성능 저하를 유발하는 주요 오류 중 하나로 Data Leakage(데이터 누수) 현상 존재
  • 학습 과정에서 훈련 시점에는 존재하지 않아야 할 정보가 입력 피처에 포함되어 발생하는 오류를 의미함
  • 실제 모델 성능이 과대평가되어, 실사용 시 치명적인 오작동 또는 비즈니스 실패로 이어질 수 있음

2. Data Leakage의 정의

  • 학습 데이터 구성 또는 모델 학습 과정에서, 목표 변수(target) 또는 미래 정보가 직·간접적으로 입력 피처(feature)에 유입되는 현상
  • 즉, 정답(label) 또는 이를 유추할 수 있는 정보가 훈련 과정에 노출되는 오류로, 과적합(overfitting)의 주요 원인으로 작용함
  • 모델은 테스트 데이터에서는 일반화 실패를 보이며, 실제 환경에선 성능이 급격히 저하됨

3. Data Leakage의 유형

(1) Feature Leakage (피처 누수)

  • 정답값 또는 그로부터 파생된 값이 feature로 포함됨
  • 예: 신용카드 부정거래 탐지에서 '사후 환불 여부'를 feature로 포함할 경우, 이는 미래 정보를 포함한 누수 사례에 해당함

(2) Train/Test Contamination (훈련/테스트 혼입)

  • 데이터 분할 전에 스케일링, 정규화, 인코딩 등의 전처리 수행 시 발생
  • 통계값(평균, 표준편차 등)이 전체 데이터 기준으로 산출되어 테스트 데이터 정보가 학습 데이터에 반영됨

(3) Temporal Leakage (시계열 누수)

  • 미래 시점의 데이터가 과거의 feature로 사용됨
  • 예: 주식 예측에서 내일의 거래량을 오늘의 입력값으로 사용하는 경우

(4) Target Leakage (타겟 직접 누수)

  • 타겟 값 자체가 피처에 포함됨
  • 예: 질병 예측 모델에서 ‘진단 코드’ 또는 ‘치료 약물’ 정보를 feature에 포함하는 경우, 해당 데이터는 타겟에 직결되는 정보로 간주됨

4. Data Leakage 발생 사례

구분 사례 설명
신용평가 대출 상환 여부 포함 이미 결과가 반영된 feature 존재
의료 예측 사망 여부 예측 시 ‘사망진단서 발급 여부’ 포함 미래 정보로 구성된 feature
고객 이탈 예측 계약 해지일 포함 target label을 유추 가능한 정보 노출
시계열 예측 데이터 무작위 분할 시간 순서 보존 실패로 미래 정보 포함

5. 학습 데이터 구성 시 주의사항

(1) 데이터 전처리 전 분할 수행

  • 전체 데이터를 훈련/검증/테스트로 나눈 후 각 파티션 내에서 독립적 전처리 수행 필요
  • 스케일링, 인코딩, PCA 등의 처리 시 훈련 데이터 기준으로 파라미터 산출 후 적용

(2) 시계열 데이터는 시간 순서 유지

  • 미래 데이터가 과거 학습에 사용되지 않도록 시간 기준 분할 적용
  • Sliding window, walk-forward 방식 등 적용 필요

(3) 도메인 지식 기반 feature 검증

  • 데이터셋에 포함된 feature가 예측 시점에 존재 가능한 정보인지 확인
  • Label과 직접적으로 연결된 피처 제거 또는 마스킹 적용 필요

(4) AutoML, Feature Engineering 시 주의

  • 자동화된 피처 생성 과정에서도 누수 발생 가능성 존재
  • 특히 target encoding, high-cardinality categorical feature 처리 시 주의

(5) 교차검증 시 정보 독립성 확보

  • Fold 간 정보 유출을 방지하기 위해 그룹 기반 분할(GroupKFold) 또는 시계열 기반 분할(TimeSeriesSplit) 활용

6. Data Leakage 방지를 위한 전략

  • 데이터 파이프라인 설계 초기부터 누수 방지 원칙 명확히 정의
  • 전처리 과정 자동화 및 파라미터 고정을 통해 반복 작업에서도 일관성 유지
  • 도메인 전문가와 협력하여 feature relevance 검증 절차 마련
  • 모델 성능이 지나치게 높을 경우 과대적합 및 누수 의심하고 원인 분석
  • EDA(탐색적 데이터 분석) 시 상관계수 등으로 label과 feature 간 이례적 관계 존재 여부 확인

7. 결론

  • Data Leakage는 머신러닝 실무 적용에서 가장 흔하고 치명적인 오류 중 하나로, 사전 예방이 핵심
  • 단순한 모델 성능 향상보다 재현성과 일반화 가능성 확보가 중요함
  • 학습 데이터 구성 시 철저한 설계 원칙 수립과 데이터 흐름 통제 절차가 요구됨
  • 데이터 과학자, 도메인 전문가, 시스템 개발자 간의 협업을 통해 누수 가능성 최소화 필요