관리 메뉴

hye-_

의사결정나무 본문

3. 빅데이터 모델링/분석 기법 적용

의사결정나무

hyehh 2026. 3. 20. 16:40
728x90
반응형
SMALL

의사결정나무(Decision Tree)는 데이터들이 가진 속성들로부터 분리 기준 변수(속성)를 파노별하고, 분리 기준 변수(속성)에 따라 나무 형태로 모델링하는 분류 및 예측 모델이다.

데이터를 어떤 기준으로 나눌지 정해서 나무처럼 구조를 만들고 결과를 예측하는 모델이다

 

왜?
왜냐하면 현실 데이터는 하나의 선형식이나 단순한 규칙으로 설명하기 어려운 복잡한 구조를 가지는 경우가 많기 때문에, 조건을 기준으로 데이터를 반복적으로 나누어 점점 더 단순한 집단으로 만들어야 하고, 이 과정이 가지를 치며 확장되는 나무 구조와 동일한 형태를 가지기 때문에 가장 직관적이고 해석 가능한 모델이 된다

  • Decision Tree: 의사결정나무
  • 속성(Attribute): 변수(feature)
  • 분리 기준(Split): 데이터를 나누는 조건

수식

 

예시
나이 < 30이면 구매 / ≥30이면 미구매


의사결정나무는 분류와 예측에 모두 쓰인다.

범주도 맞추고 숫자도 맞출 수 있다

 

왜?
왜냐하면 의사결정나무는 마지막 노드에서 어떤 값을 출력하느냐에 따라 문제 유형이 결정되는데, 범주형 값을 출력하면 분류 문제로 작동하고 연속형 값을 출력하면 회귀 문제로 작동하기 때문에 하나의 구조로 두 가지 문제를 동시에 해결할 수 있다

  • 분류(Classification): 카테고리 예측
  • 예측(Regression): 숫자 예측

수식

 

예시
합격/불합격, 집값 예측


의사결정나무는 주어진 입력값에 대하여 출력값을 예측하는 모델로 분류나무 모델과 회귀나무 모델이 있다.

입력 데이터를 넣으면 결과를 내는 모델이며 두 종류가 있다

 

왜?
왜냐하면 머신러닝 모델은 기본적으로 입력값(X)을 받아 출력값(Y)을 생성하는 함수 구조를 가지며, 의사결정나무는 이를 조건 분기 형태로 구현하는데 출력값이 범주인지 연속값인지에 따라 모델의 목적이 달라지므로 분류나무와 회귀나무로 구분된다

  • Input(X): 입력변수
  • Output(Y): 종속변수

수식
Y = f(X)

예시
고객 정보 → 구매 여부


상위노드로부터 하위노드로 트리 구조를 형성하는 매 단계마다 분리변수와 분리기준값의 선택이 중요하다.

매번 어디서 어떻게 나눌지가 핵심이다

 

왜?
왜냐하면 의사결정나무는 한 번 분리된 기준이 이후 모든 하위 구조에 영향을 미치는 계층적 구조를 가지기 때문에 초기 단계에서 잘못된 분리변수나 기준값을 선택하면 이후 모든 분기가 잘못된 방향으로 이어져 모델 성능이 크게 저하되기 때문이다

  • 분리변수: 나눌 기준 변수
  • 분리기준값: 나누는 임계값

 

수식

 

예시
나이 vs 소득 중 더 좋은 기준 선택


상위노드의 기준(분리변수, 분리기준값)에 의해 분기되는 하위노드에서는 노드(집단)내에서는 동질성이, 노드(집단) 간에는 이질성이 가장 커지도록 선택한다.

같은 그룹은 비슷하게, 다른 그룹은 다르게 만든다

 

왜?
왜냐하면 하나의 노드 안에 있는 데이터가 서로 비슷해야 하나의 대표값으로 정확한 예측이 가능하고, 서로 다른 노드 간에는 차이가 커야 분류 기준이 명확해지므로 모델이 데이터를 잘 구분하기 위해서는 동질성과 이질성을 동시에 최대화하는 방향으로 분리가 이루어져야 한다

  • 동질성(Homogeneity)
  • 이질성(Heterogeneity)

수식

 

예시
한 노드에 전부 합격 → 좋은 분리


나무 모델의 크기는 과적합(또는 과소적합)되지 않도록 합리적 기준에 의해 적당히 조절한다.

트리 크기를 적절히 조절해야 한다

 

왜?
왜냐하면 트리가 너무 깊어지면 학습 데이터에만 맞춰지는 과적합이 발생하고, 반대로 너무 얕으면 중요한 패턴을 학습하지 못하는 과소적합이 발생하기 때문에 모델의 일반화 성능을 확보하기 위해 적절한 균형을 유지해야 한다

  • Overfitting: 과적합
  • Underfitting: 과소적합

예시
깊이 100 vs 깊이 1


의사결정 나무의 구성요소 1) 뿌리노드(Root Node) :

나무 구조가 시작되는 노드로 전체 자료로 구성.

전체 데이터를 포함하는 시작점

 

왜?
왜냐하면 모든 분할은 하나의 전체 집합에서 시작되며 이 노드에서부터 분리 기준이 적용되어 트리 구조가 만들어지기 때문에 루트 노드는 항상 전체 데이터를 포함하는 출발점 역할을 한다

  • Root Node: 시작 노드

예시
전체 고객 데이터


의사결정 나무의 구성요소 2) 자식노드(Child Node) :

하나의 노드로부터 분리되어 나간 2개 이상의 노드들.

분리된 결과 노드들

 

왜?
왜냐하면 하나의 노드에서 조건을 기준으로 데이터를 나누면 여러 개의 새로운 집단이 생성되며, 이 집단들이 다음 단계의 분석 단위가 되기 때문에 이를 자식노드라고 부른다

  • Child Node

예시
나이 기준으로 2개 그룹


의사결정 나무의 구성요소 3) 부모노드(Parent Node):

주어진 노드의 상위노드.

현재 노드를 만든 이전 노드

 

왜?
왜냐하면 트리는 계층 구조이기 때문에 각 노드는 반드시 자신을 생성한 상위 노드를 가지며, 이 관계를 통해 전체 구조가 연결되므로 부모노드 개념이 필요하다

  • Parent Node

예시
자식노드의 바로 위 노드


의사결정 나무의 구성요소 4) 끝노드(Terminal Node):

자식도누가 없는 노드 = 가지노드(Branch Node), 리프노드(잎, Leaf Node).

더 이상 분리되지 않는 최종 노드

 

왜?
왜냐하면 분할을 계속하다 보면 더 이상 나눌 수 없는 상태에 도달하게 되며 이 노드에서는 최종적으로 하나의 예측값을 출력해야 하기 때문에 모델의 결과를 담당하는 중요한 위치가 된다

  • Terminal Node
  • Leaf Node

예시
“구매 확률 90%”


의사결정 나무의 구성요소 5) 중간노드(Internal Node):

부모노드와 자식노드가 모두 있는 노드.

분리 중간 단계 노드

 

왜?
왜냐하면 트리는 루트와 리프 사이에 여러 단계의 분기 과정이 존재하며, 이 과정에서 계속 데이터를 나누는 역할을 수행하는 노드가 필요하기 때문에 중간노드 개념이 존재한다

  • Internal Node

예시
중간 분기 노드


의사결정 나무의 구성요소 6) 가지 (Branch) :

한 노드로부터 끝노드까지 연결된 노드.

노드들을 연결하는 경로

 

왜?
왜냐하면 트리는 노드뿐 아니라 노드 간의 연결 구조가 중요하며, 이 연결을 통해 데이터가 이동하면서 최종 결과에 도달하기 때문에 가지 개념이 필요하다

  • Branch

예시
“나이<30 → 소득<3000 → 구매”


의사결정 나무의 구성요소 7) 레벨(Level) :

뿌리노드를 기준으로 특정 노드까지의 경로 길이.

노드 위치 깊이 단계

 

왜?
왜냐하면 트리 구조에서 각 노드의 위치를 표현하기 위해서는 루트로부터 얼마나 떨어져 있는지를 나타내는 기준이 필요하며, 이를 통해 트리의 구조적 복잡도를 파악할 수 있다

  • Level

예시
루트=0, 다음=1


의사결정 나무의 구성요소 8) 깊이(Depth): 

뿌리노드부터 끝노드까지의 중간 노드의 수.

트리 전체 깊이

 

왜?
왜냐하면 모델의 복잡도를 나타내는 중요한 지표가 깊이이며, 깊이가 깊어질수록 모델이 더 많은 패턴을 학습하지만 동시에 과적합 위험도 증가하기 때문에 중요한 개념이다

  • Depth

예시
깊이 3 트리


의사결정나무 장점 1) 해석의 용이성:

나무 구조에 의해서 모델이 표현되기 때문에 해석이 쉬움, 새로운 자료에 모델을 적합시키기 쉬움, 어떤 입력변수가 중요한지 파악이 쉬움.

이해하기 쉽고 활용하기 쉽다

 

왜?
왜냐하면 모델이 if-else 구조로 표현되기 때문에 사람이 직관적으로 이해할 수 있고, 새로운 데이터에도 동일한 규칙을 적용하기 쉬우며, 어떤 변수로 분리되었는지를 보면 중요 변수까지 쉽게 파악할 수 있기 때문이다

  • 해석 가능성(Interpretability)

예시
“소득 → 나이 순으로 중요”


의사결정나무 장점 2) 교호작용 효과의 해석:

두 개 이상의 변수가 결합하여 종속변수에 어떠한 영향을 주는지 알기 쉬움.

변수 결합 효과 파악 가능

 

왜?
왜냐하면 트리는 분기를 통해 변수들이 순차적으로 결합되는 구조를 가지므로 특정 변수 조합이 결과에 어떤 영향을 주는지를 직접적으로 확인할 수 있어 교호작용을 쉽게 해석할 수 있다

  • 교호작용(Interaction Effect)

예시
나이 + 소득 같이 작용


의사결정나무 장점 3) 비모수적 모델 :

선형성, 정규성, 등분산성의 가정이 필요치 않음, 단지 순위만 분석에 영향을 주므로 이상값에 민감하지 않음.

가정이 필요 없는 모델

 

왜?
왜냐하면 의사결정나무는 데이터를 단순히 조건으로 나누는 방식이기 때문에 선형관계나 정규분포 같은 통계적 가정을 필요로 하지 않으며, 값의 크기보다 순서 기준으로 분리되기 때문에 이상값에도 상대적으로 덜 민감하다

  • 비모수적(Non-parametric)

예시
이상값 있어도 영향 적음


의사결정나무 단점 1) 비연속성 :

연속형 변수를 비연속적인 값으로 취급하여 예측오류가 클 가능성이 있음.

연속값을 잘게 끊어서 정보 손실

 

왜?
왜냐하면 연속형 데이터를 특정 기준값으로 나누면서 이산화(discretization)가 발생하고, 이 과정에서 데이터의 연속적인 변화 정보가 손실되기 때문에 예측 정확도가 떨어질 가능성이 존재한다

  • 비연속성

예시
29 vs 30 완전히 다르게 처리


의사결정나무 단점 2) 선형성 또는 주 효과의 결여 :

선형 또는 주 효과 모델에서와 같은 결과를 얻을 수 없음.

선형 관계 표현이 약함

 

왜?
왜냐하면 의사결정나무는 데이터를 나누는 방식이지 직선 형태의 관계를 모델링하는 구조가 아니기 때문에 변수 간의 선형적 영향이나 주 효과를 정확하게 표현하는 데 한계가 있다

  • 선형성

예시
y = ax + b 표현 어려움


의사결정나무 단점 3) 비안정성 :

분석용 자료에만 의존하므로 새로운 자료의 예측에 불안정함.

데이터 바뀌면 모델도 크게 바뀜

 

