본문 바로가기

XGBoost6

[Porto Seguro’s Safe Driver Prediction] Improve 최종적으로 240등(Private 0.29025, Public 0.28669) 모델을 구축했다. 이전 포스팅에서 공개한 Baseline을 기반으로 업그레이드를 시켰으며, 주된 변경점은 1. category Feature encoding 방법 변경 2.Undersampling 이다. [ Category Feature Encoding ] 이전의 머신러닝 대회에서는 카테고리 변수 내에 Label이 너무 많아 모두 dummy화 시킬 경우 Cardinality가 너무 높아져서 문제가 되는 경우가 많았다. 그래서인지 당연하게 Category Feature를 Get_dummy가 아닌 Label Encoding을 했는데 이게 문제가 되었다. 문제를 발견한 건 어떤 방법을 써도 성능이 개선되지 않음을 깨달았을 때부터이다.. 2020. 2. 23.
[Porto Seguro’s Safe Driver Prediction] Baseline 구축 Porto Seguro’s Safe Driver Prediction 이 대회는 XGBOOST를 기반으로 Baseline을 구축했다. LGBM 모델과 성능을 비교하면서 접근했는데 어떤 상황이든 LGBM보다 XGBOOST가 더 높은 성능을 보였다. 1등한 사람의 리뷰를 보면 Denoising Autoencoder로 Feature를 뽑고 그것을 가지고 Neural Net을 만들어서 학습시켰다. 시간이 남는다면 Autoencoder를 꼭 적용해봐야하겠다. 지금은 XGBOOST를 기반으로 여러가지 시도해본 결과를 작성한다. Discussion을 읽다 보면 공통적으로 눈에 들어오는 이야기가 있다. 그것은 각 폴드 마다 Gini Index 산포가 발생한다는 것인데 Public Score에서도 충분히 이런 현상이 있을.. 2020. 2. 11.
[ASHRAE - Great Energy Predictor III] Best Weight 찾기 이번 포스팅에서는 Cross Validation 결과 Merge 할때 Weight를 어떻게 하면 좋을지 고민한 내용입니다. [Cross Validation, 최적의 Weight 찾기 : 1.1 -> 1.09 ] - 주어진 데이터를 Building_id 별로 Meter_reading 값을 산출하여 보면 최근 실적기준으로 추이가 변한 Building을 찾을 수 있었습니다. 빌딩의 옵션이 변했거나 주변 환경이 변한 이유일 것이라고 추정이 되는데, 이를 모델에 반영 하면 더 성능이 좋아질 것이라는 기대에 CV 결과를 단순 평균이 아닌 가중 평균을 진행했습니다. 데이터를 3 Folds로 분류하고 학습한 뒤 Inference 단계에서 모두 같은 비율로 평균을 내어 제출 했을 때 LB 1.1을 얻었고 최적의 비율을 .. 2019. 12. 15.
[ASHRAE - Great Energy Predictor III] Hyperparameter Optimaization 이번 포스팅에서는 Hyperparameter Tuning을 통한 LB Score를 향상시키는 방법에 대해 알아보겠습니다. 제가 사용하는 Hyperparameter 를 찾아가는 방법은 세가지 입니다. - Grid Search , Random Search, Bayesian Optimization Functions Grid Search는 Parameter 별로 값을 지정해주고 이를 조합하여 최적의 조합을 찾아가는 방식이고 Random Search는 Parameter 별로 범위를 지정해주고 그 안에서 Random 하게 값을 뽑아서 조합하는 방식입니다. 일정 시간 안에 결과를 내야하는 경우에는, Grid Search < Random Search 가 더 좋은 결과를 내는 경향이 있다고 알려져 있습니다만, 둘다 이전.. 2019. 12. 14.
[ASHRAE - Great Energy Predictor III] Leakage 된 데이터 활용하기 이번에는 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) ASHRA.. 2019. 12. 9.
[ASHRAE - Great Energy Predictor III] Model 확장 이번에는 Lightgbm이 아닌 다른 모델을 활용하여 다양성을 부여해보도록 하겠습니다. 지금은 Lightgbm이 tree 계열에서 가장 좋은 성능을 보이는 모델이지만 이전에는 Xgboost 만한 모델이 없었습니다. 최근에는 Xgboost가 Lightgbm에 비해 성능이 조금 떨어지고 CPU 학습시 속도도 오래걸리는 경향이 있지만 GPU를 활용한 학습이 가능하다는 점에서 아직까지 많은 사람들이 찾고 있습니다. Lightgbm도 GPU 를 활용한 적합이 가능은 하지만 Kaggle에 올라오는 경험담에 의하면 안정적인 결과를 내지 못하는 것 같다고 합니다. 그래서 저는 Lightgbm으로 학습 할 때 CPU만 활용하고 있고 Xgboost는 GPU 학습시킬 때 활용하고 있습니다. Xgboost 결과를 아래에서 같.. 2019. 12. 8.