Home Credit - Credit Risk Model Stability

MSMoon·2025년 4월 17일

kaggle 학습

목록 보기
5/18
post-thumbnail

1. 대회 설명

  • 목표: 고객의 신용 위험을 평가하여 대출 상환 가능성 예측
  • 문제 유형: 지동학습 회귀 문제
  • 데이터 배경: 서로 다른 시간대에서 수집된 고객 데이터를 포함하고 있어, 데이터 드리프트(data drift) 존재
    -> application_train.csv, application_test.csv: 기본 신청 정보
    -> bureau.csv, previous_application.csv: 과거 대출 기록
    -> credit_card_balance.csv, POS_CASH_balance.csv, installments_payments.csv 등: 대출 사용 이력

2. 성능 평가 방식 이해

  • AUC(Trea Under FOC Curve) 사용
  • 높은 AUC 점수와 함께 Overfitting 방지 및 generalization

3. 데이터 전처리

3-1 ) EDA

  • application_train.csv 기준으로 결측치 비율을 시각화하고, 상관관계를 분석
  • target 값은 불균형하지만 (0:1의 비율은 약 92:8), 심각한 클래스 불균형은 아님
  • DAYS_BIRTH, AMT_INCOME_TOTAL, EXT_SOURCE_1/2/3 등 주요 피처가 모델 성능에 큰 영향을 미침

3-2) Data Cleansing

  • EXT_SOURCE_1/2/3 및 일부 금액 관련 컬럼의 결측값을 평균(mean)으로 대체
  • 범주형 변수는 Label Encoding 혹은 One-Hot Encoding 방식으로 처리
  • 이상치 처리보다는 모델이 학습 과정에서 자동으로 무시하도록 구성

3-3) Feature Engineering

  • DAYS_EMPLOYED의 이상치 값(365243)은 결측치로 간주 후 처리
  • AMT_CREDIT / AMT_INCOME_TOTAL 등 주요 비율 피처 생성
  • 각 서브 테이블 (bureau, credit_card_balance 등)로부터 집계 통계 피처(agg features) 생성 후 application 테이블과 merge

4. 모델링

4-1) 모델

  • 기본 모델: LightGBM
  • sklearn 기반의 GridSearchCV를 사용해 하이퍼파라미터 최적화
  • 최종적으로는 SHAP (SHapley Additive exPlanations) 을 통해 피처 중요도를 시각화

4-2) 데이터 분할

  • train_test_split으로 train-validation을 80:20으로 분리
  • KFold 교차검증은 사용하지 않음 (GridSearchCV 내부에서 교차검증 사용)

4-3) 하이퍼파라미터 튜닝

  • max_depth, num_leaves, learning_rate 등 핵심 파라미터에 대해 GridSearchCV로 탐색
  • scoring metric은 roc_auc 기준으로 평가
  • 최적 파라미터로 모델 재학습 후 SHAP으로 결과 해석

4-4) 최종 성능

  • 주요 피처: EXT_SOURCE_2, EXT_SOURCE_3, DAYS_BIRTH, DAYS_EMPLOYED
  • SHAP 해석 결과에서도 동일 피처가 높은 영향력 보임
  • 최적 파라미터 기준 Validation AUC: 0.746

5. 정리(Lesson & Learned)

  • 데이터 전처리 및 특징 생성의 중요성: 다양한 파생 변수 생성(ex: 신청자 나이, 고용기간, 요일/월/년 등)이 모델 성능 향상에 크게 기여함을 확인
  • 모델 해석 가능성 확보: SHAP 값을 활용한 feature importance bar plot, beeswarm plot을 통해 모델이 어떤 feature에 얼마나 의존하는지를 시각적으로 분석
  • 모델의 안정성 분석: Gini 계수의 주차별 변화와 추세를 기반으로 모델의 시간적 안정성을 평가, slope, 평균, RMSD를 조합한 stability score를 통해 단순 성능뿐 아니라 실 운영에 적합한 모델인지 판단하는 좋은 기준이 됨
  • 실행 환경의 한계 (Google Colab): 해당 필사를 진행하면서 RAM이 초과되어 세션이 중단되는 이슈가 있었음, 향후 고사양 계산이 필요한 모델 해석 작업은 로컬 환경 또는 고성능 클라우드 환경에서 진행하는 것이 바람직하다는 교훈을 얻음

Home Credit - Credit Risk Model Stability

0개의 댓글