특성들을 기준으로 샘플을 분류해 나가는 나무 가지 같은 형태
- 목적:
- Classification (분류)
- Used for Classification AND Regression (분류와 회귀 문제 모두 적용가능)
- 데이터를 분할하는 알고리즘
- 키워드:
- 노드(node)- 질문의 정담
- 엣지(edge)- 노드를 연결하는 선
- 뿌리(root) - 시작점. 1st Node
- 중간(internal) - 뿌리와 말단 사이에 있는 모든 노드들
- 말단(external, leaf, terminal) - 마지막 노드들

- 특징
- 학습 알고리즘 - 결정트리의 핵심은 어떤 기준으로 노드를 분류할지 정하는것
-
비용함수
-
Impurity(불순도)- 여러 범주에 섞여 있는 정도
- Ex)
- (45%, 55%)— 두 범주 수가 비슷 —> 불순도가 높음
- (80%, 20%) —> 불순도 낮음 (순수도(purity) 높음)
-
*** Gini Index랑 Entropy에 차이는 아주 작아서 significant 하지는 않지만 전체적으로 gini 가 computational price가 높아서 더 많이 쓰고, entropy는 보다 더 전체적(?) 이다
- 구현:
- pipeline 사용
- 여러 도구들(encoder, scaler, classifier, etc) 을 한 파이프에서 한번에 해결 가능


-
과적합 해결
- Hyperparameter사용
- min_samples_split— 중간 노드에서 split하기 위해 최소한 존재해야되는 샘플들의 수
- min_samples_leaf— 말단 노드에 최소한 존재해야되는 샘플들의 수를 정해줄수 있음
- max_depth— 트리의 최대 깊이(?)
-
특정중요도 (Feature Importance)
- 선형모델에서는 특성과 타겟의 관계를 확인하기 위해 회귀 계수를 살펴봄.
- 하지만 결정트리에서는 특정중요도로 관계를 확인함

-
단조 (monotonic), 비단조(non-monotonic), 특성상호도 분석에 용의함
- 희귀분석에서는 특성상호작용이 높은 특성들이 있으면 계별 계수를 해석하기 어려워서 학습이 잘 안되지만 트리모델은 잘 걸러냄.
