Gurugail Algorithm/Decision Tree
Algorithm

Decision Tree

의사 결정 트리는 데이터 마이닝 분석의 대표적인 분석으로 고전적인 귀납적인 학습 (inductive learning) 에 사용되는 인공지능 알고리즘 중의 하나이다. (예로 환자의 증상이 주어졌을 때, 가능성 있는 진단명을 결정하고 치료 방법을 추천하기 위해 사용될 수 있다. [aistudy.com] 출처)

귀납 학습이란 여러 가지 실제 사례들이 있을 경우, 이와 같은 사례들 중 어떤 범주에 있는 의사(decision)를 내려야 하는 경우를 말한다.

결정 트리는 주어진 데이터를 분류하는 목적으로 사용된다. 다만 분류 변수가 범주형인경우에 사용된다. 몇 가지 열거형 값들 중 하나를 트리를 통해 결정하는 방식이다.

결정 트리 분석을 수행하는 알고리즘들은 ID3, C4.5, C5.0, CART 등 여러 가지가 있는데 주로 C4.5 또는 C5.0의 알고리즘 등이 사용된다. 경험적으로 보아 ID3은 알고리즘이 비교적 쉬우니 구현하기도 쉽다. 아래 그림은 생활 속에서 생각할 수 있는 결정 트리의 한 모습으로서 예이다.

[출처 : 위키(Decision tree)]

장점

결정 트리를 통한 데이터 분석의 결과는 나무 형태로 표현되기 때문에 분석 결과를 금방 이해할 수 있다. 신경망보다는 정확도가 낮게 나올 수 있으나 쉽게 이해하고 설명할 수 있는 장점으로 데이터 마이닝 적용시 많이 사용되고 있다. 아래 장점은 위키(Decision tree) 에서 발췌

  • Are simple to understand and interpret.
  • Use a white box model (결과에 대한 원인 분석이 가능한 모델, 참고로 신경망은 블랙박스 모델)
  • Can be combined with other decision techniques

사례 (귀납 학습)

아래와 같은 사례들이 있다고 하자. 스포츠를 하냐마나를 그 날 날씨나 여러 가지 조건들에 대한 사례이다.

ExampleSkyAirTempHumidityWindWaterForecastEnjoySport
1SunnyWarmNormalStrongWarmSameYes
2SunnyWarmHighStrongWarmSameYes
3RainyColdHighStrongWarmChangeNo

이제 위 사례들을 이용하여 언제 EnjoySport를 할 것인가를 학습한다고 가정해보자. 이 과장에서 학습이 되는 알고리즘 중 하나가 의사결정 트리가 되는 것이다. 물론 수 많은 알고리즘들이 있다. 학습이 되었다고 한다면, 가령 아래와 같이 프로그램되지 않은 새로운 입력이 올 경우에도 적절하게 EnjoySport의 여부를 가려낼 수 있는 것이다. 놀랍지 않은가.. 인공지능이다. (프로그램되지 않은 새로운 입력에 대하여 가려낼 수 있는 지능적인 기능)

SkyAirTempHumidityWindWaterForecastEnjoySport
SunnyWarmHighStrongCoolChange?