이번에는 Leakage 된 데이터를 활용하여 Score를 올려본 방법과 결과를 공유하도록 하겠습니다.
이 대회는 심각한 Data Leakage가 있었습니다. 현재까지는 Site 5개(0,1,2,4,15) 데이터의 시간대별/meter_type별
Meter_reading 값이 오픈되어 있습니다. 이는 캐글에서 대회 주관자가 오픈한 것이 아니라 다른 대회 혹은 다른 Site에서
데이터 분석을 위해 올려놓은 데이터를 참가자들이 크롤링하여 정리한 것입니다. 아래에서 이야기하겠지만 Leakage 된
데이터는 LB Score에 0.1정도 영향을 미칩니다.
Leak Dataset은 총 5개 입니다. (참조 : https://www.kaggle.com/yamsam/ashrae-leak-data-station)
- ASHRAE - UCF Spider and EDA (Full Test Labels) v3
- UCL: Data Leakage (Episode 2) v1
- ASU train and scraped test data v7
- UCB: Data Leakage (Site 4) v15
- ASHRAE-site15-cornell v3
Leak Dataset을 활용하는 방법이 여러가지가 있을 수 있겠지만 제가 선택한 것은 아래 세가지 입니다.
1. 기존 모델의 결과에 Leak data 결과 Replace 하기
- Leak data를 활용하기 전에 제가 모델링하여 적정수준의 LB Score를 낸 결과 중에서 Leak된 Building_id와
시간에 해당하는 데이터를 Replace 한 결과, 대부분의 모델에서 0.1 정도의 LB Score 이득이 있는 것으로
확인 되었습니다.
* LGBM 1.1 -> 1.007 / xgboost 1.125 -> 1.024 / catboost 1.152-> 1.047
2. Leak된 데이터를 삭제하고 Training 시키기
- Leak 된 데이터에 이상치를 포함하고 있어서 학습이 더이상 안되는 것은 아닐까 하는 생각에 Leak 데이터를
제외하고 LGBM을 학습시켰습니다. 하지만 결과는 기존 결과보다 0.02 정도 낮게 나온것으로 확인되어서
이 방법을 제외했습니다. 생각해보면 Tree 모델은 Building_id를 카테고리로 지정해뒀기 때문에 Building_id를
몇개 지운다고 해서 학습이 드라마틱하게 더 잘되고 그러지 않는 것 같습니다.
3. Leak Validation
- Kaggle에 공개된 커널 중 가장 점수가 높은 커널을 확인해보면 Leak Validation 방법 + Heuristic Search 방법을
사용한 것을 확인할 수 있습니다. 여기에서 Leak Validation은 Leak된 데이터 셋의 결과를 Target으로 두고
모델 결과물들(LGBM, XGBOOST, CATBOOST) 혹은 CV folds 를 잘 결합하여 최고의 성능을 낼수 있는 Weight를
찾아가는 방법으로 진행 됩니다.
이 방법을 적용하여 CV Folds 간의 가중치를 시뮬레이션 한 결과, 최근 데이터를 학습한 모델의 결과에 7을
다른 모델에는 각각 2 또는 1을 주어 가중 평균을 실시한 것이 가장 Best 인 것으로 나타났습니다.
아무래도 주어진 데이터가 시계열 데이터이다보니 최근 데이터를 반영하는 것이 앞을 예측하는데 도움이 가장
크게 된것으로 보입니다.
(참조 : https://www.kaggle.com/wwwjk366/ashrae-leak-validation-bruteforce-heuristic-search)
'Kaggle 대회' 카테고리의 다른 글
[ASHRAE - Great Energy Predictor III] Best Weight 찾기 (0) | 2019.12.15 |
---|---|
[ASHRAE - Great Energy Predictor III] Hyperparameter Optimaization (0) | 2019.12.14 |
[ASHRAE - Great Energy Predictor III] Model 확장 (0) | 2019.12.08 |
[ASHRAE - Great Energy Predictor III] Model 성능 향상시키기 (0) | 2019.12.08 |
[ASHRAE - Great Energy Predictor III] Baseline 구축하기 (0) | 2019.12.07 |
댓글