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

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

  • moneyIcon 데이스쿨 프로 구독권
  • 553명 마감

 

[private 5th] 재현 코드/솔루션

2025.08.28 22:54 1,047 조회 language

데이터 전처리
- `encode_string_columns` 함수로 문자형 변수 전부에 Label Encoding 수행  
- 결측치는 모두 -1로 대체  
- "IT 관련 전공 여부"를 `is_it` 변수로 생성  
- `time_input`과 `participation` 곱으로 `time_particip` 파생 변수 생성(해당 변수 있을 경우)

학습/검증 데이터 분할
- `train_test_split` 함수 활용, 80% 학습용, 20% 검증용 데이터로 분할  
- stratify 옵션으로 클래스 불균형 보정

모델 정의 및 앙상블 구성
- LightGBM, XGBoost, LogisticRegression 모델을 VotingClassifier의 soft voting 방식으로 결합  
- 개별 모델의 예측 확률을 평균내어 최종 예측 확률 산출

최적 임계값 튜닝 함수 구현
- validation 데이터의 예측 확률에 대해 F1-score가 가장 높은 threshold를 탐색

모델 학습 및 예측
- 전체 학습 데이터를 사용해 VotingClassifier 학습 후 테스트 확률 예측  
- Validation 데이터로도 학습해 최적 threshold 계산

후처리 - Extreme_v2 전략 적용
- 예측 확률 범위별로 수료 여부 결정:  
  - 0.1 ~ 0.3 → 0 (탈퇴)  
  - 0.3 ~ 0.7 → 1 (수료)  
  - 나머지 확률은 튜닝한 threshold 기준 적용

결과 제출
- 후처리된 예측 결과를 `submission_extreme_v2.csv` 파일로 저장  
- 완료 메시지 출력

PDF
코드