분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
[Private 2nd] XGBoost + LightGBM + CatBoost (Soft Voting)
안녕하세요. '승리를위하여' 팀입니다.
저희는 2명이 팀을 이루어 역할을 분담한 뒤, XGBoost, LightGBM, CatBoost 모델을 각각 학습시켜 성능을 개선하고,
세 모델을 앙상블하여 최종 모델을 완성했습니다.
아래는 데이터 분석 과정에서 마주했던 문제들을 해결하기 위해 시도한 내용들입니다.
더 자세한 내용은 PPT 자료와 코드를 참고해주시기 바랍니다.
1. EDA 및 전처리
- 학습 데이터는 클래스 간 불균형이 매우 심했음
- A/B 등급 고객을 잘 구분하는 것을 목표로 EDA를 진행하고, 관련 파생 변수를 생성함
2. 사용 메모리 초과 문제
- GPU 활용
- 데이터 타입 최적화: int64 → int32 등
- 중간 저장 및 세션 다시 시작
- feature importance 기반 주요 변수 사용
3. 데이터 불균형 보완
- SMOTE로 A/B/C 등급 오버샘플링
- 클래스 가중치 적용: 모델 학습 시 balanced class weight 적용
4. 모델 성능 개선
- 검증용 데이터로 mlogloss와 macro F1-score 평가
- 하이퍼파라미터 튜닝: Optuna를 이용해 세 모델 모두 튜닝 시도
LightGBM은 튜닝 효과가 뚜렷하여 총 4단계에 걸쳐 진행했으며, XGBoost와 CatBoost는 기본 설정이 더 효과적이었음
- early_stopping_rounds 활용
- Soft Voting 앙상블: 성능이 가장 좋은 XGBoost의 가중치를 소폭 높여 최종 모델 성능 향상
5. 효과가 크지 않았던 시도: PCA, K-fold CV
생각보다 좋은 결과가 나온 것 같아 뿌듯하고, 값진 경험이 된 것 같습니다.
다른 분들이 올려주신 코드와 분석 방법도 큰 도움이 될 것 같아 기대되고, 앞으로도 많이 배우고 싶습니다.
참여하신 분들 모두 수고 많으셨습니다. :)
DACON Co.,Ltd | CEO Kookjin Kim | 699-81-01021
Mail-order-sales Registration Number: 2021-서울영등포-1704
Business Providing Employment Information Number: J1204020250004
#901, Eunhaeng-ro 3, Yeongdeungpo-gu, Seoul 07237
E-mail dacon@dacon.io |
Tel. 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
다른 분들이 어떤 방법을 시도해보셨을까 너무 궁금했던 대회였네요. 수고하셨습니다!