본문 바로가기

머신러닝20

[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 성능 향상시키기 이번에는 제가 Model 성능을 향상 시키기 위해 사용한 방법들을 살펴보겠습니다.(Base : LGBM) 이전 포스팅에서 리뷰했던 Baseline 모델의 성능은 LB = 1.3 입니다. (Github 코드 : 바로가기) 1. Feature Engineering : 1.3 → 1.13 - 앞선 Baseline에서 활용한 Feature 외에 몇 가지 Feature를 더 만들어서 반영했습니다. 아래 과정을 통해 LB Score를 0.17 향상시켰습니다. 첫번째는 isholiday 입니다. 건물의 전력소모량을 예측하는 문제이니 당연히 고려되어야 할 요소가 바로 휴일입니 다. 휴일에는 Education 이나 Office로 활용하는 건물은 휴일에는 전력 소모량이 줄어들 것이기 때문입니다. 비슷하게 생각하여 주말도 .. 2019. 12. 8.
[ASHRAE - Great Energy Predictor III] Baseline 구축하기 공개 커널을 필사하여 어느 정도 데이터에 대한 감을 잡았으니 이제 Baseline 모델을 구축하고자 합니다. 바닥부터 데이터만 가지고 모델링을 해가는 방법이 있지만 이렇게 할 경우 정말 많은 삽질을 해야하기에 저는 이미 참가자들 사이에서 검증된 공개 Baseline 커널을 가져와 조합하여 만들었습니다. github code : baseline / 공개커널1 / 공개커널2 Baseline은 LightGBM(LGBM)으로 구축하여 속도와 정확성을 한번에 잡아보고자 했으며, 추후에 모델 다양성을 확보하기 위해 Xgboost 와 Catboost로 확장하여 진행할 예정이고 시간이 된다면 Ridge, Lasso로도 확장해보고자 합니다. 데이터 용량이 매우 크기 때문에 LGBM으로 학습하여도 8 Core 16 Thr.. 2019. 12. 7.
[ASHRAE - Great Energy Predictor III] 데이터 파악하기 이번에는 ASHRAE 대회에서 제공된 데이터 구조 및 컬럼 속성 에 대해 간단하게 파악해보고자 합니다. 보통 저는 캐글 대회를 시작하면 공개 Kernel로가서 Vote 수가 가장 많은 데이터 시각화 또는 Starter Code라고 적혀 있는 커널을 고르고 필사를 하면서 데이터의 구조와 컬럼 속성을 파악합니다. 아래 작성된 내용은 공개커널1 / 공개커널2 을 참조하여 작성했습니다. ㅁ 구조 및 속성 - 데이터는 세 종류로 제공됩니다. 이 중 타겟 컬럼은 Train 테이블의 "meter_reading" 값이며 "meter" 컬럼에 의해 Electricity/Chilledwater/Steam/Hotwater 로 측정 영역이 구분됩니다. 날씨 정보 / 건물 정보 / 건물 전력측정치(Target) ㅁ EDA(Ex.. 2019. 12. 5.
[ASHRAE - Great Energy Predictor III] 대회 소개 이번에 리뷰할 대회는 ASHRAE(어슈래)에서 주최한 ASHRAE - Great Energy Predictor III 입니다. ※ ASHRAE : The American Society of Heating, Refrigerating and Air-Conditioning Engineers, 미국의 공조냉동공학회 세계 각국의 1000개가 넘는 건물에서 생성된 3년간의 Electricity/Chilledwater/Steam/Hotwater 영역에서의 사용량을 기반으로 모델링을 하는 대회로 Input 인자로는 빌딩 정보, 날씨 정보가 주어졌습니다. 참고로 이 대회는 Data Leakage가 있어 참가자들 사이에서 말이 많아 주최측에서 Private Score를 매길 때 Leakage된 건물 Id는 제외할 것이라고.. 2019. 12. 5.
안녕하세요 꿈을 간직한 사나이 입니다. 블로그를 시작합니다. 오랜 시간 동안 고민하고 망설였습니다. 이제 동굴 속에서 나와 세상을 향해 으르렁 대는 사자처럼 한걸음 한걸음 걸어나가고자 합니다. 교학상장(敎學相長)을 몸소 실천하면서 "꿈을 간직한 사나이" → "꿈을 이룬 사나이"로 거듭나겠습니다. 이 블로그는 캐글(Kaggle) 대회에 참여하여 얻은 지식을 공유하는 장으로 활용할 예정이며, 머신러닝/AI 또는 캐글을 시작하는 분들의 길잡이가 될 수 있도록 발전시킬 생각입니다. 블로그 내용이 도움이 되셨다면 댓글과 좋아요 부탁드리며, 미흡하다고 생각되는 부분 또한 댓글 남겨주시면 확인하여 수정하도록 하겠습니다. 블로그에 방문해주셔서 진심으로 감사드립니다. 이상입니다. - 꿈.간.사 올림- 2019. 11. 26.