Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

20201479.pdf

요약

본 보고서는 고객 이탈 예측 문제에서 Logistic Regression을 기반으로 다양한 feature engineering, scaling, 차원축소, 이상치 처리 기법을 적용하여 성능을 극대화하는 과정을 다룬다. PolynomialFeatures를 통한 다항식 확장과 StandardScaler 적용, 그리고 이상치 클리핑을 조합했을 때 ROC-AUC 0.8653, F1-score 0.5703으로 가장 높은 성능을 달성하였다.

서론

고객 이탈(Churn) 예측은 금융 산업에서 매우 중요한 과제이다. 본 보고서는 단순한 숫자형 변수만을 사용한 Baseline 모델과, 다양한 feature engineering 및 전처리 기법을 적용한 모델의 성능을 비교하여, 어떤 방법이 이탈 예측에 효과적인지 분석한다.

방법

  • 데이터셋: dataset/train.csv
  • Baseline: 숫자형 변수만 사용한 Logistic Regression
  • Feature Engineering 및 실험:
    1. 다항식/상호작용 Feature 추가 (PolynomialFeatures, degree=2)
    2. MinMaxScaler, StandardScaler, RobustScaler 등 다양한 스케일러 적용
    3. VarianceThreshold(0.01)로 feature selection
    4. PLSRegression(2 components) 차원축소
    5. PolynomialFeatures(interaction_only=False)로 모든 다항식 항 포함
    6. LogisticRegression의 C 파라미터(규제 강도) 튜닝
    7. Balance, EstimatedSalary, CreditScore의 이상치(상하위 1%) 클리핑
  • 성능 평가: 80/20 stratified train/validation split, F1-score, ROC-AUC

결과

실험 단계 F1 Score ROC-AUC
Baseline (숫자형만) 0.4378 0.7957
PolynomialFeatures(inter_only=True)+MinMax 0.4819 0.8177
VarianceThreshold(0.01) 0.4617 0.8003
PLSRegression(2 comp) 0.4303 0.7973
PolynomialFeatures(inter_only=False)+MinMax 0.5607 0.8644
PolynomialFeatures(inter_only=False)+Standard 0.5701 0.8652
PolynomialFeatures(inter_only=False)+Robust 0.5701 0.8652
PolynomialFeatures+Standard, C=0.1 0.5703 0.8652
PolynomialFeatures+Standard, C=10 0.5701 0.8652
PolynomialFeatures+Standard+Clip 0.5703 0.8653
  • 최종 최고 성능:
    • F1: 0.5703
    • ROC-AUC: 0.8653
    • (PolynomialFeatures(inter_only=False) + StandardScaler + 이상치 클리핑)

논의

  • 단순한 다항식/상호작용 feature 확장만으로도 Baseline 대비 성능이 크게 향상됨을 확인했다.
  • VarianceThreshold, PLSRegression 등 일부 차원축소/feature selection 기법은 오히려 성능 저하를 보였다.
  • 모든 다항식 항을 포함하고, StandardScaler를 적용한 후, 이상치 클리핑까지 조합했을 때 가장 높은 성능을 달성했다.
  • LogisticRegression 기반에서 feature engineering만으로 ROC-AUC 0.87 이상은 달성하지 못했으나, 0.865 수준까지는 도달할 수 있었다.

결론

PolynomialFeatures(모든 항 포함) + StandardScaler + 이상치 클리핑 조합이 Baseline 대비 가장 뛰어난 성능을 보였다. 향후에는 범주형 변수 인코딩, 비선형 모델(RandomForest, SVM 등) 적용, 앙상블 기법 등을 추가로 실험해볼 필요가 있다.

참고문헌

실행방법

  1. uv 패키지 매니저 설치

    • uv는 Python 패키지 매니저로, 자세한 설치 방법은 uv 공식 GitHub를 참고하시기 바랍니다.
  2. 프로젝트 실행

    uv run main.py

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages