🖇 왜 모델 적용 순서를 고려해야 할까?
🖇 실험 방향 세우기
🖇 모델 적용 우선순위
🖇 모델 적용 전략
머신러닝 모델은 그 자체로 정답이 아니고, 모델 선택은 반드시 높은 성능을 내는 알고리즘을 고르는 일도 아니다. 데이터의 특성이나 분석의 목적에 따라 모델 적용 우선순위를 정하고 실험을 확장해 나가는 전략이 필요하다.
분류(Classification) 문제에서도 단계적인 접근 전략을 세우는 것이 중요하다.
이 글에서는 분류 문제 해결 시 모델 적용 우선순위 전략과 각 모델의 특성, 추천 적용 상황을 정리해 보았다.
모든 모델을 무작정 적용해보는 방식은 시간과 자원을 낭비고 성능 해석에도 혼란을 줄 수 있다.
많은 경우, 아래와 같은 이유로 일정한 순서에 따라 접근하는 것이 효율적이다.
처음부터 복잡한 모델로 뛰어들기 보다는 가벼운 모델로 시작해 변수와 데이터 구조를 이해하고 점점 복잡도와 성능을 높이는 방식이 실험의 효율을 높일 수 있다. 특히 제한된 시간 내에 최선의 결과를 도출해야 할 때 유용하게 작용한다.
모델링 전략은 프로젝트의 목표와 데이터에 따라 달라지지만 아래의 질문들은 어떤 상황에서도 적용해 볼 수 있다.
이러한 질문을 염두에 두고 모델을 하나씩 적용해보면 성능 좋은 모델을 찾는 것에서 시야를 넓혀 문제에 적합한 실험 방향을 설계할 수 있다.
일반적으로는 다음과 같은 순서로 많이 진행된다.
이 흐름이 꼭 정해진 것은 아니지만 실험 효율성과 해석 가능성을 동시에 확보하기에 합리적인 전략이다. 데이터의 특성과 분석 목적에 따라 유연하게 조정하면서 단계별로 실험을 확장해 나갈 수 있다.
처음 시작은 늘 간단하게. 로지스틱 회귀는 모델의 구조가 단순하고 학습 속도가 빠르다.
가장 큰 장점은 결과를 해석할 수 있다는 것이다. 변수의 계수가 양수인지 음수인지, 크기는 어떤지를 통해 예측에 어떤 영향을 주는지를 파악할 수 있다.
이 모델만으로 성능이 만족스러우면 그대로 활용할 수도 있고, baseline이 낮다면 이후 실험 모델들과의 성능 차이를 비교하는 기준으로 삼기에도 좋다.
로지스틱 회귀가 변수-타깃 간의 전반적인 경향을 본다면, 결정 트리는 조건에 따라 어떻게 분기되는지를 보여준다.
트리 시각화를 통해 어떤 변수의 어떤 조건에서 분류가 갈리는지를 직관적으로 확인할 수 있고, depth를 제한하지 않으면 금방 과적합이 발생하기 때문에 데이터에 민감한 구조인지도 체크할 수 있다.
주로 변수 중요도를 확인하거나 모델 복잡도에 따른 민감도를 살피는 데 사용한다.
단일 트리보다 안정적인 성능을 기대할 수 있고 별다른 튜닝 없이도 기본 설정으로 상당한 수준의 결과가 나온다.
변수 중요도 계산도 신뢰할 수 있는 수준으로 제공되기 때문에 변수 선택 기준으로 참고하기도 좋다.
이 단계까지 진행하면 어느 정도 실험 가능한 변수들이 드러나고 baseline을 넘어서는 성능도 확보할 수 있게 된다.
성능, 학습 속도, 효율성 면에서 실제 적용성이 가장 높은 모델 중 하나다. 수치형 위주의 데이터에서 강하고 적절한 기본값만으로도 경쟁력 있는 결과를 낼 수 있다.
불균형한 타깃 비율에도 강한 편이고(boost_from_average=False, scale_pos_weight 활용), 대용량에서도 빠르게 학습된다.
여기까지 왔다면, 이제부터는 튜닝을 통해 성능을 다듬는 과정이 될 가능성이 높다.
LightGBM보다 학습 속도는 느릴 수 있지만 하이퍼파라미터의 세밀한 조정이 가능해 모델 컨트롤이 잘 된다. Tree Method, Booster 유형, 정규화 계수 등을 조절하면서 성능을 미세하게 끌어올릴 수 있다.
LightGBM과 비교해 성능이 의미 있게 차이 나는 경우도 있고, 오히려 더 좋지 않은 경우도 있으므로 결과 비교는 꼭 병행해야 한다.
모델 여러 개를 조합하면 각 모델이 가지는 편향과 분산의 특성을 서로 보완할 수 있다.
예측값을 평균 내거나 확률을 조합하는 Soft Voting 방식이 일반적이지만, 서로 다른 계열의 모델을 묶어 사용하는 것도 좋은 전략이 될 수 있다.
단일 모델로는 안정성이 부족하거나 결정적으로 하나를 고르기 어려울 때 고려해볼 수 있는 실험이다.
✓ 데이터가 수치형 위주이고 빠른 결과가 필요하다면
→ LightGBM을 빠르게 적용해 성능을 확보하고 baseline과의 차이 비교
✓ 클래스 불균형이 심한 정형 데이터
→ XGBoost 또는 LightGBM에 불균형 처리 전략 더하기
e.g.,scale_pos_weight, SMOTE, 언더샘플링 등
✓ 변수 해석이 중요한 모델이라면
→ Logistic Regression으로 시작해 Decision Tree로 구조 보완
✓ 모델 성능 편차가 크지 않고, 선택이 어려운 경우
→ Soft Voting 기반 앙상블로 안정화
✓ 범주형 변수가 많다면 CatBoost도 고려
→ 별도의 인코딩 없이 범주형 처리가 가능해 빠르게 성능을 낼 수 있음
지금까지 분류 문제에서 모델 적용 우선순위 전략과 각 모델의 특성, 모델 적용 전략을 상황에 따라 정리해 보았다.
모델링은 순서가 있다고 해서 답이 정해져 있는 작업은 아니다.
그렇지만 전략을 갖고 실험을 설계하는 것과 무작정 모델을 돌리는 것의 차이는 크다.
일반적으로
Logistic → Tree → Random Forest → LightGBM → XGBoost
순으로 성능을 확인해 나가며 중간중간 변수 해석, 피처 중요도, 과적합 여부를 점검하고 필요하면 Voting이나 Stacking을 활용해 마무리한다.