📙 Fundamentals/ML&DL

결정트리 : Information Gain, Entropy, Gini 계수, Misclassification Error

Lento_ 2025. 4. 6. 18:07

 

[ Entropy ]

  엔트로피가 커질수록 Information Gain이 낮아지고 클래스 간의 명확한 구분이 어려우며 예측이 어려움.

: 데이터의 불순도(무질서함)

: 불순도 또는 혼잡도를 측정하는 지표

: 데이터가 얼마나 섞여 있는지를 나타낸다.

: 클래스가 다양할수록 엔트로피가 커진다.

: 정보 이론 기반 → "얼마나 예측이 어려운가"수치적으로 표현을 잘함.

(수식)

- Pi : 클래스 i의 비율 / c : 전체 클래스의 개수

(특징)

→ 값 범위: 0 ~ log₂(c) (이진 분류면 0 ~ 1)

→ 상대적으로 계산 복잡도가 복잡하다.

ID3, C4.5 알고리즘에서 사용

 


[ Gini 계수(Gini Impurity) ]

 Gini 계수가 작을수록 노드는 순수(=하나의 클래스가 지배적)하며, 올바르게 분류될 확률이 높고 예측이 쉬워진다.

: 불순도 또는 혼잡도를 측정하는 지표

: 노드 내 임의로 선택한 두 샘플이 서로 다른 클래스일 확률

: 데이터 집합에 다양한 클래스(또는 레이블)가 얼마나 섞여 있는지

: 잘못 분류될 확률을 잘 나타냄.

(수식)

- pi = 특정 클래스에 속하는 항목의 비율

- pi 값이 클수록 지니 불순도는 낮아진다. == 데이터 집합의 순도가 높다는 의미

(특징)

 

값 범위: 0 ~ (1 - 1/c) (이진 분류면 0 ~ 0.5)  (cf. c = 전체 클래스의 수)

→ 계산 복잡도가 단순하다.

 Gini가 작을수록 노드는 더 순수

 Scikit-learn DecisionTreeClassifier의 기본값

CART 알고리즘에서 사용

 


[ Misclassification Error ]

 오류율이 작을수록 노드는 명확하게 분류되었다는 의미이고 예측 신뢰도가 높다.

: 거의 사용하지 않음! → 이론적으로만 사용

: 단순하고 둔감함

: "단순히 맞췄는지 / 틀렸는지" 만 본다.

: 계산 속도가 매우 빠르다.

(수식)

- pi = 클래스 i의 비율 

(특징)

가장 간단하지만, 미세한 변화에 둔감.

  분할 성능이 비슷하게 나오는 경우가 많기 때문에 실제로는 잘 사용하지 않는다.


[ Information Gain ]

 Information Gain이 클수록 좋은 분할이고, 해당 특성(분할 기준으로 사용된 feature)이 예측에 큰 영향을 준다.

: Information Gain = 불순도 감소량(지표X)

: 분할 기준 평가 - "이 속성으로 나누면 불순도가 얼마나 줄어드냐?"

: 데이터를 어떤 기준(특징, 속성)으로 나눴을 때, "얼마나 더 순수한 그룹들로 나눠졌는가?"를 수치로 나타낸 값

: 결정 트리는 Information Gain이 가장 높은 특성부터 위쪽(루트)에 배치한다. → 트리의 윗부분에 있는 특성일수록 예측에 중요한 역할

 

 

(수식 (Entropy 기준))

- 전체 데이터 집합

- A = 분할 기준이 되는 속성

- Sv = A 속성이 v값을 가질 때의 데이터 서브 셋

- |Sv| / |S| = 각 서브셋의 비중

 

(수식 (Gini 기준))

(수식 (Misclassification Error 기준))

 

: Information Gain은 항상 무엇을 기준으로 계산했는지가 따라다녀야한다.

: (ex. Entropy 기반 Information Gain / Gini 기반 Information Gain)

 

 

 

 

(출처)

https://insidelearningmachines.com/gini_impurity/