왜?
왜냐하면 의사결정나무는 데이터 변화에 매우 민감하여 작은 변화에도 분리 기준이 바뀌고 전체 트리 구조가 달라질 수 있기 때문에 동일한 문제에서도 결과가 불안정하게 나타날 수 있다

  • 불안정성

예시
데이터 조금 바뀌면 트리 구조 변경

 

 

 


의사결정나무형성 과정 Step1) 변수 선택 :

종속변수와 관계가 있는 독립변수선택.

종속변수와 관련이 있는 독립변수만 골라서 사용하는 단계이다

 

왜?
왜냐하면 의사결정나무는 입력 변수들을 기준으로 데이터를 분할하는 구조이기 때문에, 종속변수와 관련이 없는 변수가 포함되면 분리 기준이 잘못 설정될 가능성이 높아지고, 그 결과 트리 구조가 불필요하게 복잡해지거나 잘못된 방향으로 성장하여 전체 모델의 예측 성능이 떨어지게 되므로 처음 단계에서부터 의미 있는 변수만 선택하는 것이 매우 중요하다

  • 종속변수(Target, Y): 예측 대상
  • 독립변수(Feature, X): 입력 변수

 

수식

 

예시
집값 예측에서 위치, 면적은 사용하고 혈액형은 제외


의사결정나무형성 과정 Step2) 성장(Growing) :

분석 목적과 자료의 구조에 따라 적절한 알고리즘의 선택 및 분리기준과 정지규칙을 정하여 의사결정나무의 구조를 만드는 과정.

트리를 실제로 만드는 과정이다

 

왜?
왜냐하면 변수만 선택한다고 모델이 완성되는 것이 아니라 데이터를 실제로 반복적으로 나누면서 구조를 형성해야 하기 때문에, 어떤 알고리즘을 사용할지, 어떤 기준으로 분리할지, 언제 멈출지를 동시에 결정해야 하며, 이 세 요소가 결합되어야 비로소 하나의 완전한 의사결정나무 구조가 만들어지기 때문이다

  • Growing: 트리 생성 과정
  • Split: 분리 기준
  • Stopping Rule: 정지 규칙

수식

 

예시
데이터를 계속 나누면서 나무 구조 생성


1) 알고리즘 선정 : CHAID, CART, C4.5/5.0 등.

트리 생성 방법을 선택한다

 

왜?
왜냐하면 CHAID, CART, C4.5와 같은 알고리즘들은 각각 사용하는 분리 기준과 계산 방식이 다르기 때문에 동일한 데이터라도 전혀 다른 트리 구조를 만들 수 있으며, 문제의 성격과 데이터의 특성에 맞는 알고리즘을 선택해야 최적의 성능을 얻을 수 있기 때문이다

  • CHAID: 카이제곱 기반 분리
  • CART: Classification And Regression Tree
  • C4.5: 엔트로피 기반

수식
(카이제곱 예시)

 

예시
CART → 지니 / C4.5 → 엔트로피 사용


2)분리규칙:

어떤 독립변수를 이용하여 어떻게 분리하는 것이 종속변수의 분포를 가장 잘 구별해주는지에 대한 규칙(자식노드의 순수도는 증가하고 불순도는 감소하는 방향으로 분리를 진행, 최적 분리기준을 찾은 후 각 레벨에서 분리를 반복함).

어떤 변수로 어떻게 나눌지 결정하는 기준이다

 

왜?
왜냐하면 의사결정나무는 데이터를 무작위로 나누는 것이 아니라 분리 이후에 종속변수의 분포가 가장 잘 구분되도록 만들어야 의미가 있기 때문에, 자식노드에서 순수도가 증가하고 불순도가 감소하는 방향으로 분리를 해야 하며, 이러한 기준을 반복적으로 적용해야 전체 트리 구조가 올바르게 형성되기 때문이다

  • 순수도(Purity)
  • 불순도(Impurity)

수식

 

예시
합격/불합격 비율이 더 명확해지는 방향으로 분리


3)분리기준 :

순수도 혹은 불순도에 의해 측정(종속변수의 특정 범주에 개체들이 포함되어 있는 정도)

부모노드에 비해 자식노드의 불순도(이질성)가 작은 방향으로 분리 혹은 순수도(동질성)가 증가하는 방향으로 분리

    (예: 부모 불순도(0.5), 자식 불순도(0.3)인 경우, 자식 불순도가 작아져서 분리 수행).

 

분리의 좋고 나쁨을 수치로 판단한다

 

왜?
왜냐하면 데이터를 나눈 결과가 좋은지 나쁜지를 직관적으로만 판단할 수 없기 때문에, 불순도나 순수도와 같은 수치적인 기준을 사용하여 부모노드보다 자식노드가 더 순수해졌는지를 평가해야 하며, 이 기준을 통해 최적의 분리 지점을 선택해야 모델의 성능이 향상된다

  • 불순도: 데이터가 섞인 정도
  • 순수도: 같은 클래스 비율

수식

 

예시
0.5 → 0.3이면 좋은 분리


4)정지규칙:

더이상 분리가 일어나지 않고 현재의 노드가 끝노드가 되도록 깊이(Depth)를 지정하는 규칙(불순도 감소량이 작을 때 적용).

언제 분할을 멈출지 정하는 기준이다

 

왜?
왜냐하면 의사결정나무는 이론적으로 계속 분할이 가능하지만, 계속 나누게 되면 데이터 하나당 하나의 노드가 되는 과적합 상태가 발생하게 되고, 반대로 너무 빨리 멈추면 중요한 패턴을 놓칠 수 있기 때문에 불순도 감소가 일정 수준 이하일 때나 깊이가 일정 수준 이상일 때 분할을 멈추는 규칙이 필요하다

  • Depth: 트리 깊이
  • Leaf Node: 끝 노드

예시
깊이 5 이상이면 분할 중지


의사결정나무형성 과정 Step3) 가지치기(Pruning) :

적절하지 않은 마디를 제거하여, 적당한 크기의 자식노드 구조를 가지도록 하는 규칙, 과적합을 줄이고 일반화 가능성을 증대시키는 자식노드(Subtree)를 찾는 과정(가지치기 결과로 깊이가 줄어들고 결과의 개수가 줄어듦).

불필요한 가지를 잘라내는 과정이다

 

왜?
왜냐하면 초기 트리는 학습 데이터에 과하게 맞춰진 상태일 가능성이 높기 때문에 일부 가지를 제거하여 모델을 단순화해야 새로운 데이터에서도 잘 작동하는 일반화 성능이 향상되며, 이 과정을 통해 불필요한 분기를 제거하고 핵심 구조만 남길 수 있다

  • Pruning: 가지치기
  • Subtree: 부분 트리

수식

 

예시
깊이 10 → 5로 줄이기


1)속성 제한

나무의 깊이(Depth), 잎노드(Leaf Node)의 최대 개수, 노드가 분할하는 최대 개수 - 그 중에서도 최대 깊이(Max_ Depth)를 통해 나무의 깊이 제한.

트리 크기를 제한한다

 

왜?
왜냐하면 트리의 깊이나 노드 수를 제한하지 않으면 계속 분할이 진행되어 과적합이 발생하게 되며, 모델이 지나치게 복잡해지기 때문에 최대 깊이와 같은 제한 조건을 설정하여 모델의 복잡도를 조절해야 한다

  • Max Depth
  • Leaf Node

예시
최대 깊이 5로 제한


2) 최소표본분리(Min-Sample_Split)파라미터 조정

 한 노드에 들어있는 최소 데이터 수를 정함.

분할을 위한 최소 데이터 수 설정

 

왜?
왜냐하면 너무 적은 데이터로 분할을 수행하면 통계적으로 의미 없는 분리가 발생하고 노이즈에 의해 모델이 왜곡될 수 있기 때문에 일정 수 이상의 데이터가 있을 때만 분할하도록 제한해야 안정적인 모델을 만들 수 있다

  • Min Samples Split

예시
데이터 10개 이상일 때만 분할


가지치기를 하면 과적합은 줄어들지만 많이 수행 시 데이터 정확도가 하락할 수 있어, 최적의 가지치기 횟수를 하이퍼파라미터로 설정 필요.

가지치기 너무 많이 하면 성능 떨어진다

 

왜?
왜냐하면 가지치기를 통해 모델을 단순화하면 과적합은 줄어들지만 동시에 중요한 정보까지 제거될 수 있기 때문에 지나치게 많이 수행하면 모델이 데이터를 충분히 설명하지 못하게 되어 정확도가 감소할 수 있으며, 따라서 적절한 수준을 찾는 것이 중요하다

 

예시
적절한 pruning 강도 설정


알파컷(Alpha-Cut) 등 과적합 막기 위한 가지치기 기법 이용 .

특정 기준으로 가지치기 수행

 

왜?
왜냐하면 가지치기를 수행할 때 어느 정도까지 가지를 제거할지 기준이 필요하며, 알파값을 이용한 비용복잡도 기반 가지치기 방법을 사용하면 모델의 복잡도와 오차를 동시에 고려하여 최적의 트리를 선택할 수 있기 때문이다

  • Alpha(α): 가지치기 강도

수식

 

예시
α값 증가 → 더 많이 가지치기


의사결정나무형성 과정 Step4) 타당성 평가 :

이익(Gain), 위험(Risk), 비용(Cost)등을 고려하여 모델 평가, 가지치기의 결과인 나무 모델의 적합에서 최적 모델을 선택, 검증오차가 가장 작은 의사결정나무를 평가.

모델 성능을 평가하는 단계

 

왜?
왜냐하면 트리를 만들었다고 해서 좋은 모델이라고 보장할 수 없기 때문에 실제 데이터에서 얼마나 잘 예측하는지를 확인해야 하며, 특히 검증 데이터에서 오차가 가장 작은 모델을 선택해야 새로운 데이터에서도 잘 작동하는 모델을 확보할 수 있다

 

수식
Gain = H(parent) - H(children)

 

예시
검증 데이터에서 정확도 비교


의사결정나무형성 과정 Step5) 해석 및 예측 :

분류(Classification) 및 예측(Prediction) 수행.

최종적으로 모델을 사용한다

 

왜?
왜냐하면 모델을 만드는 목적은 단순한 구조 생성이 아니라 실제 문제 해결이기 때문에, 완성된 의사결정나무를 이용하여 새로운 데이터에 대해 결과를 예측하고 이를 통해 의사결정을 내리는 단계가 반드시 필요하다

 

예시
고객 구매 여부 예측


불순도와 순수도 : 노드의 분리 기준 

불순도는 다양한 범주(Factor)들의 개체(데이터)들이 얼마나 포함되어 있는가를 의미하며 즉, 여러 가지의 범주들이 섞여 있는 정도를 말한다.

  • 의미 
    불순도(impurity)는 하나의 노드 안에 서로 다른 클래스(범주)가 얼마나 뒤섞여 있는지를 나타내는 지표로, 예를 들어 고객 데이터에서 구매/비구매가 섞여 있다면 불순도가 높은 상태를 의미하며, 하나의 범주만 존재하면 불순도는 낮거나 0이 되는 개념이다.
  • 왜 
    의사결정나무에서 데이터를 분할하는 목적은 서로 다른 특성을 가진 데이터를 최대한 구분해서 모델이 예측을 더 잘하도록 만드는 것이며, 불순도가 높다는 것은 한 노드 안에 서로 다른 클래스가 뒤섞여 있어 해당 노드만으로는 정확한 예측이 어렵다는 의미이기 때문에, 모델은 불순도를 줄이는 방향으로 분할을 수행하여 각 노드가 최대한 하나의 클래스에 가깝도록 만들려는 것이다.
  • 용어뜻 →
    • 불순도(Impurity): 서로 다른 클래스가 섞여 있는 정도
    • 범주(Factor): 데이터의 클래스 또는 그룹 (예: 합격/불합격)
    • 개체(데이터): 하나의 관측값 또는 샘플
  • 수식 →
    대표적인 불순도 지표 (지니 불순도):여기서 (p_i)는 i번째 클래스의 비율

 

  • 예시 →
    • 노드에 [A, A, A, A] → 한 가지 범주 → 불순도 = 0
    • 노드에 [A, B, A, B] → 섞임 → 불순도 높음

반대로 순수도(Purity)는 같은 범주들끼리 얼마나 많이 포함되어 있는지를 의미한다.

  • 의미 →
    순수도(purity)는 하나의 노드 안에 동일한 클래스의 데이터가 얼마나 많이 모여 있는지를 나타내는 개념으로, 특정 노드에 같은 범주 데이터가 많을수록 순수도가 높다고 해석하며 이는 모델이 해당 노드에서 명확한 판단을 할 수 있음을 의미한다.
  • 왜 →
    모델의 목적은 결국 데이터를 잘 구분하는 것이고, 순수도가 높은 노드는 대부분 하나의 클래스만 포함하고 있기 때문에 해당 노드에 도달하면 별도의 추가 판단 없이도 결과를 확정할 수 있는 상태가 되며, 이는 모델의 정확도를 높이고 구조를 단순하게 만드는 데 중요한 기준이 되기 때문에 순수도를 최대화하는 방향으로 트리를 구성한다.
  • 용어뜻 →
    • 순수도(Purity): 하나의 클래스만 존재하는 정도
    • 클래스(Class): 데이터의 정답 또는 범주
  • 수식 →
    순수도는 보통 불순도의 반대 개념이므로 직접 수식보다는 불순도 최소화로 표현됨
    (예: 지니 불순도 = 0 → 순수도 최대)
  • 예시 →
    • [A, A, A, A] → 순수도 매우 높음
    • [A, B, A, B] → 순수도 낮음

따라서 부모노드의 순수도에 비해서 자식노드들의 순수도가 증가하거나 혹은 부모 노드의 불순도에 비해서 자식노드의 불순도가 낮아지도록 트,리를 형성한다.

  • 의미 →
    의사결정나무는 데이터를 분할할 때, 부모 노드보다 자식 노드가 더 깨끗한 상태(즉, 순수도가 높거나 불순도가 낮은 상태)가 되도록 기준을 설정하여 분할을 진행하며, 이러한 과정을 반복하면서 점점 더 명확하게 클래스가 구분되는 구조를 만들어간다.
  • 왜 →
    만약 분할을 했는데도 자식 노드의 불순도가 부모와 같거나 더 높다면, 그 분할은 데이터를 구분하는 데 전혀 도움이 되지 않는 쓸모없는 분할이 되며 모델 성능을 향상시키지 못하므로, 알고리즘은 항상 분할 전보다 분할 후가 더 정보가 증가(즉, 더 순수)하도록 만드는 기준을 선택하며 이것이 바로 정보이득(Information Gain) 또는 지니 감소(Gini Decrease) 같은 개념으로 수식화되어 적용된다.
  • 용어뜻 →
    • 부모노드(Parent Node): 분할되기 전의 노드
    • 자식노드(Child Node): 분할 후 생성된 노드
    • 정보이득(Information Gain): 분할 전후 불순도 감소량
    • 트리(Tree): 계층적으로 데이터를 분할하는 구조
  • 수식 →
    정보이득 (엔트로피 기준):지니 감소:

  • 예시 →
    • 부모노드: [A, B, A, B] → 불순도 높음
    • 분할 후
      • 자식1: [A, A] → 순수
      • 자식2: [B, B] → 순수
        → 불순도 감소 → 좋은 분할

분류나무(Classification Tree, 종속변수가 범주형인 경우) 

카이제곱통계량이 자유도(유의수준)에 비해서 매우 작다는 것은 독립변수의 각 범주에 따른 종속변수의 분포가 서로 동일하다는 것을 의미하며, 독립변수가 종속변수의 분포가 서로 동일하다는 것을 의미하며, 독립변수가 종속변수의 분류에 영향을 주지 않는다는 결론을 내릴 수 있다.

  • 의미 →
    카이제곱 통계량 값이 작다는 것은 실제 관측된 데이터 분포와 기대되는 분포 간의 차이가 거의 없다는 뜻이며, 이는 독립변수의 각 범주에 따라 종속변수의 분포가 거의 변하지 않고 동일하게 유지된다는 것을 의미하고, 결과적으로 독립변수가 종속변수의 결과를 구분하거나 설명하는 데 영향을 주지 않는다고 해석할 수 있다.
  • 왜 →
    카이제곱 검정의 핵심은 “관측값(O)과 기대값(E)의 차이”를 기반으로 두 변수 간 관계를 판단하는 것이며, 만약 독립변수가 종속변수에 영향을 준다면 특정 범주에서 종속변수의 비율이 달라져야 하는데, 카이제곱 통계량이 작다는 것은 이러한 차이가 거의 없다는 뜻이므로 실제로는 독립변수가 바뀌어도 종속변수의 분포가 변하지 않는다는 의미가 되고, 이는 두 변수가 서로 독립(independent)이라는 가설을 기각할 수 없음을 의미하여 결국 변수 간 관계가 없다고 판단하게 되는 것이다.
  • 용어뜻 →
    • 카이제곱통계량(X^2): 관측값과 기대값의 차이를 측정하는 통계량
    • 자유도(df): 독립적으로 변할 수 있는 값의 개수
    • 유의수준(alpha): 기각 기준 (보통 0.05)
    • 독립변수: 설명 변수
    • 종속변수: 결과 변수
    • 독립(independence): 서로 영향 없음
  • 수식 →

 

  • 예시 →
    • 성별(남/여)과 합격 여부가 있다고 할 때
    • 남자/여자 모두 합격 비율이 거의 같다면
      → 카이제곱 값 작음 → 영향 없음

반대로 카이제곱통계량이 크다는 것은 분리된 노드가 이질적임을 의미한다.

  • 의미 →
    카이제곱 통계량이 크다는 것은 관측된 값과 기대값 사이의 차이가 크다는 의미이며, 이는 독립변수의 범주에 따라 종속변수의 분포가 크게 달라진다는 것을 뜻하고, 결과적으로 분할된 노드들 사이에 서로 다른 특성이 존재하는 즉, 이질적인 상태가 형성되었음을 의미한다.
  • 왜 →
    카이제곱 통계량이 커진다는 것은 각 범주에서 기대했던 비율과 실제 데이터의 비율이 크게 다르다는 뜻이며, 이는 특정 범주에서는 종속변수의 특정 값이 더 많이 나타나고 다른 범주에서는 다르게 나타나는 패턴이 존재한다는 의미이므로 독립변수가 종속변수에 영향을 미치고 있다고 판단할 수 있고, 이러한 차이가 클수록 데이터가 잘 분리된 상태이기 때문에 의사결정나무에서는 이런 분할을 좋은 분할로 평가하게 되는 것이다.
  • 용어뜻 →
    • 이질적(Heterogeneous): 서로 다른 특성이 섞인 상태
    • 노드(Node): 트리에서 데이터가 모여 있는 단위
  • 수식 →

  • 예시 →
    • 남자는 합격률 90%, 여자는 합격률 10%
      → 분포 차이 큼 → 카이제곱 큼 → 잘 나뉨

따라서 카이제곱 통계량은 커지고 카이제곱 통계량 p값이 작아지는 방향으로 노드를 분리한다.

  • 의미 →
    의사결정나무에서 분류 기준을 선택할 때는 카이제곱 통계량이 최대가 되고, 동시에 해당 통계량의 p값이 최소가 되는 방향으로 분할을 수행하며, 이는 두 변수 간의 관계가 통계적으로 유의미하게 나타나는 분할을 선택한다는 의미이다.
  • 왜 →
    p값은 “귀무가설이 맞을 때 지금과 같은 결과가 나올 확률”을 의미하는데, 카이제곱 통계량이 크면 관측값과 기대값 차이가 크기 때문에 귀무가설(독립이다)이 맞다고 보기 어려워지고 p값이 작아지게 되며, p값이 작다는 것은 두 변수 간 관계가 우연이 아니라 실제로 존재한다고 판단할 수 있는 근거가 되므로, 의사결정나무에서는 이러한 분할을 선택해야 데이터가 더 잘 구분되고 모델 성능이 향상되기 때문에 카이제곱은 크게, p값은 작게 만드는 방향으로 분할한다.
  • 용어뜻 →
    • p값(p-value): 귀무가설이 참일 때 관측 결과가 나올 확률
    • 귀무가설(H0): 변수 간 관계 없음
  • 수식 →

 

  • 예시 →
    • 분할 A: p값 = 0.3 → 의미 없음
    • 분할 B: p값 = 0.001 → 의미 있음
      → B 선택

즉 관측도수와 기대도 수의 차이가 커질수록 노드 간의 이질성은 높아지고, 노드 내의 순수도는 높아져 좋은 분리(Split)가 됐다고 할 수 있다.

  • 의미 →
    실제 데이터의 빈도(관측도수)와 이론적으로 기대되는 빈도(기대도수)의 차이가 클수록 각 노드가 서로 다른 특징을 가지게 되어 노드 간 구분이 명확해지고, 동시에 각 노드 내부에서는 특정 클래스가 집중되면서 순수도가 높아지기 때문에 좋은 분할이 이루어졌다고 판단할 수 있다.
  • 왜 →
    의사결정나무의 핵심 목표는 데이터를 잘 나누어 각 노드가 하나의 클래스에 가깝도록 만드는 것이며, 관측값과 기대값의 차이가 크다는 것은 특정 범주에서 특정 결과가 유난히 많이 나타난다는 의미이므로 분할을 통해 각 노드가 서로 다른 특징을 가지게 되고, 동시에 각 노드 내부에서는 특정 클래스가 집중되면서 불순도가 감소하고 순수도가 증가하게 되어 모델이 더 명확한 기준으로 예측할 수 있게 되므로 이러한 분할이 가장 좋은 분할로 평가되는 것이다.
  • 용어뜻 →
    • 관측도수(O): 실제 데이터 빈도
    • 기대도수(E): 이론적으로 기대되는 빈도
    • 순수도(Purity): 하나의 클래스 비율
  • 수식 →


  • 예시 →
    • 분할 전: [A, B, A, B] → 섞임
    • 분할 후:
      • 노드1: [A, A]
      • 노드2: [B, B]
        → 차이 큼 → 순수도 증가 → 좋은 분리

 


카이제곱통계량 기반 분리되는 사례 

왼쪽 노드와 오른쪽 노드로 분리되었을 때의 A와 B의 속성 수
  • 의미 →
    하나의 부모 노드에 있던 데이터가 특정 기준에 의해 왼쪽 노드와 오른쪽 노드로 나뉘었을 때, 각 노드 안에 포함된 A와 B 범주의 데이터 개수를 나타낸 것으로, 이 값은 이후 카이제곱 검정을 통해 두 노드가 서로 다른 분포를 가지는지 판단하는 핵심 데이터가 된다.
  • 왜 →
    의사결정나무에서 분할이 좋은지 판단하려면 단순히 나눴다는 사실이 아니라, 나눈 이후에 각 노드의 구성 비율이 얼마나 달라졌는지를 확인해야 하는데, 이를 위해 가장 먼저 필요한 정보가 바로 각 노드에서 A와 B가 몇 개씩 있는지에 대한 관측도수이며, 이 값이 있어야 기대도수와 비교하여 카이제곱 값을 계산할 수 있기 때문에 반드시 먼저 정리해야 한다.
  • 용어뜻 →
    • 속성 수: 각 범주(A, B)의 개수
    • 노드(Node): 데이터가 모여 있는 단위
  • 수식 →
    관측도수 (O) 사용

 

  • 예시 →
    • 왼쪽 노드: A=6, B=2
    • 오른쪽 노드: A=0, B=4
