본문 바로가기
Machine Learning

ML #9 : 머신러닝 의사결정트리, 모델 생성 방법 및 장단점

by 무적물리 2020. 4. 21.

의사결정트리란?

의사결정트리는 분류와 같은 의사결정을 수행할 때, 나무와 같이 가지치기를 함으로써 분류하는 방법입니다. 이는 과거에 수집된 데이터들을 분석하여 이들 사이에 존재하는 패턴을 속성의 조합으로 나타내는 분류 모형입니다. 의사결정트리 분류 절차는 아래와 같습니다.


1. 새로운 데이터 분류 (Classification)

2. 해당 범주 값 예측 

3. 트리 구조의 일반화된 지식 추출



의사결정트리는 두가지의 데이터 유형으로 나뉩니다. 범주형과 연속형입니다. 범주형은 분류나무로써 의사결정트리를 구성하며, 연속형은 회귀나무로 의사결정트리를 구성합니다. 하지만, 의사결정트리는 회귀모델의 정확도가 낮기 때문에 주로 분류의 목적으로 사용됩니다. 연속형 데이터를 위한 회귀나무는 쓸모 없다는 말입니다.


- 범주형 : 분류나무 (Classification Tree)

- 연속형 : 회귀나무 (Regression Tree)


의사결정트리 구성

의사결정트리는 대표적으로 노드(Node), 가지(Branch), 깊이(Depth)로 구성됩니다. 의사결정트리의 명칭을 설명하자면 아래와 같습니다. 노드(Node)는 위치에 따라 5개로 나눌 수 있습니다.


- 뿌리마디(Root Node) : 시작되는 마디로 전체 자료 포함

- 자식마디(Child Node) : 마디에서 분리된 2개 이상의 마디

- 부모마디(Parent Node) : 주어진 마디의 상위 마디

- 끝마디(Terminal Node) : 자식마디가 없는 마디

- 중간마디(Internal Node) : 부모, 자식마디가 모두 있는 마디

- 가지(Branch) : 뿌리마디로부터 끝마디까지 연결된 마디들

- 깊이(Depth) : 뿌리마디부터 끝마디까지의 중간마디들의 수



의사결정트리의 장점

1. 이해하기 쉬운 규칙 : If ~ Then 형식

2. 분류예측에 유용

3. 연속형, 범주형 모두 취급 가능

4. 변수의 중요성 비교 가능

5. 비교적 빠른 속도


의사결정트리의 단점

1. 연속형 변수값을 예측할 때 적당하지 않음

2. 회귀모형에서 예측력이 떨어짐

3. 트리 모형이 복잡하면 예측력 저하, 해석 어려움

4. 데이터 변형에 민감하여 안정적이지 않음


의사결정트리 모형 구축

의사결정트리를 만들기 위해서는 제일 먼저 의사결정트리 모형을 구축해야합니다. 의사결정트리의 구축단계는 크게 네단계로 정의합니다. 트리생성, 가지치기, 평가, 예측입니다. 각각의 특징을 살펴보자면 아래와 같습니다.


1. 의사결정트리 생성 : 자료구조에 따른 분리기준 설정

                             정지 규칙 지정 및 트리 생성

2. 가지치기 : 분류가 잘못될 가능성을 가진 가지 제거

                 부적절한 규칙을 가지는 가지 제거

3. 평가 : 이익도표, 위험도표, 검증용 데이터 활용 평가

4. 해석 및 예측 : 의사결정트리 해석 및 예측모형 결정


의사결정트리 분리

의사결정트리를 생성하기 위해서는 반복적인 분할로써 트리를 학습해야합니다. 분할 기준은 부모마디 보다 자식마디의 순수도가 증가하도록 분류해야합니다. 순수도는 특정 범주의 개체들이 포함되어 있는 정도입니다. 이러한 반복적 분리 과정은 모든 공간을 직사각형으로 나누어서 각 직사각형이 가능한 한 순수하게 동질적(Homogeneous)이 되도록하는 것입니다.


- 반복적 분할 : 훈련용 데이터로 독립변수의 차원공간을 반복적 분할

- 가지치기 : 평가용 데이터를 이용하여 가지치기를 수행

- 분할기준 : 부모마디 보다 자식마디의 순수도가 증가하도록 분류



의사결정트리 분리 기준

의사결정트리 분리 기준은 크게 세가지로 나뉘어 집니다. 카이제곱 통계량 p-value, 지니 지수, 엔트로피 지수가 분류 기준으로 사용됩니다. 결국에 지니 지수, 엔트로피 지수 등을 최소화하는 자식마디를 생성해야합니다. 지니 지수는 CART 의사결정 알고리즘에서 사용되며, 엔트로피 지수는 C4.5 or C5.0 의사결정 알고리즘에서 사용됩니다.


의사결정트리 정지 기준

- 더 이상 분리 불가

- 현재 마디가 끝마디가 되도록함

- 의사결정 나무의 깊으를 지정

- 끝마디 레코드 수의 최소 개수 지정


의사결정트리 가지치기 기준

- 구축된 모형에 테스트 데이터 적용

- 전문가가 모형의 타당성 검토


의사결정 알고리즘

- CART : 가장 널리 사용, 이진 분리, 지니 지수

- C4.5/C5.0 : 다자분리 가능, 엔트로피 지수


댓글