시작하기 전...
더보기
분류와 회귀
분류(Classification) |
회귀(Regression) |
데이터를 정해진 범주에 따라 분류 |
데이터의 경향성으로 연속적인 수치를 예측 |
예측하고자 하는 타겟 값이 범주형 변수 |
예측하고자 하는 타겟 값이 실수(숫자) |
연속성을 지니는 이산값을 가진다 |
예측 결과가 연속성을 지닌다 |
의사결정나무(Decision Tree)
예측 변수를 기반으로 결과를 분류하거나 예측하는 모델. 주로 분류에 쓰인다.
의사결정규칙을 나무 구조로 도표화하여 분류와 예측을 수행하는 분석 방법이다.
목표 변수가 범주형 변수면 분류나무(분류), 목표 변수가 수치형 변수면 회귀나무(예측)
주요 방법
- Trees and Rules 구조: 규칙은 나무 모델로, 결과는 규칙으로 표현
- 재귀적 분할: 나무를 만드는 과정, 그룹이 최대한 동질하도록 반복적으로 레코드를 하위 그룹으로 분리
- 가지치기: 생성된 나무를 자르는 과정, 과적합을 피하기 위해 잔가지를 정리
더보기
간단한 용어 설명
뿌리 노드(root node): 가장 위쪽에 있는 노드
부모 노드(parent node): 어떤 하나의 노드에 대하여 이 노드의 상위에 연결된 노드
자식 노드(child node): 현재 위치한 한 노드 아래에 그에 종속되어 위치하는 노드
단말 노드(terminal node): 자식 노드를 가지지 않는 노드
재귀적 분할 알고리즘
CART, CHAID, C4.5... 등
|
CART |
C4.5 |
CHAID |
분류나무(분류) |
O |
O |
O |
회귀나무(예측) |
O |
O |
X |
예측변수 |
범주, 수치 |
범주, 수치 |
범주 |
불순도 알고리즘 |
Gini index |
Entropy |
Chi-Square statistic |
분리 |
이지분리 |
다지분리 |
나무성장(멈추기) |
완전 모형 개발(가지치기) |
최적모형 개발 |
가지치기(교차검정) |
O |
O |
X |
개발자 |
Breiman |
Quinlan |
|
더보기
잠깐! 순도/불순도란?
순도: 해당 범주 안에 동질적인 데이터가 얼마나 섞여 있는지
불순도: 해당 범주 안에 서로 다른 데이터가 얼마나 섞여 있는지
(1) CART
불순도 알고리즘으로 지니 지수(Gini index)를 사용한다.
$$G(A)=1-\sum_{k=0}^{n}p_k^{2}$$분류 후 얼마나 잘 분류됐는지 평가하는 지표
전체에서 특정 class에 속한 관측치 비율을 전부 제외한 값. 0~0.5사이의 값으로 표현되며 작을수록 좋은 값을 의미한다.
(왜? $G(A)=0.5이면 두 집단이 동일함을 의미하기 때문)
고려하고자 하는 변수별 $G(변수)=$A class로 분류된 비율 $\times G(A)+$B class로 분류된 비율$\times G(B)$을 비교하여 지니 계수가 낮은 변수를 채택한다.
(2) C4.5
분류 및 회귀나무에서 사용 가능하며 다지 분리를 수행한다.
불순도 알고리즘으로 엔트로피 지수(Entropy index), 정보 이익(Information Gain; IG), 이득율(Gain ratio)를 사용한다.
$$Entropy = E(A)=-\sum_{k=0}^{n}p_klog_2(p_k)$$
엔트로피는 불확실성, 주어진 데이터 집합의 혼잡도를 의미한다.
서로 다른 종류의 레코드들이 섞여 있으면 엔트로피가 높고 같은 종류의 레코드들이 섞여 있으면 엔트로피가 낮다.
엔트로피는 0~1사이의 값을 지니며 낮을수록 좋은 분류 성능을 보인다.
$$IG=정보이익(정보의 가치)=E(before)-E(after)$$
IG를 비교하여 IG가 낮은 변수를 채택한다.
IG의 한계점: 가지를 잘게 칠수록 동일한 카테고리값을 포함하게 되는데, 이 경우 개별 엔트로피 값은 낮아지지만 IG값은 상승하게 된다.
▶ 해결방안으로 IGR$(Information Gain Raio, 이득율)=\frac{IG}{IV}$ 사용
언제 사용? 가지가 많은 경우 IG가 높은 경향을 보일 때
이때 Intrinsic Value$=IV(A)=-\sum_{k=0}^{n}\frac{1}{n}log_2(\frac{1}{n})$
(3) CHAID
분류 나무만 가능하며 다지 분리를 수행한다.
불순도 알고리즘으로 카이제곱 통계량(Chi-Square statistic), F통계량(F-statistic)을 사용한다.
가지치기가 없고 나무 성장에만 활용, 입력변수와 출력변수 모두 범주형 변수만 가능하다.
$$\chi^2 = \sum_{i=1}^{r}\sum_{j=1}^{c} \frac{(O_{ij}-\hat{E_{ij}})^2}{\hat{E_{ij}}}$$
이때 $O_{ij}$는 실제 관측 빈도, $\hat{E_{ij}}$는 기대 빈도를 의미한다.
장단점
(1) 장점
- if-then 구문으로 이해 및 적용이 쉽다
- 나무 구조에 의해 표현되기 때문에 모형을 쉽게 이해할 수 있다
- 의사결정과정에 대한 설명이 가능하다
- 중요한 변수 선택 및 변수 선택과 제거가 용이하다
- 값의 순서에 의해 모델을 결정하므로 이상치에 덜 민감하다
- 결측치 처리가 가능하다
- 통계적 가정이 불필요하다
(2) 단점
- 좋은 분류모형을 만들기 위해 많은 데이터가 필요하다
- 모형을 만드는 데 상대적으로 많은 시간이 소요된다
- 데이터에 따라 모델이 변화하므로 데이터의 변화에 민감하다
- 선형구조형 데이터 예측 시 더 복잡해진다