( )안의 숫자는 기대도수 (6 × 8) / 12 = 4, (6 × 4) / 12 = 2
  • 의미 →
    괄호 안에 표시된 값은 실제 관측값이 아니라 “만약 두 변수(A/B와 노드)가 서로 독립이라면 기대되는 값”을 의미하는 기대도수이며, 전체 데이터 비율을 기준으로 각 노드에 분배될 것으로 예상되는 이론적인 값이다.
  • 왜 →
    카이제곱 검정은 “실제 값과 기대 값의 차이”를 기반으로 변수 간 관계를 판단하는 방법이기 때문에, 기대도수를 계산하는 것이 핵심이며, 만약 독립이라면 전체에서의 A 비율과 B 비율이 각 노드에서도 동일하게 유지되어야 하므로 전체 비율을 기반으로 기대값을 계산하게 되고, 이 값을 기준으로 실제 값과 얼마나 다른지를 측정하여 독립 여부를 판단한다.
  • 용어뜻 →
    • 기대도수(Expected Frequency): 독립 가정 하에서 기대되는 값
    • 관측도수(Observed Frequency): 실제 데이터 값
  • 수식 →

  • 예시 →
    • 전체 A = 6, 전체 데이터 = 12
    • 왼쪽 노드 크기 = 8
      → 기대 A = (6 × 8) / 12 = 4

가설 설정

귀무가설(H0) - 왼쪽 노드와 오른쪽 노드 간의 A와 B의 구성 비율이 동일하다(동질적).
  • 의미 →
    기본적으로 설정하는 가설로, 왼쪽 노드와 오른쪽 노드가 A와 B의 비율 측면에서 차이가 없으며 서로 같은 분포를 가진다는 것을 가정하는 것으로, 즉 분할이 의미가 없다는 상태를 의미한다.
  • 왜 →
    통계 검정에서는 항상 “차이가 없다”는 상태를 기본 가정(귀무가설)으로 설정하고, 데이터를 통해 그 가설을 기각할 수 있는지를 판단하는 구조를 사용하며, 여기서는 분할이 의미가 있는지 판단하는 것이 목적이기 때문에 만약 두 노드의 분포가 동일하다면 굳이 나눌 필요가 없으므로, 이를 기본 상태로 두고 검정을 진행하는 것이다.
  • 용어뜻 →
    • 귀무가설(H0): 차이가 없다는 기본 가설
    • 동질적(Homogeneous): 같은 분포
  • 수식 →

 

  • 예시 →
    • 왼쪽: A 50%, B 50%
    • 오른쪽: A 50%, B 50%
      → 동일 → 분할 의미 없음

대립가설(H1) - 왼쪽 노드와 오른쪽 노드 간의 A와 B의 구성 비율이 동일하지 않다(이질적).
  • 의미 →
    귀무가설과 반대되는 가설로, 두 노드의 A와 B 비율이 서로 다르며 분포가 다르다는 것을 의미하고, 이는 분할이 의미 있는 결과를 만들어냈다는 상태를 나타낸다.
  • 왜 →
    의사결정나무의 목표는 데이터를 잘 나누는 것이며, “잘 나눴다”는 것은 결국 각 노드가 서로 다른 특성을 갖도록 만든 것인데, 이것을 수학적으로 표현하면 두 노드의 분포가 동일하지 않다는 상태가 되며, 따라서 대립가설은 “차이가 있다”는 형태로 설정되고, 이 가설이 채택되면 해당 분할은 좋은 분할로 판단된다.
  • 용어뜻 →
    • 대립가설(H1): 차이가 있다는 가설
    • 이질적(Heterogeneous): 서로 다른 분포
  • 수식 →

 

  • 예시 →
    • 왼쪽: A 75%, B 25%
    • 오른쪽: A 0%, B 100%
      → 다름 → 분할 의미 있음

검정통계량 

χ₀² = Σ (Oi − ei)² / ei , 자유도(v = k − 1, k : 범주의 개수)
  • 의미 →
    카이제곱 통계량은 각 범주에서 관측값과 기대값의 차이를 제곱하여 기대값으로 나눈 값을 모두 더한 것으로, 이 값이 클수록 실제 데이터와 기대 데이터 간 차이가 크다는 것을 의미한다.
  • 왜 →
    단순히 차이(O - E)를 더하면 양수와 음수가 상쇄될 수 있기 때문에 제곱을 사용하여 절댓값 효과를 만들고, 또한 각 범주의 중요도를 동일하게 보기 위해 기대값으로 나누어 정규화하며, 이렇게 계산된 값이 클수록 독립이라는 가정이 깨질 가능성이 커지므로 이를 통해 변수 간 관계 여부를 판단할 수 있게 된다.
  • 용어뜻 →
    • (O_i): 관측도수
    • (e_i): 기대도수
    • 자유도(df): 범주 수 - 1
  • 수식 →

 

  • 예시 →
    (6-4)²/4 + (2-4)²/4 + (0-2)²/2 + (4-2)²/2 = 6

가설 검정 유의수준 (알파 = 0.05) 기각역 

검정통계량 χ₀² ≥ 기각역 χ²((r − 1)(c − 1), α)

  • 의미 →
    계산된 카이제곱 값이 특정 기준값(임계값)보다 크면 귀무가설을 기각할 수 있다는 의미이며, 이 기준값은 자유도와 유의수준에 따라 결정된다.
  • 왜 →
    통계 검정에서는 단순히 값이 크다/작다로 판단하는 것이 아니라, 해당 값이 “우연히 발생하기 어려운 수준인가”를 기준으로 판단해야 하며, 이를 위해 카이제곱 분포표에서 임계값을 구하고, 계산된 값이 그보다 크다면 독립이라는 가설로 설명하기 어려운 상황이므로 귀무가설을 기각하게 되는 것이다.
  • 용어뜻 →
    • 기각역: 귀무가설을 버리는 영역
    • r: 행 개수
    • c: 열 개수
  • 수식 →

 

  • 예시 →
    df=1, α=0.05 → 임계값 = 3.838

통계적 결론 - 기각역 

검정통계량 χ₀² = 6 ≥ 기각역 χ²((2 − 1)(2 − 1), 0.05) = 3.838, 검정통계량은 기각역에 속하여 귀무가설은 기각된다. 따라서 왼쪽 노드와 오른쪽 노드 간의 A와 B의 구성 비율이 동일하지 않다. 이질적이기 때문에 분리된다.

  • 의미 →
    계산된 카이제곱 값이 기준값보다 크므로 두 노드의 분포는 동일하지 않으며, 이 분할은 의미 있는 분할로 판단되어 유지된다는 의미이다.
  • 왜 →
    6이라는 값은 우연히 발생하기 어려운 큰 값이기 때문에 “두 노드가 동일하다”는 가설로는 설명이 불가능하고, 따라서 실제로는 두 노드가 서로 다른 분포를 가진다고 보는 것이 더 합리적이며, 의사결정나무에서는 이런 경우를 좋은 분할로 간주하여 트리를 계속 확장하게 되는 것이다.
  • 용어뜻 →
    • 기각: 가설을 버림
  • 수식 →

 

  • 예시 →
    → 왼쪽: A 많음
    → 오른쪽: B 많음
    → 확실히 구분됨

통계적 결론 - p값

검정통계량 6의 P값 0.014 ≤ 유의수준 0.050이므로 귀무가설은 기각된다. 따라서 왼쪽 노드와 오른쪽 노드 간의 A와 B의 구성 비율이 동일하지 않다. 이질적이기 때문에 분리된다.

  • 의미 →
    p값 기준으로 봐도 0.014는 0.05보다 작기 때문에 귀무가설을 기각하며, 두 노드는 서로 다른 분포를 가지므로 분할이 적절하다는 의미이다.
  • 왜 →
    p값은 “이 결과가 우연히 나올 확률”인데 0.014라는 값은 매우 낮은 확률이므로, 단순한 우연으로 이런 차이가 발생했다고 보기 어렵고 실제로 두 변수 간 관계가 존재한다고 판단하는 것이 타당하며, 따라서 분할이 유의미하다고 결론 내리고 트리를 유지하는 것이다.
  • 용어뜻 →
    • p값: 귀무가설이 맞을 확률
  • 수식 →

 

  • 예시 →
    → p값 작음 → 의미 있는 차이 → 분할 유지

지니지수 

지니지수(Gini Index)는 경제적 불평등을 표현하는 방법으로, 지니지수가 1에 가까울수록 소수의 사람이 독점하는 것을 의미하고(불순도 높음), 0에 가까울수록 모두가 평등(불순도 낮음)함을 의미한다.

  • 의미 →
    지니지수는 원래 경제학에서 소득 분배의 불평등 정도를 측정하는 지표로 사용되지만, 의사결정나무에서는 이를 확장하여 데이터가 얼마나 한쪽으로 치우쳐 있거나 섞여 있는지를 측정하는 불순도 지표로 사용되며, 값이 1에 가까우면 특정 클래스가 아니라 여러 클래스가 뒤섞여 있는 상태이고, 0에 가까우면 하나의 클래스만 존재하는 순수한 상태를 의미한다.
  • 왜 →
    의사결정나무의 핵심은 데이터를 잘 나누어 각 노드가 하나의 클래스에 가깝도록 만드는 것이기 때문에, 현재 노드가 얼마나 섞여 있는지를 수치로 표현할 필요가 있으며, 지니지수는 계산이 간단하면서도 직관적으로 “섞임 정도”를 표현할 수 있기 때문에 널리 사용되며, 값이 높다는 것은 여러 클래스가 섞여 있어 예측이 어렵다는 의미이고 값이 낮다는 것은 특정 클래스가 지배적이라 예측이 쉬운 상태이므로 분할 기준으로 매우 적합하다.
  • 용어뜻 →
    • 지니지수(Gini Index): 불순도를 측정하는 지표
    • 불순도(Impurity): 여러 클래스가 섞여 있는 정도
    • 평등: 하나의 클래스가 지배적인 상태
  • 수식 →

 

  • 예시 →
    • [A, A, A, A] → p=1 → Gini=0 (순수)
    • [A, B, A, B] → p=0.5 → Gini=0.5 (불순)

따라서 지니지수값이 클수록 불순도가 높으며, 불순도가 높을수록(0.5) 자식노드 내의 이질성이 큼을 의미한다.

  • 의미 →
    지니지수 값이 크다는 것은 노드 내부에 여러 클래스가 균등하게 섞여 있다는 의미이며, 특히 이진 분류에서는 최대값인 0.5일 때 두 클래스가 정확히 반반으로 섞인 상태를 의미하고, 이는 해당 노드의 데이터가 가장 혼란스럽고 이질적인 상태라는 것을 의미한다.
  • 왜 →
    지니지수는 각 클래스 확률의 제곱합을 기반으로 계산되기 때문에, 특정 클래스의 비율이 높아질수록 값이 작아지고 여러 클래스가 비슷한 비율로 존재할수록 값이 커지게 되며, 특히 0.5는 두 클래스가 완전히 동일한 비율로 존재하는 상태이므로 어떤 클래스인지 판단하기 가장 어려운 상태가 되고, 이는 모델 입장에서 예측 불확실성이 가장 큰 상태이기 때문에 이질성이 최대라고 해석하는 것이다.
  • 용어뜻 →
    • 이질성(Heterogeneity): 서로 다른 클래스가 섞인 정도
    • 자식노드: 분할 후 생성된 노드
  • 수식 →
    (이진 분류 기준)

 

  • 예시 →
    • p=0.5 → Gini=0.5 (최대 불순도)
    • p=0.9 → Gini=0.18 (낮은 불순도)

노드를 분리할 때 불순도가 낮아지는 방향으로 분리하거나 불순도의 감소폭이 높은 쪽으로 분리한다.

  • 의미 →
    의사결정나무에서는 데이터를 분할할 때 단순히 나누는 것이 아니라, 분할 이후 각 자식노드의 불순도가 더 낮아지도록 하는 기준을 선택하거나, 분할 전과 비교했을 때 불순도가 가장 크게 감소하는 분할을 선택한다.
  • 왜 →
    모델의 목적은 각 노드가 하나의 클래스에 가깝도록 만드는 것이므로, 분할을 했을 때 불순도가 줄어들지 않으면 그 분할은 의미가 없으며 오히려 모델을 복잡하게 만들기만 하게 되기 때문에 반드시 불순도를 줄이는 방향으로 분할해야 하고, 여러 후보 분할이 있을 경우에는 단순히 낮은 값이 아니라 “얼마나 많이 줄였는가(감소폭)”가 중요하며, 이는 부모노드 대비 자식노드의 정보가 얼마나 개선되었는지를 의미하므로 가장 큰 감소를 만드는 분할이 최적의 분할이 된다.
  • 용어뜻 →
    • 분할(Split): 데이터를 나누는 과정
    • 불순도 감소(Gini Decrease): 분할 전후 차이
  • 수식 →

 

  • 예시 →
    • 분할 A → Gini 감소 = 0.1
    • 분할 B → Gini 감소 = 0.3
      → B 선택 (더 좋은 분할)

사례 

지니지수(Gini Index) = 1 - Σ pᵢ² , 0 ≤ G ≤ 1/2
  • 의미 →
    지니지수는 각 클래스가 차지하는 비율(pᵢ)을 제곱한 값들을 모두 더한 뒤 1에서 빼서 계산하는 값으로, 데이터가 얼마나 섞여 있는지를 나타내는 지표이며, 이진 분류에서는 값의 범위가 0에서 0.5 사이에 존재하고 값이 클수록 여러 클래스가 균등하게 섞인 상태, 즉 불순도가 높은 상태를 의미한다.
  • 왜 →
    각 클래스 확률을 제곱하는 이유는 특정 클래스가 많이 차지할수록 그 값이 더 크게 반영되도록 하기 위함이며, 만약 하나의 클래스가 거의 대부분을 차지하면 제곱값이 커져서 전체 합이 커지고 결국 1에서 빼면 작은 값이 나오게 되어 순수한 상태를 표현하게 되고, 반대로 여러 클래스가 비슷한 비율로 존재하면 제곱값들이 작아져 합이 작아지고 결과적으로 지니값이 커지면서 불순도가 높은 상태를 표현하게 되기 때문에 이렇게 정의된 것이다.
  • 용어뜻 →
    • pᵢ: i번째 클래스의 비율
    • G: 지니지수
    • Σ: 모든 클래스 합
  • 수식 →

 

  • 예시 →
    • p=1 → G=0 (완전 순수)
    • p=0.5 → G=0.5 (최대 불순도)

지니지수는 위의 식으로 표현할 수 있으며 이때 c는 종속변수의 범주 수이며, 지니지수의 범위는 0~0.5, 0에 가까울수록 노드 내의 데이터가 동질적임을 의미한다.

  • 의미 →
    지니지수 계산에서 c는 종속변수의 클래스 개수를 의미하며, 이 값은 각 클래스의 확률을 모두 고려하여 계산되고, 결과적으로 지니지수 값이 0에 가까울수록 하나의 클래스가 대부분을 차지하는 상태로 데이터가 균일하게 모여 있는 상태를 의미한다.
  • 왜 →
    의사결정나무에서는 노드 안의 데이터가 최대한 한 가지 클래스에 가까워야 예측이 쉬워지기 때문에 “동질성”을 높이는 것이 중요한데, 지니지수는 바로 이 동질성을 수치화한 값으로 사용되며, 값이 작다는 것은 특정 클래스 비율이 매우 높다는 의미이므로 해당 노드는 이미 잘 분리된 상태이고 추가 분할이 필요 없거나 적다는 판단을 내릴 수 있기 때문에 이 지표가 중요한 기준이 된다.
  • 용어뜻 →
    • c: 클래스 개수
    • 동질적: 같은 클래스가 대부분인 상태
  • 수식 →

  • 예시 →
    • [A, A, A, A] → G=0
    • [A, B, A, B] → G=0.5

사례 : 지니지수 계산

실제 데이터를 가지고 지니지수를 계산하여 어떤 기준으로 분할하는 것이 더 좋은지 비교하는 과정

  • 왜 →
    이론적으로 지니지수를 이해하는 것만으로는 실제 모델에서 어떤 분할이 더 좋은지 판단하기 어렵기 때문에, 실제 수치를 계산해보고 비교하는 과정을 통해 어떤 기준이 더 불순도를 많이 줄이는지를 확인해야 하며, 이를 통해 의사결정나무가 어떻게 최적의 분할을 선택하는지 이해할 수 있다.
  • 용어뜻 →
    • 사례: 실제 적용 예
  • 예시 →
    성별 vs 나이 기준 비교

뿌리노드의 불순도

  • 의미 →
    분할하기 전 전체 데이터가 모여 있는 상태에서의 불순도를 의미하며, 현재 데이터가 얼마나 섞여 있는지를 나타내는 기준값이다.
  • 왜 →
    분할의 효과를 판단하려면 기준이 되는 값이 필요하며, 바로 이 뿌리노드의 불순도가 기준점이 되고 이후 분할을 했을 때 이 값이 얼마나 줄어드는지를 비교하여 어떤 분할이 더 좋은지를 판단하기 때문에 반드시 먼저 계산해야 한다.
  • 용어뜻 →
    • 뿌리노드(Root Node): 처음 시작 노드
  • 수식 →

 

  • 예시 →
    Bad 50, Good 50 → 완전 섞임 → 0.5

자식노드의 지니지수

  • 의미 →
    분할 이후 각 노드(자식노드)에서의 불순도를 계산한 값으로, 분할이 얼마나 잘 되었는지를 평가하기 위한 핵심 지표이다.
  • 왜 →
    분할의 목적은 각 노드가 더 순수해지도록 만드는 것이기 때문에, 분할 이후의 지니지수를 반드시 계산해야 하며, 만약 분할 이후에도 지니값이 크게 줄지 않는다면 그 분할은 의미가 없기 때문에 비교를 통해 최적의 분할을 선택하게 된다.
  • 용어뜻 →
    • 자식노드: 분할 후 생성된 노드
  • 수식 →

  • 예시 →
    • 성별 기준 → 0.32 / 0.32
    • 나이 기준 → 0.48 / 0.48

불순도의 감소폭

  • 의미 →
    분할 전 불순도와 분할 후 불순도의 차이를 의미하며, 이 값이 클수록 분할이 데이터를 더 잘 구분했다는 의미이다.
  • 왜 →
    단순히 분할 후 값이 작은 것만 보는 것이 아니라, 얼마나 많이 개선되었는지를 보는 것이 중요하며, 어떤 분할은 결과값이 비슷해 보여도 감소폭이 작을 수 있기 때문에 모델은 항상 “얼마나 많이 줄였는가”를 기준으로 판단하며, 이것이 바로 최적 분할 기준이 된다.
  • 용어뜻 →
    • 감소폭: 분할 전후 차이
  • 수식 →

  • 예시 →
    • 성별 감소폭 0.18
    • 나이 감소폭 0.02

즉, 성별에 의해 자료를 나누는 것이 나이를 기준으로 분할하는 것보다 종로노드의 순수성의 증가에 도움이 되어 분할에 유리하게 된다.

  • 의미 →
    성별 기준으로 분할하는 것이 나이 기준보다 더 불순도를 크게 줄여주기 때문에 더 좋은 분할 기준이라는 의미이다.
  • 왜 →
    의사결정나무는 항상 불순도를 가장 많이 줄이는 분할을 선택하는데, 성별 기준은 0.18만큼 감소시킨 반면 나이 기준은 0.02밖에 줄이지 못했기 때문에 성별 기준이 훨씬 더 데이터 분리를 잘했다고 판단하며, 이는 각 노드가 더 순수해졌다는 의미이므로 모델의 예측 정확도를 높이는 방향으로 작용하게 된다.
  • 용어뜻 →
    • 순수성: 하나의 클래스 비율이 높은 상태
  • 수식 →

 

  • 예시 →
    → 성별로 나누면 거의 A/B 구분됨

사례에서 불순도를 비교하면 성별을 기준으로 분할했을 때의 지니지수는 0.32이고, 나이를 기준으로 분할했을 때는 0.48이다. 0.05가 노드의 불순도가 높다고 봤을 때 이는 나이를 기준으로 분할 시 불순도가 더 크다는 의미이므로 불순도 값이 낮은 성별을 기준으로 분할한다

  • 의미 →
    성별 기준 분할은 불순도가 낮고, 나이 기준 분할은 불순도가 높기 때문에 성별 기준이 더 좋은 분할이라는 의미이다.
  • 왜 →
    불순도가 높다는 것은 데이터가 여전히 섞여 있어서 예측이 어렵다는 의미이고, 불순도가 낮다는 것은 특정 클래스가 더 많이 모여 있어 예측이 쉬운 상태를 의미하기 때문에, 의사결정나무는 항상 불순도가 더 낮아지는 방향을 선택하며, 이 사례에서는 성별 기준이 훨씬 더 좋은 분할이므로 선택되는 것이다.
  • 용어뜻 →
    • 불순도: 섞임 정도
  • 수식 →

 

  • 예시 →
    • 성별 → 잘 나뉨
    • 나이 → 여전히 섞임

엔트로피지수 

엔트로피값이 클수록 불순도가 높으며, 불순도가 클수록 자식노드 내의 이질성이 큼을 의미하기 때문에 작은 방향으로 분리한다.

  • 의미 →
    엔트로피 값이 크다는 것은 데이터가 여러 클래스에 고르게 섞여 있어 예측이 어려운 상태를 의미하며, 이러한 상태에서는 노드 내부의 데이터가 서로 다른 특성을 많이 포함하고 있기 때문에 이질성이 크다고 판단하고, 따라서 엔트로피 값을 줄이는 방향으로 데이터를 분할해야 한다는 의미이다.
  • 왜 →
    엔트로피는 정보의 불확실성을 나타내는 지표이기 때문에 값이 클수록 어떤 클래스에 속하는지 알기 어려운 상태를 의미하며, 의사결정나무의 목적은 이 불확실성을 줄여서 각 노드가 하나의 클래스에 가까워지도록 만드는 것이므로 분할을 통해 엔트로피를 낮추는 것이 핵심이며, 결국 분할 기준은 “분할 후 엔트로피가 가장 작아지는 방향”으로 선택되어야 모델이 더 정확한 예측을 할 수 있게 된다.
  • 용어뜻 →
    • 엔트로피(Entropy): 불확실성 또는 불순도
    • 이질성: 서로 다른 클래스가 섞인 정도
  • 예시 →
    • [A, B, A, B] → 엔트로피 큼
    • [A, A, A, A] → 엔트로피 0

