Credit Card Customer Segmentation AI Competition

Algorithm | Monthly Dacon | Structured | Finance | Classification | F1 Score

  • moneyIcon Prize : DASCHOOL Pro Subscription
  • 2025.03.10 ~ 2025.04.30 09:59 + Google Calendar
  • 1,504 Users Completed

 

[Private 2nd] XGBoost + LightGBM + CatBoost (Soft Voting)

공동작성자
2025.05.04 21:44 641 Views language

안녕하세요. '승리를위하여' 팀입니다.

저희는 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


생각보다 좋은 결과가 나온 것 같아 뿌듯하고, 값진 경험이 된 것 같습니다.
다른 분들이 올려주신 코드와 분석 방법도 큰 도움이 될 것 같아 기대되고, 앞으로도 많이 배우고 싶습니다.
참여하신 분들 모두 수고 많으셨습니다. :)

PDF
Code
Login Required
0 / 1000
과적합방지위원회
2025.05.07 15:23

다른 분들이 어떤 방법을 시도해보셨을까 너무 궁금했던 대회였네요. 수고하셨습니다!