728x90

목차

  1. Decision Tree란 무엇인가?
  2. Decision Tree의 예제
  3. Decision Tree 분리 기준 - 지니 지수(Gini Index)

Decision Tree란?

  • '의사결정 트리' 또는 '의사결정 나무'라고 불리우는 Decision Tree는 기계학습에서 지도학습의 알고리즘으로 분류 또는 회귀분석 목적으로 사용된다.
  • '의사규칙 결정(Decision Rule)'을 나무구조 표현을 통해 분류와 예측을 수행하는 분석 방법이다.
  • 분류 또는 예측 과정이 나무구조로 표현되어 비교적 쉽게이해가 가능하다.
  • 목표변수 유형에 따른 의사결정 트리
    • 범주형 목표변수 : 분류 트리(Classification Tree)
      • 목표변수가 이산형인 경우, 각각의 범주에 속하는 빈도에 기초해 분리가 발생한다 -> 분류 트리 구성
    • 연속형 목표변수 : 회귀 트리(Regression Tree)
      • 목표변수가 연속형인 경우, 평균과 표준편차에 기초에 분리 발생 -> 회귀 트리 구성

예제)

 여러 날씨 상황에 따른 테니스 훈련 여부가 기록된 데이터가 주어졌을 때, 앞으로의 기상예보를 보고 테니스 훈련을 할지말지를 결정해주는 Decision Tree를 구성하고 동작과정을 알아보자.

날씨, 기온, 습도에 따른 테니스 훈련 결과(훈련 데이터)
테스트 데이터

 아래는 훈련데이터를 이용하여 만들어진 Decision Tree의 구성도이다. 해당 모델에 test data를 넣어서 훈련을 할지말지를 알아보자.

Decision Tree 구성도
과정 1. 제일 처음기준을 확인
과정 2. 기준에 대한 데이터 값 확인
과정 3. 결과 값을 확인한 뒤 다음 기준으로 이동하여 위의 과정을 반복
결과가 나오기 까지 2-3 과정을 반복한다.

Decision Tree를 사용한 결과, 테스트 데이터의 첫행인 [D8]의 결과는 'NO'가 나왔다. 위의 예시처럼 Decision Tree는 훈련데이터를 이용하여 트리를 구성하고 완성된 트리에 테스트 데이터를 넣어보면서 결과를 예측하는 알고리즘이다.

 

설명)

 위에서 Decision Tree가 만들어졌을 때 어떻게 동작하는지를 알아보았다면 이제는 트리가 어떻게 구성되는지에 대한 과정을 알아볼 것이다.

 Decision Tree는 부모 마디(노드)로부터 자식 마디(노드)들이 형성될 때, 생성된 자식 노드에 속하는 자료의 순수도(Purity)가 가장 크게 증가하도록 트리를 형성하며 진행된다. 즉, 자식 마디를 형성할 때 가장 분류가 잘 되는 순으로 생성한다는 뜻이다. 예제에서 사용했던 훈련 데이터를 다시 보자.

날씨, 기온, 습도에 따른 테니스 훈련 결과(훈련 데이터)

훈련데이터를 살펴보고 예제에서 사용된 Decision Tree를 살펴보자.

Decision Tree 구성도

 맨 첫 기준인 Outlook의 데이터와 훈련 여부를 살펴보았을 때, Sunny인 경우에는 결과가 모두 'NO'인것을 확인할 수 있다. 그 외에 Overcast와 Rain인 경우에는 Yes와 No가 섞여있다. 이와 같이 Outlook을 기준으로 정하고 자식 마디를 생성할 때 Sunny는 바로 결과 'NO'로 Overcast, Rain은 그 다음 기준인 온도로 넘어가게 만드는 것이 Decision Tree의 구성 방식이다.

 위와 같이 간단한 데이터는 사람이 보고 기준을 정할 수 있지만, 대량의 데이터가 들어왔을 때는 사람이 정하기 어려울 것이다. 그 때 사용하는 것이 지니 지수(Gini Index)이다.

  • 지니 지수
    • 데이터 집합의 불순도를 측정하는 지수이다.
    • 0 ~ 1 사이의 값을 가지며, 어떤 데이터 집합에 속한 개체(레코드)들이 같은 범주(클래스)로 구성되어 있으면 지니 지수는 최솟값인 0을 가지고 해당 데이터 집합은 순수하다고 볼 수 있다.
    • 즉, 지니 지수가 작을수록 잘 분류된 것으로 볼 수 있다.

+ Recent posts