엔트로피지수(Entropy Index) = - Σ pᵢ log₂pᵢ, 0 ≤ E ≤ 1

  • 의미 →
    엔트로피지수는 각 클래스 비율에 로그를 적용하여 계산한 값으로 데이터의 혼잡도를 측정하며, 값의 범위는 0에서 1 사이이고 값이 클수록 데이터가 균등하게 섞여 있어 불순도가 높은 상태를 의미한다.
  • 왜 →
    로그를 사용하는 이유는 확률이 작을수록 더 큰 정보를 가진다는 정보이론적 개념을 반영하기 위함이며, 각 클래스의 확률에 로그를 적용하고 이를 합산하면 데이터가 얼마나 불확실한 상태인지를 정량적으로 측정할 수 있고, 이 값이 클수록 여러 클래스가 비슷한 비율로 존재하여 예측이 어려운 상태이므로 분할을 통해 이 값을 줄이는 것이 중요하다.
  • 용어뜻 →
    • pᵢ: i번째 클래스 비율
    • log₂: 밑이 2인 로그
  • 수식 →

 

  • 예시 →
    • p=0.5 → E=1
      • 완전히 섞여 있음 (가장 불확실)
        • “이게 A일지 B일지 모름”
        • 정보가 가장 많이 필요함
        그래서
        엔트로피 = 최대 (1)
    • p=1 → E=0
      • 하나로 확정됨 (불확실성 없음)
        • 무조건 A임
        • 더 이상 정보 필요 없음
        그래서
        엔트로피 = 0


c : 종속변수의 범주의 수, p : 범주비율

  • 의미 →
    엔트로피 계산에서 c는 종속변수가 가질 수 있는 클래스 개수를 의미하고, p는 각 클래스가 차지하는 비율을 의미한다.
  • 왜 →
    엔트로피는 모든 클래스의 분포를 반영해야 하기 때문에 각 클래스의 개수(c)만큼 반복해서 계산해야 하며, 각 클래스가 얼마나 차지하는지를 나타내는 확률(p)이 있어야 전체 데이터의 혼잡도를 정확하게 계산할 수 있기 때문에 이 두 요소가 반드시 필요하다.
  • 용어뜻 →
    • c: 클래스 개수
    • p: 확률 또는 비율
  • 수식 →

  • 예시 →
    • A: 70%, B: 30% → p₁=0.7, p₂=0.3

엔트로피지수는 위의 식으로 표현할 수 있으며, 이때 c는 종속변수의 범주의 수이다. 엔트로피지수의 범위는 0~1 사이이며, 0에 가까울수록 노드 내의 데이터들이 동질적임을 의미한다.

  • 의미 →
    엔트로피 값은 0에서 1 사이의 값을 가지며, 값이 0에 가까울수록 하나의 클래스가 대부분을 차지하는 상태로 데이터가 매우 균일하고 예측이 쉬운 상태를 의미한다.

  • 왜 →
    엔트로피는 확률 분포의 균등함을 측정하는 지표이기 때문에 모든 데이터가 하나의 클래스에 속하면 불확실성이 전혀 없어서 값이 0이 되고, 반대로 여러 클래스가 균등하게 섞이면 불확실성이 최대가 되어 값이 커지게 되며, 의사결정나무는 이 불확실성을 줄이는 방향으로 작동하기 때문에 값이 0에 가까워지는 것이 이상적인 상태가 된다.
  • 용어뜻 →
    • 동질적: 동일한 클래스가 대부분
  • 수식 →

 

  • 예시 →
    • [A, A, A] → 0
    • [A, B, A, B] → 1

연두색 공 10개, 초록색 공 10개

  • 의미 →
    전체 데이터가 두 클래스(연두색, 초록색)로 동일한 개수씩 존재하는 완전히 균형 잡힌 상태를 의미한다.
  • 왜 →
    두 클래스가 동일한 비율로 존재하면 어느 클래스에 속할지 예측하기 가장 어려운 상태가 되며, 이 경우 엔트로피는 최대값을 가지게 되고, 이는 분할이 반드시 필요하다는 신호가 되기 때문에 이런 상태를 기준으로 분할 효과를 비교하게 된다.
  • 용어뜻 →
    • 균형 데이터: 클래스 비율이 동일한 데이터
  • 수식 →

  • 예시 →
    → 엔트로피 = 1

엔트로피지수

  • 의미 →
    현재 노드 또는 분할된 노드에서 데이터의 불확실성을 계산한 값이다.
  • 왜 →
    분할 전과 분할 후의 엔트로피를 비교하여 얼마나 불확실성이 줄어들었는지를 확인해야 최적의 분할을 선택할 수 있기 때문에 반드시 계산된다.
  • 용어뜻 →
    • 엔트로피: 불확실성
  • 수식 →

 

  • 예시 →
    → 완전 섞임 → 1

분할 전의 엔트로피수는 1이다. 이를 분할했을 때 엔트로피수는 0.298이 된다. 분할 시 엔트로피수가 현저하게 감소한 결과를 채택하여 분리를 진행한다.

  • 의미 →
    분할 전에는 데이터가 완전히 섞여 있어 엔트로피가 최대값인 1이었지만, 분할 이후에는 엔트로피가 0.298로 크게 감소했기 때문에 이 분할은 매우 효과적인 분할로 판단되어 선택된다는 의미이다.
  • 왜 →
    의사결정나무는 항상 “정보이득(Information Gain)” 즉 엔트로피 감소량이 가장 큰 분할을 선택하는데, 엔트로피가 1에서 0.298로 크게 줄었다는 것은 데이터의 불확실성이 크게 감소했다는 의미이며, 이는 각 노드가 특정 클래스에 더 가까워졌다는 뜻이므로 예측이 쉬워지고 모델 성능이 향상되기 때문에 이러한 분할을 선택하는 것이 가장 합리적이다.
  • 용어뜻 →
    • 정보이득: 엔트로피 감소량
  • 수식 →

  • 예시 →
    → 분할 후 거의 구분됨 → 좋은 분할

차이점 


비교

질문 카이제곱 지니/엔트로피
목적 관계 검정 불순도 측정
기준 통계적 유의성 섞임 정도
결과 해석 쓸모 있냐? 얼마나 잘 나뉘었냐?

사고방식 자체가 다름

카이제곱

“이 변수 진짜 영향 있음?”

  • 기대값 vs 실제값 비교
  • p값으로 판단

통계 시험 느낌


지니 / 엔트로피

“지금 노드 얼마나 더러운 상태냐?”

  • 확률 기반
  • 섞임 정도 계산

머신러닝 느낌


상황 

데이터

A 50 / B 50 (완전 반반)


카이제곱

“남자/여자 나눠도 비율 그대로면?”

→ 의미 없음
→ 분할 안 함


지니 / 엔트로피

“지금 상태 어떠냐?”

→ 최악 (완전 섞임)
→ 반드시 나눠야 함


여기서 차이 느껴야 한다

  • 카이제곱 → “쓸모 있는 변수냐?”
  • 지니/엔트로피 → “지금 상태 더럽냐?”

분할 선택 기준도 다름

카이제곱

값 크게 + p값 작게

→ “우연 아니다” → 채택


지니

값 작게

→ 더 순수 → 채택


엔트로피

값 작게 (정보이득 크게)

→ 더 명확 → 채택


왜 둘 다 필요한거냐 

카이제곱이 하는 일

“이 변수 써도 되는지 판단”


지니/엔트로피가 하는 일

“어떻게 나누는 게 제일 좋은지 판단”


정리하면

카이제곱 = 변수 필터
지니/엔트로피 = 분할 최적화


비유

카이제곱

“이 칼 써도 되냐?”
(도구 검증)


지니 / 엔트로피

"이 칼로 어디 자르는 게 제일 깔끔하냐?”
(분할 품질 평가)


정리

카이제곱
→ 관계 있는지 판단 (통계 검정)

지니
→ 빠르게 불순도 계산

엔트로피
→ 더 정교하게 불순도 계산

 

 “카이제곱은 분할 ‘가능 여부’”
 “지니/엔트로피는 분할 ‘품질 평가’”


회귀나무 (Regression Tree, 종속변수가 연속형인 경우) 

종속변수가 연속형 변수인 경우의 의사결정나무를 회귀나무라고 한다.

  • 의미 →
    의사결정나무는 예측하려는 대상인 종속변수의 형태에 따라 나뉘는데, 그 값이 범주가 아니라 숫자로 연속적인 값을 가지는 경우(예: 가격, 온도, 매출 등)에는 이를 회귀나무(Regression Tree)라고 부르며, 각 노드에서 평균값 등을 이용해 값을 예측하는 구조를 가진다.
  • 왜 →
    범주형 문제는 “어느 클래스냐”를 맞추는 것이기 때문에 분류 기준이 필요하지만, 연속형 문제는 “얼마냐”를 맞추는 것이기 때문에 오차를 줄이는 방식으로 접근해야 하며, 이러한 문제는 회귀 분석과 동일한 목적을 가지기 때문에 의사결정나무에서도 이를 구분하여 회귀나무라는 별도의 형태로 정의하는 것이며, 결국 예측 방식 자체가 다르기 때문에 이름도 구분된다.
  • 용어뜻 →
    • 종속변수: 예측 대상
    • 연속형 변수: 숫자로 연속적인 값
    • 회귀나무: 연속값 예측 트리
  • 수식 →

  • 예시 →
    • 집값 예측
    • 매출액 예측

통계학에서 종속변수가 연속형일 때 흔히 수행하는 분석이 선형회귀분석인 것을 연상해 본다면 명칭이 이해가 될 것이다.

  • 의미 →
    연속형 종속변수를 다룰 때 가장 대표적인 방법이 선형회귀분석인데, 회귀나무 역시 같은 목적(연속값 예측)을 가지므로 “회귀”라는 이름이 붙은 것이라는 설명이다.
  • 왜 →
    회귀라는 용어 자체가 “연속적인 값을 예측한다”는 의미를 포함하고 있기 때문에, 의사결정나무에서도 동일한 목적을 가진 모델이라면 같은 개념적 범주로 묶어야 이해하기 쉽고, 특히 선형회귀는 가장 기본적인 연속형 예측 모델이기 때문에 이를 떠올리면 회귀나무라는 명칭이 자연스럽게 연결되며, 결국 두 모델은 구조는 다르지만 목적은 동일하다는 점에서 이름이 일치한다.
  • 용어뜻 →
    • 선형회귀: 직선 기반 예측 모델
    • 회귀: 연속값 예측
  • 수식 →

  • 예시 →
    • 광고비 → 매출 예측

일반적으로 범주형 변수들은 가변수화하여 0,1의 형태로 변형하여 회귀분석에 활용하지만, 범주형 변수의 수가 매우 많고, 각 범주형 변수의 개수도 많은 경우 해석은 어려워지고 분석도 복잡해진다.

  • 의미 →
    회귀분석에서는 범주형 변수를 그대로 사용할 수 없기 때문에 이를 0과 1로 변환하는 가변수(dummy variable)로 바꿔서 사용하지만, 범주가 많아지면 변수 개수가 급격히 증가하여 모델이 복잡해지고 해석도 어려워진다.
  • 왜 →
    회귀분석은 수치 계산 기반이기 때문에 범주형 데이터를 직접 사용할 수 없고 반드시 숫자로 변환해야 하는데, 이 과정에서 범주 개수만큼 새로운 변수가 생성되며, 예를 들어 범주가 10개라면 9개의 가변수가 추가되기 때문에 데이터 차원이 증가하게 되고, 이는 모델의 복잡도를 증가시키고 해석을 어렵게 만들며 다중공선성 같은 문제도 발생할 수 있기 때문에 이러한 방식은 한계가 존재한다.
  • 용어뜻 →
    • 가변수(dummy variable): 0/1로 변환된 변수
    • 범주형 변수: 그룹 데이터
  • 수식 →
    예:

  • 예시 →
    • 지역: 서울, 부산, 대구 → 3개 → 변수 2개 생성

