채워가는 지식/AI
결정트리(Decision Trees)
daco
2022. 9. 15. 15:36
결정트리(Decision Tree)
특성들을 기준으로 샘플을 분류해 나가는데 그 형태가 나무의 가지가 뻗어나가는 모습과 비슷합니다.

질문이나 말단의 정답을 노드(node) 라 하며 노드를 연결하는 선을 엣지(edge) 라 합니다.
노드의 종류에는 뿌리(root)노드, 중간(internal)노드, 말단(leaf, external, terminal) 노드로 나뉠 수 있습니다.
- 뿌리 노드 : 가장 위의 노드
- 중간 노드 : 가장 위와 마지막 노드들을 제외한 노드
- 말단 노드 : 가장 마지막 노드
근접한 위 아래 노드들 간의 관계에서 부모 노드와 자식 노드로 나뉩니다.
- 부모 노드 : 분할하기 전의 노드
- 자식 노드 : 분할 후 생긴 노드
결정트리는 분류와 회귀문제 모두 적용 가능하고 데이터를 분할해 가는 알고리즘입니다.
분류 과정은 새로운 데이터가 특정 말단 노드에 속한다는 정보를 확인한 뒤 말단노드의 빈도가 가장 높은 범주로 데이터를 분류합니다.
결정트리 학습 알고리즘
노드 분할 방법에 따라 다른 모양의 트리구조가 만들어집니다.
결정트리의 비용함수를 정의하고 그것을 최소화 하도록 분할하는 것이 트리모델 학습 알고리즘입니다.
결정트리 비용함수
1. 지니불순도(Gini Impurity or Gini Index)

2. 엔트로피(Entropy)


위 그림을 빨간 공과 파란 공을 분할하는 결과라고 한다면,
왼쪽 그림은 빨간 공, 파란 공의 비율이 4 : 4로 잘 분할 되지않았고 이때, 불순도가 높다고 합니다.
오른쪽 그림은 빨간 공, 파란 공의 비율이 6 : 2로 어느정도 잘 분할 되었고 이때, 불순도가 낮다고 합니다.
지니불순도나 엔트로피는 불순도의 개념으로 보면 됩니다.
불순도가 낮으면 지니불순도와 엔트로피는 낮은 값을 가집니다.
즉, 결정트리는 불순도가 낮은 방향으로 분할을 하게 됩니다.