본문 바로가기

BLOG/머신러닝

[머신러닝] 의사결정나무 : 엔트로피, 지니 계수란?

1. 의사결정나무란?

결정트리(Decision Tree) 라고도 하는 의사결정 나무는 랜덤포레스트 앙상블 알고리즘의 베이스가 되는 알고리즘으로, Tree구조를 가진 알고리즘이라고 할 수 있습니다.

결정트리는 데이터를 분석하여 데이터 사이에 패턴을 예측 가능한 규칙들의 조합으로 나타내도록 합니다.

 

이처럼 결정터리는 이러한 학습 결과에 대하여 시각화를 통한 직관적인 이해가 가능하다는 것이 큰 장점입니다. 또한 랜덤포레스트 알고리즘도 결정 트리의 알고리즘을 기반으로 하는데요, 사용이 쉽고 성능이 매우 우수하다는 점에서 결정트리가 많이 사용된답니다.

 

 

2. 엔트로피란?

의사결정나무에서 엔트로피(Entropy)는 주요 매개변수 중 하나인데요, 무질서한 정도를 수치화 한 값을 말합니다.

즉, 불손도를 측정하는 지표로, 정보량의 기댓값을 나타내는데요, 불순한 상태일수록 엔트로피는 큰 값을 가집니다.

 

 

3. 지니 계수란?

의사결정나무에서 지니계수 역시 불순도를 측정하는 지표인데요, 데이터의 통계적 분산 정도를 정량화해서 표현한 값을 말합니다. 따라서 지니계수가 높을수록 데이터가 분산되었음을 의미합니다.

 

 

4. 독립변수가 연속형일 때 의사결정나무 기법을 사용할 수 있을까?

한편, 독립변수가 연속형인데 의사결정 나무 기법을 사용하고 싶다면 데이터를 쪼개야 합니다. 연속형 변수를 split 하는 방법은 여러가지 있는데요, 전체 데이터를 모두 기준점으로 분할 후 불순도를 계산해서 쪼개는 방법과, 중위수 또는 사분위수를 기준점으로 쪼개는 방법과, Label의 클래스가 바뀌는 수를 기준점으로 쪼개는 방법이 있답니다.

 

 

5. 'Full Tree' 란?

한편, Full Tree 라는 용어를 들어보셨을 수 있는데요, Full Tree란 결정트리에서 모든 terminal node의 순도가 100%인 상태를 말합니다. 이러한 경우 분기가 많아서 오버피팅이 발생할 수 있어 적절한 가지치기가 필요합니다.

 

 

6. 사전 가지치기와 사후 가지치기의 차이는?

마지막으로, 가지치기란 의사결정나무에서 오버피팅을 방지하기 위해 적절한 수준에서 terminal node를 결합해 주는 것을 말하는데요, 가지치기에도 사전 가지치기와 사후 가지치기가 있습니다.

 

사전 가지치기는 트리의 최대 깊이와 각 노드에 있어야 할 최소 관측값 수를 미리 지정하여 결정 트리를 만들고, 도중에 멈추는 방법을 말합니다. 반면, 사후 가지치기는 트리를 먼저 full tree(terminal node의 순도가 100%인 상태)로 만들고, 적절한 수준에서 terminal node를 결합해 주는 것을 말한답니다.