이러한 경우 회귀나무 모델을 사용하게 되면, 가변수를 생성할 필요 없이 범주형 입력변수와 연속형 입력변수를 그대로 활용할 수 있게 되어 분석 및 그 해석이 용이해질 수 있다.

  • 의미 →
    회귀나무는 범주형 변수를 별도로 숫자로 변환하지 않아도 그대로 사용할 수 있으며, 동시에 연속형 변수도 함께 사용할 수 있기 때문에 모델이 단순하고 해석도 쉬워진다.
  • 왜 →
    의사결정나무는 데이터를 수식으로 계산하는 방식이 아니라 조건(예: 성별=남, 나이>30)으로 분할하는 구조이기 때문에 범주형 데이터도 그대로 조건으로 사용할 수 있으며, 이로 인해 가변수 변환 과정이 필요 없고 변수 수가 증가하지 않으며, 결과적으로 모델 구조가 직관적인 규칙 형태로 나타나기 때문에 사람이 이해하기 쉽고 해석이 간단해지는 장점이 존재한다.
  • 용어뜻 →
    • 입력변수: 독립변수
    • 해석 용이성: 이해하기 쉬움
  • 수식 →
    (조건 기반 분할)

  • 예시 →
    • 성별 = 남 → 분기
    • 나이 > 40 → 분기

각 분리노드별 종속변수의 F통계량 또는 분산의 감소량에 의해 노드를 분리한다.

  • 의미 →
    회귀나무에서는 데이터를 나눌 때 종속변수의 분산이 얼마나 줄어드는지 또는 F통계량을 기준으로 분할을 수행하며, 이를 통해 가장 좋은 분할을 선택한다.
  • 왜 →
    연속형 문제에서는 “값이 얼마나 정확하게 예측되는가”가 중요하기 때문에 분할 후 각 노드의 값들이 평균에 더 가까워지도록 만드는 것이 핵심이며, 이는 분산이 줄어드는 방향으로 나타나고, 분산이 줄어든다는 것은 데이터가 더 비슷한 값들끼리 모였다는 의미이므로 예측 오차가 줄어드는 효과를 가지며, F통계량은 집단 간 차이를 측정하는 지표이기 때문에 이를 활용하면 가장 잘 구분되는 분할을 선택할 수 있다.
  • 용어뜻 →
    • F통계량: 집단 간 분산 비교
    • 분산 감소: 퍼짐 감소
  • 수식 →

  • 예시 →
    • 분할 전 분산: 100
    • 분할 후: 40 → 감소 → 좋은 분할

종속변수의 F통계량에 의해 분리노드를 결정하는 경우에는 종속변수와 독립변수들 간에 가장 설명력이 큰 변수를 먼저 선택하여 분리한다.

  • 의미 →
    F통계량을 기준으로 분할할 때는 종속변수를 가장 잘 설명할 수 있는 독립변수를 먼저 선택하여 분할을 진행한다는 의미이다.
  • 왜 →
    F통계량은 집단 간 평균 차이를 집단 내 분산과 비교하여 측정하는 값이기 때문에, 이 값이 크다는 것은 해당 변수로 데이터를 나누었을 때 그룹 간 차이가 크고 그룹 내부는 비슷하다는 의미이며, 이는 해당 변수가 종속변수를 설명하는 데 매우 중요한 역할을 한다는 뜻이므로 의사결정나무에서는 이러한 변수를 먼저 선택하여 분할하는 것이 전체 모델의 설명력을 높이는 데 가장 효과적이다.
  • 용어뜻 →
    • 설명력: 변수 영향력
    • 독립변수: 입력 변수
  • 수식 →

  • 예시 →
    • 나이 → 매출 영향 큼 → 먼저 분할
    • 성별 → 영향 작음 → 나중

분산분석(ANOVA) F통계량 

F통계량을 계산하는 절차는 일반적으로 많이 알려진 통계분석법인 분산분석(ANOVA)과 동일한 방법이다.

  • 의미 →
    F통계량은 회귀나무에서 분할 기준으로 사용되는데, 그 계산 방식은 통계학에서 집단 간 평균 차이를 비교할 때 사용하는 분산분석(ANOVA)과 동일한 구조를 따르며, 결국 그룹 간 차이와 그룹 내부의 변동을 비교하여 값이 계산된다.
  • 왜 →
    회귀나무에서는 데이터를 나눴을 때 각 그룹의 평균값이 얼마나 다른지가 중요한데, 이 차이를 정량적으로 판단하기 위해서는 단순 평균 비교가 아니라 그룹 간 차이가 우연인지 실제 차이인지 판단할 필요가 있으며, ANOVA는 바로 이 목적을 위해 만들어진 방법으로 집단 간 분산과 집단 내 분산을 비교하여 차이의 유의성을 판단하므로, 회귀나무에서도 동일한 방식으로 F통계량을 계산하여 분할의 타당성을 평가하는 것이다.
  • 용어뜻 →
    • F통계량: 집단 간 차이를 나타내는 통계량
    • 분산분석(ANOVA): 평균 차이 검정 방법
  • 수식 →

  • 예시 →
    • 그룹1 평균 = 10
    • 그룹2 평균 = 50
      → 차이 큼 → F 큼

CHIAD알고리즘은 F통계량의 p값을 기준으로 범주형 종속변수인 경우(분류나무트리)와 유사하게 병합과 분리를 계속하여, p값이 가장 작은 독립변수와 그때의 최적 분리에 의해서 자식노드가 형성된다.

  • 의미 →
    CHAID 알고리즘은 회귀나무에서도 F통계량의 p값을 기준으로 분할을 수행하며, 분류나무에서 카이제곱을 사용하는 방식과 유사하게 범주를 병합하거나 분리하면서 p값이 가장 작은 변수와 그에 따른 최적 분할을 선택하여 자식노드를 생성한다.
  • 왜 →
    CHAID는 본질적으로 “통계적으로 의미 있는 분할”을 찾는 알고리즘이기 때문에 단순히 값을 나누는 것이 아니라 각 변수에 대해 분할했을 때의 p값을 계산하고, 그 중 가장 작은 p값을 가지는 변수를 선택함으로써 가장 유의미한 차이를 만들어내는 분할을 선택하며, 또한 범주형 변수의 경우 유사한 그룹을 병합하면서 최적의 분할을 찾기 때문에 반복적인 병합과 분리 과정을 통해 가장 설명력이 높은 구조를 만들어낸다.
  • 용어뜻 →
    • CHAID: 카이제곱 기반 트리 알고리즘
    • p값: 유의성 판단 값
    • 병합: 비슷한 범주 합침
  • 수식 →

  • 예시 →
    • 변수 A: p=0.03
    • 변수 B: p=0.2
      → A 선택

F통계량의 p값이 자유도(유의수준)에 비해서 크다는 것은 독립변수의 각 범주에 따른 종속변수의 평균값 차가 존재하지 않다는 것을 의미하며, 따라서 독립변수가 종속변수의 예측에 영향을 주지 않는다고 결론지을 수 있다.

  • 의미 →
    F검정에서 p값이 유의수준보다 크면 집단 간 평균 차이가 통계적으로 의미 없다는 뜻이며, 이는 독립변수에 따라 종속변수 값이 달라지지 않는다는 의미이고, 결과적으로 해당 변수는 예측에 도움이 되지 않는다고 판단된다.
  • 왜 →
    p값은 “귀무가설이 참일 때 현재 결과가 나올 확률”을 의미하는데, 이 값이 크다는 것은 현재 관측된 평균 차이가 단순한 우연으로 발생했을 가능성이 높다는 의미이므로 실제로는 집단 간 차이가 없다고 보는 것이 합리적이며, 따라서 해당 독립변수는 종속변수에 영향을 주지 않는다고 판단하게 되고, 이런 변수로는 분할을 해도 의미 있는 결과를 얻을 수 없기 때문에 선택되지 않는다.
  • 용어뜻 →
    • p값: 우연 확률
    • 유의수준: 기준값 (보통 0.05)
  • 수식 →

  • 예시 →
    • p=0.3 → 의미 없음 → 분할 안함

반대로 통계량의 p값이 자유도(유의수준)에 비해서 작다는 것은 독립변수가 종속변수의 예측에 영향을 준다고 결론지을 수 있어, 이때는 노드를 분리하게 된다.

  • 의미 →
    p값이 유의수준보다 작으면 집단 간 평균 차이가 통계적으로 유의하다는 의미이며, 이는 독립변수가 종속변수에 영향을 준다는 뜻이므로 해당 변수를 기준으로 노드를 분리하게 된다.
  • 왜 →
    p값이 작다는 것은 현재 관측된 차이가 단순한 우연으로 발생했을 가능성이 매우 낮다는 것을 의미하며, 따라서 실제로 집단 간 차이가 존재한다고 판단하는 것이 합리적이고, 이는 해당 독립변수가 종속변수의 값을 설명하는 중요한 변수라는 뜻이므로, 의사결정나무에서는 이러한 변수를 선택하여 분할을 수행해야 데이터가 더 잘 구분되고 예측 정확도가 높아지기 때문에 이 경우 노드를 분리하게 된다.
  • 용어뜻 →
    • 유의: 의미 있는 차이
  • 수식 →

  • 예시 →
    • p=0.01 → 의미 있음 → 분할 진행

분산감소량 

특정한 노드를 분리함으로써 분산이 줄어든다는 것은 동질적 성격을 가지고 있는 개체들은 같은 집단으로 이질적 성격을 가지고 있는 개체들은 다른 집단으로 나뉘었다는 것을 의미하므로, 가장 분산을 크게 감소시키는 분리조합이 최선의 분리를 이끌어 내는 것이다.

  • 의미 →
    하나의 노드를 특정 기준으로 나눴을 때 분산이 줄어든다는 것은 비슷한 값이나 성질을 가진 데이터끼리는 같은 그룹으로 모이고, 서로 다른 특성을 가진 데이터는 다른 그룹으로 분리되었다는 의미이며, 이러한 분할 중에서 분산을 가장 크게 줄이는 분할이 가장 좋은 분할이라는 뜻이다.
  • 왜 →
    회귀나무에서 분산은 데이터가 얼마나 퍼져 있는지를 나타내는 지표인데, 분산이 크다는 것은 값들이 서로 크게 다르다는 의미이고 이는 예측이 어렵다는 상태를 의미하며, 반대로 분산이 작아진다는 것은 같은 노드 안의 값들이 서로 비슷해졌다는 뜻이므로 평균값으로 대표해도 큰 오차가 발생하지 않게 되어 예측 정확도가 높아지게 되고, 따라서 좋은 분할은 단순히 나누는 것이 아니라 각 노드 내부의 분산을 최대한 줄여서 데이터가 동질적인 집단으로 구성되도록 만드는 것이며, 여러 분할 후보 중에서 분산 감소량이 가장 큰 분할을 선택하는 이유는 그 분할이 가장 효과적으로 데이터의 구조를 설명하고 예측 오차를 줄여주기 때문이다.
  • 용어뜻 →
    • 분산(Variance): 데이터 퍼짐 정도
    • 동질적: 비슷한 값들로 구성된 상태
    • 이질적: 서로 다른 값들이 섞인 상태
    • 분리조합: 데이터를 나누는 기준
  • 수식 →

 

  • 예시 →
    • 분할 전: [10, 50, 100] → 분산 큼
    • 분할 후:
      • 그룹1: [10, 12]
      • 그룹2: [90, 100]
        → 각 그룹 분산 작음 → 좋은 분할

회귀나무 

“불순도 → 분류나무”
“분산 → 회귀나무”

 

의사결정나무 알고리즘 

앞서 정리한 분리 기준별 의사결정나무 알고리즘의 종류는 다음과 같이 요약할 수 있다.

  • 의미 →
    지금까지 설명한 의사결정나무의 다양한 분리 기준(지니, 엔트로피, 카이제곱, F통계량 등)을 기반으로 여러 알고리즘이 존재
  • 왜 →
    의사결정나무는 하나의 방법만 존재하는 것이 아니라 분리 기준, 변수 처리 방식, 분할 방식 등에 따라 여러 알고리즘으로 나뉘기 때문에 각각의 특징을 구분해서 이해해야 하고, 특히 시험이나 실무에서는 어떤 알고리즘이 어떤 기준을 사용하는지 묻는 경우가 많기 때문에 전체 구조를 한 번에 비교할 수 있도록 정리하는 것이 필요하다.
  • 용어뜻 →
    • 분리 기준: 노드를 나누는 기준
    • 알고리즘: 문제 해결 절차

