본 프로젝트의 목표는 음악 스트리밍 서비스 사용자 데이터를 기반으로 구독 이탈 가능성이 있는 사용자를 예측하는 이진 분류 모델을 구축하는 것이다.
사용자의 음악 소비 패턴, 플랫폼 활동, 구독 행동, 고객센터 이용 정보 등을 활용하여 이탈 여부를 예측하였다.
이탈 예측 문제는 서비스 운영 측면에서 다음과 같은 활용 가치를 가진다.
이를 위해 서로 다른 모델 구조를 가진 여러 머신러닝 알고리즘을 비교하여 baseline 성능을 확인하였다.
본 실험에서는 다음과 같은 6개의 모델을 비교하였다.
| Model | Type |
|---|---|
| LogisticRegression | Linear Model |
| SVC | Kernel-based Model |
| RandomForest | Bagging Ensemble |
| CatBoost | Gradient Boosting |
| XGBoost | Gradient Boosting |
| LightGBM | Gradient Boosting |
선형 모델(LogisticRegression)은 가장 기본적인 분류 모델로 baseline 성능을 확인하기 위해 포함하였다.
SVC는 비선형 커널을 이용하여 사용자 행동 데이터의 복잡한 패턴을 학습할 수 있는 모델이다.
RandomForest는 트리 기반 Bagging 앙상블 모델로 안정적인 성능을 확인하기 위해 포함하였다.
CatBoost, XGBoost, LightGBM은 구조화된(Tabular) 데이터에서 높은 성능을 보이는 Gradient Boosting 계열 모델로 최근 실무에서 널리 사용되는 알고리즘이다.
범주형 데이터 처리 방식은 모델별 특성에 맞게 적용하였다.
CatBoost의 경우 범주형 데이터를 내부적으로 처리할 수 있기 때문에 Pool 객체를 사용하여 학습을 진행하였다.
반면 LogisticRegression, SVC, RandomForest, XGBoost, LightGBM 모델은 범주형 변수를 사전 인코딩 전처리를 통해 수치형으로 변환한 후 학습을 진행하였다.
먼저, 베이스라인 모델 비교는 공정성을 위해 모든 모델은 동일한 기본 하이퍼 파라미터 설정을 사용하여 학습을 진행하였다.