데이콘 x BDA 제 2회 학습자 수료 예측 AI 경진대회

알고리즘 | 월간 데이콘 | 정형 | F1 Score

  • moneyIcon 데이스쿨 프로 구독권
  • 1,222명 마감

 

[Private 15th] xgboost + catboost ensemble

공동작성자

stroke
2026.02.25 21:07 481 조회 language

먼저 xgboost, catboost를 사용하였으며 train 시 school id를 사용한 Stratified Group 5fold를 사용했습니다.
두 모델을 majority hard voting하여 최종 예측을 산출하였으며 각 모델 학습 시 xgboost의 경우 10seed, catboost의 경우 5seed ensemble을 수행하였습니다.

threshold를 구할 때 "Test data의 상위 n% 비율이 1이 되도록 조정"하면 data leakage의 위험성이 있으므로 그 대신 oof validation을 통해 탐색&고정한 fixed final threshold를 사용하여 모델 별 예측을 수행하였습니다.

Google Colab Pro+ (Linux Ubuntu 기반 환경)에서 코드를 실행하였으며 requirements.txt는 다음과 같습니다.
numpy==2.0.2
pandas==2.2.2
scikit-learn==1.6.1
scipy==1.16.3
catboost==1.2.8
torch==2.9.0
optuna==4.6.0
tqdm==4.67.1

최신 Google Colab Kernal의 Pytorch에 기반한 패키지 버전들이 torch==2.10.0을 요구하여 requirements.txt와 맞지 않아 가끔 에러가 발생할 수 있지만, 이는 세션 재시작으로 간단하게 해결할 수 있습니다.

Seed를 최대한 고정하였지만 Catboost GPU train의 라이브러리 수준에서 생기는 통제 불가능 비결정성으로 몇개 정도 예측 결과가 달라질 수 있습니다. 수 차례의 자체 재현성 검증 결과 final submit 기준 1~2개의 예측 결과 차이가 발생할 수 있습니다. 재현 시 ipynb 파일에 기록된 log를 참고하여 주시기를 부탁드립니다.

실행&재현의 편리성을 위해 전체 코드가 들어 있는 레포지토리를 github link로 별도 첨부합니다.
https://github.com/knowin-kyeong/2026PredictingBDACompletion

PDF
코드
로그인이 필요합니다
0 / 1000
진욱
2026.02.27 16:07

👍