본문 바로가기
ISLR

Chap 08 트리 기반 모델 - Decision Trees : Classification Trees, Tree Pruning, Trees vs Linear Models, Advantages and Disadvantages of Trees

by 지식광부키우기 2019. 10. 25.

 

Classification Trees - Growing a Classification Trees

 

분류 트리는 회귀 트리와 매우 유사합니다. 연속형이 아닌 범주형 response를 예측하는 차이점을 보입니다.

 

분류 트리는 각 training 관측치가 속한 영역에서 새로운 관측치가 the most commonly occurring class에 속하는지를 예측합니다. 

 

즉, 각 region(or node)에서 region으로 나뉜 training data로 가장 공통의 범주를 예측합니다.

 

 

Details of classification trees

 

회귀일 때와 마찬가지로 분류 트리는 recursive binary splitting을 사용합니다. 

 

그러나 RSS는 트리 분할에 사용할 수 없습니다.

 

대안으로 classification error rate을 사용합니다.

 

Classification error rate는 the most common class에 속하지 않는 region안의 training 관측치의 비율을 나타냅니다. 

 

 

$\hat{p_{mk}}$는 k번째 class로 부터 m번째 region안의 trainig observations의 비율입니다.

 

 

그러나 classification error는 tree-growing에 충분치 않습니다. 실제로는 "gini index", "cross-entropy" 두 가지 방식을 선호합니다. 

 

 

Gini index and Deviance

 

Gini index는 다음과 같이 정의됩니다. 

 

 

K 클래스의 총 분산을 측정합니다. 

 

The Gini index는 $\hat{p_{mk}}$’s가 0 또는 1에 가까우면 작은 값을 가집니다.

 

위의 이유로 the Ginin index는 node purity의 척동입니다. 작은 값은 node에 single class의 관측치가 주로 포함되어있음을 나타냅니다. 

 

작은 값은 노드에 단일 클래스의 관측치가 주로 포함되어 있음을 나타냅니다.

 

 

The Cross-Entropy

 

The Gini index의 다른 대안은 cross-entropy입니다. 

 

 

0 ≤ $\hat{p_{mk}}$ ≤ 1이고 따라서 0 ≤ -$\hat{p_{mk}} log \hat{p_{mk}}$입니다.

 

The entropy는 $\hat{p_{mk}}$'s가 모두 0 또는 1에 가까우면 0에 가까운 값을 가집니다. 

 

The Gini index와 마찬가지로 the entropy도 m번째 node가 pure하면 작은 값을 가집니다. 

 

사실, the Gini index와 the cross- entropy엔트로피는 수치적으로 매우 유사합니다

 

 

Example: Heart Data

 

이 데이터는 a binary outcome HD for 303 patients who presented with chest pain을 포함합니다.

 

Yes는 현재 심장병을 앓고 있음을 나타내고

 

No는 심장병이 없는 것을 의미합니다.

 

13개의 predictors가 있습니다. 

 

Cross-validation의 결과 트리는 여섯 개의 terminal nodes를 가집니다. 

 

그림1

 

그림1은 가지치가 되지 않은 트리입니다.

 

RestECG < 1은 둘다 Yes라는 똑같은 결과가 나타납니다. 그런데도 가지치기를 한 이유는 

 

The classification error를 줄이진 않지만 the Gini index and the entropy를 개선시키기 때문입니다. 

 

그림2

 

Left : 가지치기 횟수에 따른 Cross -validation error, training, and test error.

 

Right : 최소한의 cross-validation error가 나온 가지치기 된 트리의 결과입니다.

 

 

Example : Orange Juice Preference

 

그림3

 

 

Tree Pruning - Improving Tree Accuracy

 

큰 트리(많은 terminal nodes를 가진)는 training data에 over fit 하는 경향이 있습니다. 

 

이는 weight decay 없는 neural networks와 비슷합니다.

 

일반적으로 트리를 "pruning(가지치기)"해서 정확도를 개선시킬 수 있습니다. 즉, 몇몇 terminal nodes를 잘라냅니다.

 

나무의 가지치기를 얼마나 해야하는지 어떻게 알 수 있을까요?

Cross validation을 사용합니다. 가장 낮은 error rate를 가진 트리를 관찰합니다. 

 

 

Example : Baseball Players' Salaries

 

The minimum cross validation error는 사이즈가 3인 트리에서 보입니다. 

 

그림4

 

그림5

 

Cross Validation은 트리 사이즈가 3일 때(leaf nodes가 3일 때) 가장 작은 MSE를 나타냅니다. 

 

 

Example : Orange Juice Preference

 

그림6

 

 

Trees vs Linear Models

 

어떤 모델이 더 좋을까요?

 

The predictors와 response가 선형 관계라면 회귀 분석 같은 classical linear models이 회귀 트리보다 더 성능이 좋습니다.

 

반면에 the predictors와 response가 비선형관계라면, 결정 트리는 classical 접근보다 더 성능이 뛰어납니다.

 

 

Trees vs Linear Model : Classification Example

 

그림7

 

 

Advantages and Disadvantages of Trees

 

장점 : 

 

트리는 사람들에게 설명하기 매우 쉽습니다(아마도 선형 회귀보다도 더 쉬울 수 있습니다).

 

트리는 그래프화 하기 쉬워 비 전문가라도 쉽게 이해가 가능합니다.

 

Dummy variables로 만들지 않아도 qualitative predictor를 쉽게 다룰 수 있습니다.

 

결정 틀니는 회귀 분석보다 인간의 결정 방식을 가깝게 반영했다고 믿는 사람들이 있습니다. 

 

분류나 회귀 문제에 둘 다 잘 작동합니다.

 

 

단점 : 

 

다른 회귀와 분류 접근방법에 비해 같은 수준의 예측 정확도를 갖지 못합니다. 

 

 

ISLR 내용을 바탕으로 요약 작성되었습니다.

댓글