1. 대회 설명
- 목표: 신용카드 사용자들의 거래 이력을 기반으로, 디폴트 가능성(신용불량 여부)을 예측하는 이진 분류 모델을 구축
- 문제 유형: 이진분류(Binary Classification)
- 데이터 배경
-> 고객 식별자(customer_ID) 기준의 시계열 거래 이력 (최대 13개월)
-> 다양한 금융 변수(소득, 사용 내역 등)를 포함한 high-dimensional 데이터
2. 성능 평가 방식 이해
- 커스텀 평가 지표 (Amex Metric) 사용
-> 두 가지 성분의 평균: Top 4% capture rate, Weighted Gini coefficient
3. 데이터 전처리
3-1) EDA
- 데이터가 매우 크기 때문에 로컬 환경(VSCode)에서 처리
- 고객별 시계열 데이터는 customer_ID + S_2(날짜) 기준
- 결측치가 다수 존재하며, 시계열 feature에 따라 다양한 패턴이 존재
3-2) Data Cleansing
- prepare_payment_rank()를 통해 고객별 rank 생성
- 결측값은 모델이 직접 처리할 수 있도록 남겨둠
3-3) Feature Engineering
- 각 feature를 하나의 시계열 벡터로 간주하여 SequentialTransformer 모델 학습
- 고객별 데이터를 시계열로 인코딩 후, 예측 확률값을 feature로 변환
- 이진 classification task이므로 확률 기반 예측값을 추출하여 최종 메타모델의 input으로 사용
4. 모델링
4-1) 모델
- SequentialTransformer (LightGBM 기반): feature 하나당 하나의 모델을 학습, 고객별 시계열 → 단일 예측값으로 압축
- 최종 예측은 다수 feature에 대해 예측된 결과를 통합하여 meta-model에서 처리
4-2) 데이터 분할
- 각 feature마다 2-Fold Cross Validation 수행 (원래는 5-Fold → 시간 단축 목적)
- Fold별 OOF 예측값 저장
4-3) 하이퍼파라미터 튜닝
- LightGBM 내부 파라미터 경량화 설정
-> num_boost_round=1000
- 해당 내용 외에는 기본 파라미터 진행
4-4) 최종 성능
- 각 feature에 대해 OOF 예측값을 저장하고, 이를 기반으로 최종 메타모델 입력 생성
5. 정리(Lesson & Learned)
- feature마다 시계열 인코딩 후 예측값을 feature로 사용하는 방식에 대해 배움
- 캐글 진행 시에는 메모리 효율성과 학습 속도 고려가 매우 중요함을 체감
- OOF → stacking → meta model로 이어지는 구조적 학습 파이프라인 설계 학습
- 실제 원본 노트북과 차이
-> 파일형식: .parquet → .csv (train_data.csv, test_data.csv 활용)
-> feature 수: 전체 602개 → 상위 30개만 사용
-> fold 수: 5 → 2로 줄여 학습 시간 단축
-> .parquet 저장 시 pyarrow 패키지 추가 설치
-> 학습된 feature만 추론 대상 (selected_features 기반 loop 처리)
American Express - Default Prediction