CART

  • 의미 →
    CART는 Classification And Regression Tree의 약자로, 분류 문제와 회귀 문제 모두를 처리할 수 있는 의사결정나무 알고리즘이다.

  • CART는 하나의 알고리즘으로 분류와 회귀를 모두 처리할 수 있도록 설계되었으며, 분류에서는 지니지수를 사용하고 회귀에서는 분산 감소를 사용하여 문제 유형에 따라 다른 기준을 적용하면서도 동일한 구조를 유지하기 때문에 범용성이 높고 실무에서 가장 많이 사용된다.
  • 용어뜻 →
    • CART: 분류 + 회귀 트리
  • 수식 →

  • 예시 →
    • 고객 이탈 여부 (분류)
    • 매출 예측 (회귀)

CART 종속변수

범주형 / 연속형

  • 의미 →
    CART는 종속변수가 범주형이든 연속형이든 모두 처리할 수 있다
  • 왜 →
    CART는 분류일 때와 회귀일 때 각각 다른 분리 기준을 사용하도록 설계되어 있기 때문에 하나의 알고리즘으로 다양한 문제를 해결할 수 있으며, 이는 모델의 활용 범위를 넓혀주는 중요한 특징이다.
  • 용어뜻 →
    • 범주형: 클래스
    • 연속형: 숫자
  • 예시 →
    • Yes/No
    • 100, 200

CART 독립변수

범주형 / 연속형

  • 의미 →
    입력 변수 역시 범주형과 연속형 모두 사용할 수 있다
  • 왜 →
    의사결정나무는 조건 기반 분할이기 때문에 데이터 타입에 크게 제한을 받지 않으며, 별도의 변환 없이도 그대로 사용할 수 있기 때문에 다양한 데이터 유형을 동시에 처리할 수 있다.

CART 분리기준

지니지수 / 분산의 감소량

  • 의미 →
    분류 문제에서는 지니지수를 사용하고, 회귀 문제에서는 분산 감소량을 기준으로 분할한다
  • 왜 →
    분류 문제는 “클래스 섞임”이 중요하기 때문에 불순도 기준(지니)을 사용하고, 회귀 문제는 “값의 퍼짐”이 중요하기 때문에 분산 감소를 사용하여 예측 오차를 줄이는 방향으로 분할한다.

CART 분리개수

이진분리

  • 의미 →
    한 번 분할할 때 항상 두 개의 노드로 나눈다는 의미이다.
  • 왜 →
    이진분리는 구조가 단순하고 계산이 안정적이며 과적합을 줄이는 데 유리하기 때문에 CART에서는 항상 두 개로만 나누는 방식을 사용한다.

 


(C4.5 / C5.0)


(C4.5 / C5.0) 종속변수

범주형

  • 의미 →
    분류 문제만 처리하는 알고리즘이다.
  • 왜 →
    C4.5는 엔트로피 기반 정보이득을 사용하는 알고리즘으로, 이는 범주형 문제에 특화된 방식이기 때문에 회귀 문제에는 사용되지 않는다.

(C4.5 / C5.0) 분리기준

엔트로피지수

  • 의미 →
    정보이득(엔트로피 감소)을 기준으로 분할한다.
  • 왜 →
    엔트로피는 정보의 불확실성을 측정하기 때문에 이를 줄이는 방향으로 분할하면 데이터가 더 명확하게 구분되며, 이는 분류 정확도를 높이는 데 효과적이다.

(C4.5 / C5.0) 분리개수

다지분리

  • 의미 →
    한 번에 여러 개의 노드로 나눌 수 있다.
  • 왜 →
    범주형 변수의 경우 여러 값을 동시에 분리하는 것이 자연스럽기 때문에 다지분리를 허용하여 더 직관적인 트리를 만들 수 있다.

CHAID


CHAID 종속변수

범주형 / 연속형

  • 의미 →
    분류와 회귀 모두 가능하다.

CHAID 분리기준

카이제곱통계량 / F검정

  • 의미 →
    분류는 카이제곱, 회귀는 F통계량 사용
  • 왜 →
    CHAID는 “통계적 유의성 기반” 알고리즘이기 때문에
    • 범주형 → 카이제곱
    • 연속형 → F검정
      을 사용한다.

CHAID 분리개수

다지분리

  • 의미 →
    여러 개로 나눔

QUEST


QUEST 종속변수

범주형

  • 의미 →
    분류 문제 전용

QUEST 분리기준

카이제곱통계량 / F검정

  • 의미 →
    통계 기반 분리

QUEST 분리개수

이진분리

  • 의미 →
    두 개로만 나눔

정리

CART
→ 지니 / 분산 / 이진

C4.5
→ 엔트로피 / 다지

CHAID
→ 카이제곱 / F / 다지

QUEST
→ 카이제곱 / F / 이진


의사결정 나무 알고리즘

CHAID : 

두 변수 간의 통계적 관계를 찾는 것(가장 오래된 알고리즘), 카이제곱검정 또는 F통꼐량을 이용해 다지분리 수행, 종속변수가 이산형일 때, P값이 가장 작은 독립변수와 그때의 최적 분리에 의해 자식노드 형성, 가지치기를 하지 않고 적당한 크기에서 나무 모델의 성장을 중지하며 입력변수가 반드시 범주형 변수여야 함.

  • 의미 →
    CHAID 알고리즘은 독립변수와 종속변수 간의 통계적 관계를 기반으로 데이터를 분할하는 의사결정나무 방법으로, 카이제곱 검정이나 F통계량을 사용하여 가장 의미 있는 분할을 찾고, 한 번에 여러 개로 나누는 다지분리를 수행하며, p값이 가장 작은 변수와 분할 기준을 선택하여 자식노드를 만들고, 별도의 가지치기 없이 일정 크기에서 성장을 멈추는 특징을 가진다.
  • 왜 →
    CHAID는 본질적으로 “통계적으로 의미 있는 차이”를 기준으로 분할을 수행하는 알고리즘이기 때문에, 단순히 데이터를 나누는 것이 아니라 독립변수와 종속변수 사이의 관계가 실제로 존재하는지를 검정해야 하며, 이를 위해 카이제곱이나 F검정을 사용하고, p값이 작을수록 우연이 아니라 실제 차이일 가능성이 높기 때문에 그 변수를 선택하며, 또한 범주형 데이터를 기반으로 그룹 간 비교를 수행하는 구조이기 때문에 입력변수가 반드시 범주형이어야 하며, 과도한 모델 확장을 방지하기 위해 가지치기 대신 성장 자체를 제한하는 방식을 사용한다.
  • 용어뜻, 영어 약어뜻 →
    • CHAID: Chi-square Automatic Interaction Detection
    • 카이제곱검정(Chi-square test): 범주 간 관계 검정
    • F통계량(F-statistic): 평균 차이 검정
    • p값(p-value): 유의확률
    • 이산형: 범주형 데이터
  • 수식 →

  • 예시 →
    • 성별 vs 구매 여부 → 카이제곱으로 분할
    • p=0.01 → 가장 작은 변수 선택

CART:

이진트리 구조로 모델을 형성하는데 종속변수를 가장 잘 분리하는 독립변수와 분리 시점을 찾는 것, 가장 많이 활용되는 의사결정나무 알고리즘으로 불순도의 측정 변수가 범주형일 경우 지니지수를, 연속형일 경우 분산의 감소량을 이용한 이진분리에 사용.

  • 의미 →
    CART 알고리즘은 데이터를 항상 두 개로 나누는 이진트리 구조를 가지며, 종속변수를 가장 잘 구분할 수 있는 독립변수와 분할 기준을 찾아 데이터를 나누고, 분류 문제에서는 지니지수를 사용하고 회귀 문제에서는 분산 감소량을 기준으로 분할하는 대표적인 의사결정나무 알고리즘이다.
  • 왜 →
    CART는 구조를 단순하게 유지하면서도 높은 성능을 내기 위해 항상 이진분리를 사용하며, 이 방식은 계산이 안정적이고 과적합을 줄이는 데 유리하고, 또한 문제 유형에 따라 다른 기준을 사용하는데, 분류에서는 클래스의 섞임 정도를 줄이는 것이 중요하기 때문에 지니지수를 사용하고, 회귀에서는 값의 퍼짐을 줄이는 것이 중요하기 때문에 분산 감소를 사용하여 예측 오차를 최소화하는 방향으로 설계되어 있기 때문에 실무에서 가장 널리 사용된다.
  • 용어뜻, 영어 약어뜻 →
    • CART: Classification And Regression Tree
    • 지니지수(Gini Index): 불순도 지표
    • 분산(Variance): 데이터 퍼짐
  • 수식 →

  • 예시 →
    • 고객 이탈 예측 → 지니
    • 매출 예측 → 분산 감소

C5.0 :

C4.5 를 바탕으로 개발된 알고리즘, CART와는 다르게 각 노드에서 다지분리가 가능하며 범주형 입력변수에 대해서는 범주의 수만큼 분리가 발생.

  • 의미 →
    C5.0은 C4.5 알고리즘을 개선한 버전으로, CART와 달리 한 번의 분할에서 두 개가 아닌 여러 개로 나눌 수 있는 다지분리를 지원하며, 특히 범주형 변수의 경우 각 범주마다 개별적으로 분리가 이루어질 수 있다.
  • 왜 →
    CART는 항상 두 개로 나누는 제한이 있지만, 실제 데이터에서는 범주형 변수의 각 값이 서로 다른 의미를 가지기 때문에 이를 한 번에 여러 개로 나누는 것이 더 자연스러운 경우가 많으며, C5.0은 이러한 점을 반영하여 다지분리를 허용함으로써 더 직관적인 트리를 만들고 정보 손실을 줄일 수 있도록 설계되었으며, 특히 범주 수가 많을 경우 이를 그대로 분리하는 것이 데이터 구조를 더 잘 반영할 수 있기 때문이다.
  • 용어뜻, 영어 약어뜻 →
    • C4.5 / C5.0: Quinlan 알고리즘
    • 다지분리(Multi-way split): 여러 개로 분할
  • 수식 →

  • 예시 →
    • 색상: 빨강, 파랑, 초록 → 3개로 분리

QUEST:

명목형 종속변수의 자료에 대해서만 분석을 수행할 수 있음, 독립변수의 척도에 따라서 서로 다른 분리 기준을 사용.

  • 의미 →
    QUEST 알고리즘은 종속변수가 명목형(범주형)일 때만 사용할 수 있는 의사결정나무 방법이며, 독립변수의 유형(범주형인지 연속형인지)에 따라 서로 다른 분리 기준을 적용하여 데이터를 나눈다.
  • 왜 →
    QUEST는 계산 효율성과 편향 감소를 목표로 설계된 알고리즘으로, 모든 변수에 동일한 기준을 적용하면 특정 변수 유형에 편향될 수 있기 때문에, 변수의 척도에 따라 다른 통계적 기준을 적용하여 보다 공정하고 효율적인 분할을 수행하도록 하며, 또한 분류 문제에 특화된 알고리즘이기 때문에 종속변수가 범주형일 때만 사용하도록 제한되어 있다.
  • 용어뜻, 영어 약어뜻 →
    • QUEST: Quick, Unbiased, Efficient Statistical Tree
    • 명목형: 순서 없는 범주형 변수
  • 수식 →
    (변수 유형별 기준)

  • 예시 →
    • 성별(범주형) → 카이제곱
    • 나이(연속형) → F검정

 

728x90
반응형
LIST