본문 바로가기
기타/학습일지

[Upstage AI lab 2기] 12주차

by whybe 2024. 2. 26.

0. Introduction

Home Credit - Credit Risk Model Stablility

  • Home Credit이라는 회사는 대출 이력이 없는 사람에게도 대출 서비스를 제공하는 회사로, 해당 고객이 대출 상환 능력이 좋은 고객인지 예측하는 것이 중요하다. 따라서 해당 대회의 목적은 크게 2가지로 축약할 수 있다.
    • 고객의 신용 위험을 예측하기 위한 효과적인 모델을 개발해야 한다. - 모델 성능
    • 모델은 시간이 지나도 안정적으로 작동해야 한다. - 모델 안정성
  • 모델 안정성을 측정하기 위해서 대회 자체적으로 도입한 metric을 사용했다. - 현재 metric issue로 대회 중단
    • 𝑠𝑡𝑎𝑏𝑖𝑙𝑖𝑡𝑦𝑚𝑒𝑡𝑟𝑖𝑐 = 𝑚𝑒𝑎𝑛(𝑔𝑖𝑛𝑖)+88.0min(0,𝑎)0.5𝑠𝑡𝑑(𝑟𝑒𝑠𝑖𝑑𝑢𝑎𝑙𝑠)

gini

1. Feature Engineering

  • 상관계수를 통해 다중공선성을 발견하여 이를 해결하고자 했지만 다중 공선성을 해결한 경우에 오히려 모델의 성능은 떨어졌다.
    • 도메인에 따라서 다중공선성을 해결하지 않은 경우, 즉 모든 Feature를 전부 사용할 필요가 있는 경우도 있다.

  • target에 따라 각 feature들의 분포를 확인했을 때 유의미한 차이가 발견된 feature를 위주로 feature engineering을 진행했다.
    • case_id에 따라 groupby하여 max, sum, mean 등의 aggregation을 적용하여 새로운 feature를 생성하였다.

 

2. Model Baseline

  • EDA와 feature enginnering을 통해 만든 feature를 이용하여 competition host의 starter notebook의 기본 셋팅에 그대로 학습을 진행하였다.
 

Team9_Baseline | V4

Explore and run machine learning code with Kaggle Notebooks | Using data from Home Credit - Credit Risk Model Stability

www.kaggle.com

3.  hyper-parameter tunning

  • optuna를 사용하여 hyper-parameter tunning을 진행하였고 gini stability(대회 자체 metric)를 objective로 설정하였을 경우 is_unbalanced나 scale_pos_weight를 사용하는 경우 오히려 성능이 떨어지는 경향이 보였다. 
  • auc + is_unbalanced(or scale_pos_weight) / only gini stability 의 두 가지 경우 중 하나를 사용하는 것이 적합해보였다.

ps. 결과 자체는 부실하지만 kaggle notebook에서 동메달을 두 개 받아서(아직 확정은 아니지만) 커뮤니티 분위기가 정말 훈훈하다고 느꼈다,,, 코드는 많이 작성해보는 게 실력 향상에 도움이 되고, 좋은 코드를 작성해봐야 그 경험이 유의미하기 때문에 kaggle notebook 필사는 좋은 공부 재료가 될 거 같다는 생각이 든다.

 

'기타 > 학습일지' 카테고리의 다른 글

[Upstage AI lab 2기] 11주차  (0) 2024.02.22
[Upstage AI lab 2기] 10주차  (0) 2024.02.16
[Upstage AI lab 2기] 8주차  (0) 2024.02.02
[Upstage AI Lap 2기] 7주차  (0) 2024.01.24
[Upstage AI Lap 2기] 5주차  (0) 2024.01.11