| 구분 | 설명 |
|---|---|
| 비선형 모델 | 입력과 출력이 복잡한 관계(직선 아닌 곡선, 계단, 조건 등)도 잘 모델링 가능 |
| 규칙기반 분할 | 데이터의 특성값(조건)으로 반복 분할 → 예측값 도출 (예: "x1 > 3.5면 왼쪽, 아니면 오른쪽") |
| 해석 쉬움 | 분기 규칙을 그대로 보여줌(설명 쉬움), 변수 중요도도 자동 계산 |
| 전처리 거의 불필요 | 스케일링, 정규화, 결측치 처리 등 대부분 필요 없음 |
| 이상치(Outlier)에 민감 | 분할 기준이 한쪽에 이상치 있으면 트리가 과도하게 쏠릴 수 있음 |
| 과적합 위험 | 트리의 깊이가 깊어질수록 훈련 데이터에 "완전히" 맞추려는 경향(복잡해짐) |
| 조절 가능 | 트리 깊이, 분할 샘플 수 등 파라미터로 과적합 방지 가능 |
입력/출력의 관계가 복잡하고 비선형적일 때
변수 간 상호작용(특정 조합, 조건)이 예측에 중요할 때
데이터 전처리(스케일링, 결측치 등)가 귀찮거나 어려울 때
설명 가능한 모델(해석 가능)이 필요할 때
(ex: "어떤 조건에서 어떤 예측값이 나왔는지" 쉽게 설명)
빠른 프로토타입/기본 모델 실험
(가볍고 구현 쉬워서 기본 베이스라인으로 좋음)
분류/회귀 둘 다 지원해야 할 때
(DecisionTreeClassifier, DecisionTreeRegressor 둘 다 가능)
복잡한 패턴/대규모 데이터/최고 성능 필요하면
→ 앙상블(RandomForest, GBM 등) 추천
이상치가 많을 때
→ 과적합 주의(트리 깊이 제한 등 튜닝 필수)
| 파라미터 | 의미 |
|---|---|
| max_depth | 트리의 최대 깊이(복잡도 제한) |
| min_samples_split | 노드 분할 위한 최소 샘플 수 |
| min_samples_leaf | 리프노드 최소 샘플 수 |
| max_features | 분할에 사용할 특성 수(무작위성 부여) |
| random_state | 결과 일관성 위한 시드 |