무언가를 결정할 수 있는 기준들을 학습하는 모델
이미지 출처:https://tensorflow.blog
🌲 좋은 트리의 기준
✔️ 트리 생성 전, 알아둘 것
🔍 트리생성과정
이미지 출처: https://ratsgo.github.io
Purity : 한 쪽 데이터만 존재할수록, 더 깨끗하다.
Entropy : 무질서도. Purity의 반대개념 (Impurity)
A영역에 대해 K 범주에 속하는 데이터들의 entropy는 다음과 같이 계산된다.
(이때 Pk 는 A영역에 속하는 데이터들 중 K 범주에 속하는 데이터들의 비율이다.)
Entropy가 크다. = 분류가 잘 안 되었다. = 정보가 많다.
Entropy는 0에서 1사이의 값을 갖는다. 즉, 확률값을 의미한다고 할 수 있다.
부모노드의 엔트로피 – 자식노드의 엔트로피
Entropy가 작을수록 분류가 잘된 것이다.
즉, 부모 노드의 엔트로피에 비해 자식노드의 엔트로피가 작을수록 더 분류가 잘 되는 것을 의미한다.
따라서, 각 노드에서 분류할 feature선택할 때, IG의 값이 커지도록 feature를 선택한다. (ID3 알고리즘)
🖌 feature가 categorical feature가 아니라 real-value feature (상수)이라면 value bin 으로 나누어 범주화하여 트리를 만든다.
🔍 Tree 모양에 따른 용어들
balanced tree: 이진트리
deep tree: 깊은 모양
bushy tree: 빗자루모양
left skewed: 왼쪽으로만 가지가 쳐진 의사결정트리
Right skewed: 오른쪽으로만 가지가 쳐진 의사결정트리
🖌 의사결정나무는 과적합되기 쉽다.
이유 1 : 뒤에 있는 자식노드에서 어떤 문제가 생길지 고려하지 않는 일종의 그리디 알고리즘이다.
이유 2 : 중간에서 feature을 하나 잘못 선택하면 뒤에서 너무 과적합이 되려는 경향이 있다.
🖌 의사결정나무는 normalizaion(정규화)할 필요가 없다.
정규화를 하여도 수치만 바뀔 뿐, 분류 기준은 바뀌지 않는다.
🖌 의사결정나무는 비선형문제인 XOR과 같은 문제를 해결하기 어렵다.