본문 바로가기

Machine Learning_모델설계_Python

의사결정나무_2 분류나무

안녕하세요 배도리입니다. 의사결정나무의 두 종류 분류나무와 회귀나무에 대해 설명하겠습니다!

분류나무

분류나무는 주로 목표 변수가 범주형일 때 사용합니다. 이 방법은 입력 변수의 값에 따라 데이터를 여러 범주로 분류하는데 사용되는 나무 모양의 구조를 만듭니다. 분류나무의 결과로는 데이터의 소속 집단을 판별할 수 있습니다. 또한 분류나무는 각 집단에 속할 확률을 제공하므로, 이를 이용하여 데이터의 경향성도 파악할 수 있습니다. 

캠핑카 소유여부 ([설명변수]: 월수입, 부동산 면적, 성별, [목표변수]: 소유여부)

 


분류나무에서는 다양한 알고리즘과 불순도 지표를 사용할 수 있습니다.

CART(Classification and Regression Tree): CART는 주로 지니 지수를 사용하여 불순도를 측정하고 데이터를 분할합니다.

C4.5: 엔트로피를 불순도 지표로 사용하고, 이를 바탕으로 정보 이익과 정보 이익 비율을 계산하여 데이터를 분할합니다.

CHAID(Chi-Square Automatic Interaction Detection): 카이 제곱 통계량을 이용하여 데이터를 분할합니다. 이 방법은 각 범주 간의 독립성을 검정하고 가장 뚜렷한 관계를 가진 범주를 우선적으로 분할합니다.

한번 어떻게 진행되는지 볼까용

 

CART

▪ Breiman 등이 개발

▪ 가장 널리 사용되는 의사결정나무 알고리즘

▪ [종류]: 분류 나무, 회귀 나무 두개가 가능한 높은 유연성

▪ [분리]: 이진 분할

▪ [불순도 알고리즘]: Gini index(불순도)는 낮아지는 것이 좋음

 

예를 들어서 한번 살펴보겠습니다. 쇼핑몰에서 충성 고객(LC: Loyal Customer)과 탈퇴 고객(CC: Churn Customer) 을 구분하는 규칙을 생성하고자 합니다. 총 100명의 고객을 대상으로 ‘성별’과 ‘결혼유무’ 중 어느 설명변수가 분류를 더 잘하는 변수와 분류 규칙을 찾습니다. 

 

예1)

GI(성별)이 더 낮은걸 보니 성별 설명변수가 분류를 더 잘하네요!

 

 

C4.5 및 C5.0 알고리즘

▪ Quinlan 등이 개발

▪ [종류]: 분류 나무, 회귀 나무

▪ [분리]: 다중 분할

▪ [불순도 알고리즘]: 엔트로피(불확실성), 정보 이익, 정보 이득률

 

정보 이론에서 '정보 이익'은 어떤 속성을 사용하여 데이터를 분할했을 때 얻는 엔트로피 감소량을 말합니다. 정보 이익은 데이터를 분할하기 전의 엔트로피와 분할 후의 엔트로피 차이로 계산됩니다. 정보 이익이 크다는 것은 그 속성을 기준으로 데이터를 분할하면 불확실성이 크게 감소한다는 것을 의미하며, 이는 해당 속성이 분류에 유용하다는 것을 나타냅니다. 즉, 정보의 가치가 높아지는 것이 좋습니다.

 

정보 이익(IG: Information Gain) - 정보의 가치가 높아져야 좋음 

IG = E(before)-E(After)

 

예2)

 

그러나 정보 이득 기준만을 사용하면 속성의 가지 수가 많을 때 과적합이 발생하는 문제가 있습니다. 가령, 각각의 고유한 값을 가지는 속성이 존재할 경우, 이 속성을 기준으로 데이터를 완벽하게 분류할 수 있지만, 이는 과적합을 일으키게 됩니다. 가지(branch)의 수가 많아질수록 정보이득(information gain)이 높아지는 경향을 보입니다.



이러한 문제를 해결하기 위해 C4.5 알고리즘에서는 '정보 이득율'이라는 개념을 도입했습니다. 정보 이득율은 정보 이득을 속성의 복잡도로 정규화한 것입니다. 복잡도는 속성의 가지 수에 따라 결정되며, 가지 수가 많을수록 복잡도가 높아집니다.

이렇게 복잡도로 정규화함으로써가지 수가 많은 속성이 단순히 정보 이득이 높다는 이유로 선택되는 것을 방지하고, 대신 실제로 유용한 속성이 선택될 수 있도록 하였습니다. 그 결과, 모델의 일반화 성능을 향상시킬 수 있게 되었습니다. 

 

특정 지표로 분기했을 때, 생성되는 가지의 수를 𝑛, 𝑖번째 가지에 해당하는 확률을 𝑝𝑖라고 할 때

IV(Intrinsic Value)
정보 이득율(IGR)

 

정보 이득율이 높다는 것은 그 속성이 데이터를 잘 분류한다는 의미입니다. 즉, 해당 속성을 기준으로 분류했을 때 데이터의 불확실성(엔트로피)이 크게 감소한다는 것을 의미합니다.

 

예3)

성별의 정보 이득율이 더 높네용 ㅎ