정의
결정 트리(decision tree)는 데이터를 분류하거나 연속형 값을 예측하기 위해 계층 구조 형태로 구성된 예측 모델이다. 트리 구조의 각 내부 노드는 하나의 속성(특성)에 대한 조건을 나타내며, 각 가지(branch)는 해당 조건의 만족 여부에 따른 경로를, 말단 노드(leaf node)는 최종 예측값(클래스 레이블 또는 회귀값)을 나타낸다.
구성 요소
| 요소 | 설명 |
|---|---|
| 루트 노드(Root) | 트리의 시작점이며, 전체 데이터 집합을 포함한다. |
| 내부 노드(Internal node) | 특정 속성에 대한 테스트(예: “속성 A ≤ 5”)를 수행한다. |
| 가지(Branch) | 테스트 결과에 따른 데이터 분할을 나타낸다(예/아니오, 여러 값 등). |
| 말단 노드(Leaf) | 분류에서는 클래스 레이블, 회귀에서는 평균값 등 최종 예측값을 제공한다. |
학습 알고리즘
대표적인 결정 트리 학습 알고리즘에는 다음이 있다.
| 알고리즘 | 주요 특징 |
|---|---|
| ID3 (Iterative Dichotomiser 3) | 엔트로피 기반 정보이득을 사용해 속성을 선택한다. |
| C4.5 | ID3을 확장하여 연속형 속성 처리, 가지치기(pruning) 등 기능을 추가한다. |
| CART (Classification and Regression Trees) | Gini impurity(분류) 혹은 평균제곱오차(회귀)를 기준으로 분할하며, 이진 트리를 생성한다. |
알고리즘은 일반적으로 분할 기준(information gain, Gini impurity 등)을 최대화하거나 오차를 최소화하는 방향으로 트리를 성장시킨 뒤, 과적합(overfitting)을 방지하기 위해 가지치기(pre‑pruning, post‑pruning)를 수행한다.
분류와 회귀
- 분류 트리: 목표 변수는 이산형(범주형)이며, 말단 노드에 클래스 레이블을 할당한다.
- 회귀 트리: 목표 변수는 연속형이며, 말단 노드에 평균값 혹은 다른 회귀 추정치를 제공한다.
장점
- 해석 용이성: 트리 구조가 시각적으로 직관적이어서 비전문가도 이해하기 쉽다.
- 비선형 관계 모델링: 속성 간의 복잡한 비선형 관계를 자동으로 포착한다.
- 전처리 요구 감소: 범주형 변수의 원-핫 인코딩 등 복잡한 전처리 없이 사용 가능하다.
단점
- 과적합 위험: 트리가 깊어질수록 훈련 데이터에 지나치게 맞춰져 일반화 성능이 저하될 수 있다.
- 불안정성: 데이터의 작은 변동에도 트리 구조가 크게 달라질 수 있다.
- 복잡도: 다수의 특성을 포함한 고차원 데이터에서는 최적 트리 탐색이 계산 비용이 크게 증가한다.
활용 사례
- 의료 진단(예: 질병 위험도 평가)
- 금융 분야(예: 신용 등급, 사기 탐지)
- 마케팅(예: 고객 세분화)
- 제조업(예: 결함 원인 분석)
- 자연어 처리(예: 문서 분류)
관련 용어
- 랜덤 포레스트(Random Forest): 여러 결정 트리를 앙상블하여 예측 정확도와 안정성을 향상시킨 모델.
- 그래디언트 부스팅 머신(Gradient Boosting Machine, GBM): 순차적으로 트리를 추가해 오류를 보정하는 부스팅 기법.
- 가지치기(Pruning): 과적합을 방지하기 위해 불필요한 노드를 제거하는 과정.
요약
결정 트리는 데이터 기반 의사결정을 시각적으로 표현하고, 분류·회귀 문제에 널리 적용되는 기계 학습 모델이다. 직관적인 해석 가능성 및 비선형 관계 포착 능력이 장점인 반면, 과적합과 모델 불안정성을 관리하기 위한 적절한 트리 복잡도 제어가 필요하다.