[트리계열 이해하기] 1. Decision Tree
1. 기본 컨셉
decision tree, 의사결정나무의 컨셉은 굉장히 간단합니다.
그림1처럼 특정 기준을 가지고 데이터들을 계속해서 잘게 쪼개겠다는 것입니다.
그럼 어떤 기준을 세울 것인지를 정해야하는데요, 이를 위해 알아야하는 것이 loss function, 손실함수입니다.
손실함수를 정하고 이를 줄이는 방향으로 기준을 세워나가면 됩니다.
2. 손실함수
매번 노드에서는 불순도를 줄여나가려는 목표를 가지고 분기해나갑니다.
즉 0과 1로 구분해야할 때, 해당 노드에 0만 있거나 1만 있다면 굉장히 잘 분류했다고 할 수 있고, 이를 순도가 높다고 표현합니다.
불순도를 줄여나가 순도를 높이는 것이 목표입니다.
불순도를 정의하는 데에는 대표적으로 Gini Index, Entropy가 있습니다.
2.1 Gini Index
$Gini = 1 - \sum_{i=1}(p_i)^2$
지니 인덱스는 불평등을 나타내기 위한 경제학적 지표입니다.
이를 이용해 불순도를 정의합니다.
그림3에서의 Gini Index는 $1-(\frac{9}{17})^2-(\frac{8}{17})^2$ 입니다.
지니 인덱스는 0~0.5 사이의 값을 갖고, 0일 때 가장 잘 분류가 된 것이며, 0.5일 때 가장 잘 안된 것입니다.
2.2 Entropy
$Entropy = -2 \sum_{k=1}^mn_{ik}log(p_{ik})$
그림 3에서의 Entropy는 $ -2 \times (9 \times log(\frac{9}{17}) + 8 \times log(\frac{8}{17})) $ 입니다.
0일 때 가장 잘 나누어진 것입니다.
3. Rule Extraction
트리함수를 예측모델로 사용하는 경우는 없고, 어떤 규칙으로 데이터를 분류했는지를 확인하기 위한 모델로 쓰입니다.
회귀모델과 비슷하게 모델의 복잡도가 낮아 예측모델로 직접 사용하기보다 해당 변수가 어떻게 사용되었는지를 이해하기 위한 모델로 사용됩니다.
이를 위해 복잡한 모델에서 중요 변수를 추출한 후 , 다시 이 피처들만 이용해 트리를 학습시키고 rule extraction을 통해 확인합니다.
그림4를 보면, information gain이 가장 큰 변수로 event가 뽑였고, 이를 통해 dead class의 경우 대부분 분류가 되었음을 알 수 있습니다.
즉 event가 901이상인 데이터들은 대부분 dead로 분류할 수 있음을 알 수 있습니다.
또한 event가 901이하고 cd496이 3.5이상 cd496이 161.5 이하일 때 모두 indicator class로 분류됨을 알 수 있습니다.
이처럼 decision tree를 통해 어떻게 분류가 되고 있는지를 확인해볼 수 있습니다.
- 출처
그림1: https://www.google.com/url?sa=i&url=https%3A%2F%2Fchirag-sehra.medium.com%2Fdecision-trees-explained-easily-28f23241248&psig=AOvVaw0zBGmapIjX-4fLtakioggJ&ust=1690589585742000&source=images&cd=vfe&opi=89978449&ved=0CBEQjRxqFwoTCMivv4-PsIADFQAAAAAdAAAAABAs
그림2: https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.nature.com%2Farticles%2Fnbt0908-1011&psig=AOvVaw0zBGmapIjX-4fLtakioggJ&ust=1690589585742000&source=images&cd=vfe&opi=89978449&ved=0CBEQjRxqFwoTCJjzp6eRsIADFQAAAAAdAAAAABAJ
- Reference
패스트캠퍼스, 초격차 패키지 : 50개 프로젝트로 완벽하게 끝내는 머신러닝