Decision Tree

이정훈·2026년 5월 24일

1. Decision Tree

  • Classification과 Regression 모두 가능한 지도 학습 모델
  • 트리 분할 기준을 선택하는 방식은 Greedy Aprroach
  • 모든 컬럼을 대상으로 불순도(Impurity)가 가장 많이 줄어드는 단 하나의 컬럼과 기준값을 선택

2. IG (Impormation Gain)

  • 아래 IGIG를 식을 최대화시킬 수 있는 컬럼과 기준값을 선택 (impurity가 크다 → entropy, gini, mse가 높다 -> 분류가 잘안돼있다)

    IG=I(Dp)(NleftNpI(Dleft)+NrightNpI(Dright))IG = I(D_p) - \left( \frac{N_{left}}{N_p} I(D_{left}) + \frac{N_{right}}{N_p} I(D_{right}) \right)
  • II(Impurity)를 계산하는 방식은 종속 변수에 따라 달라짐

    • Classification → Gini Impurity, Entropy
      1i=1cpi21 - \sum_{i=1}^{c} p_i^2
    • Regression → MSE
  • Entropy based IG 예제

    • 10/200.722+10/200.72210/20*0.722 + 10/20*0.722
    • 2/200+18/200.9912/20*0 + 18/20*0.991
    • 15/200.918+5/20015/20*0.918 + 5/20*0

3. DecisionTree Attribute

1. 노드 통계 및 상태 속성 (Node Statistics)

속성명타입설명
impurityndarray각 노드의 불순도 값(Gini, Entropy, MSE 등)을 나타냄
n_node_samplesndarray해당 노드에 도달한 학습 데이터 샘플의 총 개수
weighted_n_node_samplesndarray샘플에 가중치(weight)가 적용된 경우의 가중치 합 (기본값은 n_node_samples와 동일)
valuendarray노드의 예측값 (분류: 클래스별 샘플 수, 회귀: 노드 내 샘플들의 평균 타겟 값).

2. 트리 분할 규칙 속성 (Split Rules)

속성명타입설명
featurendarray분할에 사용된 피처의 인덱스. 리프 노드(Leaf Node)인 경우 -2(sklearn.tree._tree.TREE_UNDEFINED) 값
thresholdndarray분할을 결정하는 임계값(기준값) 데이터 피처 값이 이 임계값 이하이면 왼쪽, 초과면 오른쪽으로 분할 (리프 노드는 -2)
profile
AngDDo

0개의 댓글