Data Leak 란? [in Data Science]

less than 1 minute read

최근 캐글 컴페티션 내부에서도 디스커션, 커널로 빈번히 이슈화되고 있는 Data Leak (데이터 누수)에 관해서 조금 정리해보았습니다.

Data Leak 란?

데이터 누출이라고 하면 일반적으로 어떤 기업에 대외비 같은 자료가 무단으로 외부 유출이 되는 경우를 생각할 수 있습니다. 하지만 캐글을 하게되면 가끔 leak라는 단어를 보게 됩니다. 대체 머신러닝에서 Data leak란 무엇일까요?

머신러닝에서 Data leak는 주로 Training Dataset이 아닌 정보로 모델을 생성할 때 발생합니다. 이로 인해, 생각지도 못한 정보가 모델로 유입될 가능성이 있고, 모델로 하여금 예상했던 성능과는 다른 결과를 나오게 할 수도 있습니다.

머신러닝에서 Data leak라고 말하는 몇가지 예를 가져와 봤습니다.

1. Target Variable(Label)이 Feature engineering 과정에서 적절치 못하게 유입이 되는 경우

  • Target Encoding
  • Stacking 출처:
    https://ishuca.tistory.com/419

2. Data Scaling 과정에서 Training Data와 Test Data 각각 독립적으로 Scaling 적용 하는 경우

  • Data Standard
  • min-max scaling

3. A real machine learning problem, 그 feature가 실제로 사용이 가능한가?

  • 2번과 비슷하지만 다른 관점에서

번외. 전혀 의도하지 않은 Training data set 내부의 information

출처 :
https://www.kaggle.com/c/santander-customer-transaction-prediction/discussion/84614 https://machinelearningmastery.com/data-leakage-machine-learning/ https://www.kaggle.com/dansbecker/data-leakage https://maxhalford.github.io/blog/target-encoding-done-the-right-way/ https://ishuca.tistory.com/419

Leave a comment