본문 바로가기
AI

ML : Model : 의사결정나무 (Decision Tree)

by 월곡동로봇팔 2020. 2. 12.

의사결정나무 (Decision Tree)

 

정의, 장단점

의사결정 나무 정의

> 변수들로 기준(node)을 만들고 이것을 통하여 샘플을 분류하고 분류된 집단의 성질을 통하여 추정하는 모형
> 장점 : 매우 직관적(연속형, 범주형 모두 사용가능)이며 범용성이 좋다. 모델을 보고 해석이 가능하다. (PCA 같은 경우는 내가 잡은 축이 PC1, PC2, 이런 축들이 어떤 의미를 내포하는지 일일히 찾아야 한다.)
> 단점 : sample이 변화하면 model도 변화하기 때문에, 높은 변동성을 가진다. -> 나중에 RandomForest로 보완

 

Decision Tree 용어

Node : 분류의 기준이 되는 변수가 위치. 이것을 기준으로 sample들을 나눔. 위의 그림에서는 outlook 등등

  • Parent Node : 상대적인 개념, 상위 노드
  • Child Node : 하위 노드
  • Root Node : 상위노드가 없는 가장 위의 노드
  • Leaf Node : 하위노드가 없는 가장 아래의 노드
  • Internal Node : Leaf Node 가 아닌 경우

Edge : 샘플을 분류하는 조건이 위치하는 곳. 위의 그림에서는 sunny, Rain, High, Normal, Strong, Wind

Depth : Root Node에서 특정 Node까지 도달하기 위해 거쳐야하는 Edge 수. 위의 그림에서 Wind의 Depth는 1이다.

 

Decision Tree 종류

범주형 vs 회귀형

반응변수에 따라 범주형 변수에는 classify Tree, 연속형 변수에는 regression Tree 를 쓴다.


Entropy : Decision Tree에 적용하는 개념

 

Entropy의 정의

Entropy는 화학에서 자주 등장하는 개념이다. Entropy 란 짧게 말해서 무질서도의 정도를 의미한다.

 

따라서 Entropy가 클수록 위의 잡곡들이 섞여있는 것 처럼 무질서도가 1을 향하며,

Entropy가 작을수록 잡곡이 서로 나뉘어있는 것 처럼 무질서도가 0을 향하는 것을 볼 수 있다.

 

실제로 Entropy의 Function은 위의 식을 사용을 하며, 그래프를 그리면 2차곡선처럼 생겼다.

따라서 0,1 일 확률이 최소, 노란 검은색 곡식이 0.5씩 섞여있을 때일 확률이 최대가 되게 하는 함수이다.

 

Information Gain

 

정의

> 의사결정트리에서 상단이 Node를 어떤 부분으로 줄지 결정할 때의 수치를 말한다.
> Information Gain = Entropy before - Entropy after

계산법, 선택하는 기준

계산법

Entropy before : yes일 확률에 대한 Entropy는 -9/14log(9/14) - 5/14log(5/14)

 

Entropy after1 : -0.4log0.4 - 0.6log0.6

Entropy after2 : -1log1 = 0

Entropy after3 : - 0.6log0.6 - 0.4log0.4

 

이를 각자의 data들의 n 갯수를 붙여서 나눠준다.

이는 단순히 엔트로피 높은 것을 부모 Node로 Root Node로 하면 되지만, 일반적으로 밑에 해당하는 것 처럼 관측치의 개수를 적용해서 가중치를 적용시키는 것과 같은 효과를 준다. 따라서 관측치가 많은 데이터는 엔트로피가 상대적으로 높게 !!!

(10개 중 4개 6개로 나뉘었다면, 100개 중 40개 60개로 나뉘었을 때 Entropy는 같지만, 관측치가 많은 data가 Entropy가 더 높게 측정되어야 부모 Node 위로 올라갈 것 이다. 그만큼 무질서하기 때문에 위에 부모 Node에서 나누어야 한다.)

 

우리 자료는 섞여있는 자료이다. 이는 엔트로피가 높은 상황이다.

변수들로 자료를 구분을 한 다음, 엔트로피가 낮아지게 된다. information Gain을 제일 높은 변수로 제일 위에 Node로 선정해야 한다.

댓글