분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
[private 6등] XGBoost + LGBM 앙상블(일조일사 예측 + 태양광 유무에 모델 분리)
먼저 모든 참가자분들 고생하셨습니다.
이전 1,2회 대회의 모든 수상자 분들과 코드 공유를 해주신 분들, 이번 대회에 토크 및 코드 공유 올려주신 모든 분들께 감사의 인사를 올립니다.
감사한 마음을 담아 코드 내부에 하나 하나 설명을 써놨습니다.
저희의 코드가 다른 많은 분들의 공부에 큰 도움이 되기를 간절히 바랍니다.
코드가 길기 때문에 STEP 별로 하나씩 설명드리겠습니다.
1. import 부분
1) numpy==1.26.4 / pandas==2.1.4 / tqdm==4.67.1 / scikit-learn==1.4.2 / xgboost==3.0.2 / lightgbm==4.6.0 / optuna==4.4.0
2) SEED 고정 : 코드 전체에서 모든 random state는 seed로 고정
3) 전역변수 정의
2. STEP 1 - preprocessing
1) 시간 파생피처 제작(주기성 피처는 sin, cos으로 제작)
2) 풍속, 습도는 0이 불가능하여 선형 보간
3) 데이터 증폭(분 단위 시간 간격 추가)
4) 기타 파생피처 제작(PT, CDH, DI 등)
3. STEP 2 - interpolation
1) train의 일사량이 기간전체에 0인 몇개 건물을 xgb, lgbm으로 예측하여 보간
2) test의 일조시간을 예측하여 보간
3) test의 일사량을 예측하여 보간
4) 일조시간과 일사량으로 파생피처 추가 제작
4. STEP 3 - model
1) 모델은 xgb, lgbm 앙상블, optuna 하이퍼 파라미터 튜닝(sampling)
2) segmented model(pcs가 있는 건물, pcs는 없지만 태양광은 있는 건물, 태양광이 없는 건물로 구분해서 피처를 다르게 학습 예측)
3) building_type model(유형별로 학습 예측)
4) building_num model(건물 번호별로 학습 예측)
5. STEP 4 - ensemble, save
1) 3개 모델은 1/3씩 동등 가중치 앙상블
2) submission 파일 제작
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
직업정보제공사업 신고번호: J1204020250004
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io |
전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved