[TIL] Decision Tree

hyewon·2021년 10월 25일
0

TIL

목록 보기
20/59

Decision Tree (결정 트리)

Decision Tree는 우리말로 의사결정트리, 의사결정나무라고도 한다. Decision Tree는 분류와 회귀가 모두 가능한 지도 학습 모델 중 하나이다. 일반적으로 decision tree는 질문을 던진다. 그런 다음 답변을 기반으로 학습을 한다.

Decision Tree 도식화

위의 그림은 decision tree를 도식화한 것이다. decision tree는 한번의 분기마다 변수 영역을 두 개로 구분한다. 질문 혹은 정답을 담은 네모 상자를 Node라고 부른다.

트리의 최상단에 있는 Node는 Root Node 혹은 Root라고 한다.
그리고 중간에 있는 Node들은 Internal Nodes 혹은 Nodes라고 부르며, 맨 마지막에 위치한 Node를 Terminal Node 혹은 Leaf Node라고 한다. Leaf Node는 Leaves라고도 한다.

Impurity

decision tree에서는 분기 기준을 선택하기 위해서 impurity(불순도)라는 개념을 사용한다. impurity란 복잡성, 불순물을 의미하는 단어로, 해당 범주 안에 서로 다른 데이터가 얼마나 섞여있는지를 뜻합니다.

위의 도식화를 예로 들자면, 가슴 통증을 갖고 있는 사람들 중 심장병이 있다고 응답한 사람은 105명이고 심장병이 없다고 응답한 사람은 39명이다. 이 응답은 약 73% : 27% 의 비율을 갖고 있으므로 불순도가 낮은 상태라고 볼 수 있다. 만약 45% : 55%의 비율을 갖고 있었다면 두 범주의 수가 비슷하므로 불순도가 높은 상태라고 볼 수 있다.

Gini, Entropy

Gini와 Entropy는 결정트리의 cost functiond 중 자주 쓰이는 함수이다. 나는 이 중 Gini에 대해서 주로 배워서 Gini에 대해서만 설명하고 Entropy는 언급만 하고 넘어갈 것이다.

Gini

위키피디아에 따르면 gini는 이렇다.

지니 불순도는 집합에 이질적인 것이 얼마나 섞였는지를 측정하는 지표

쉽게 이해하자면 정답이 아닌 것이 뽑혀서 나올 확률을 말한다. gini의 값은 0에 가까울수록 pure하다는 것을 의미한다.

아래는 Gini의 식을 이용한 예제들이다.



아래의 tree에 대해서 gini를 이용해 impurity 값을 구하려면 우선 왼쪽과 오른쪽을 나눈 후 각각의 impurity 값을 구해줘야한다. 그 후 각각의 impurity 값을 이용해서 total impurity 값을 구해주면 된다.

Entropy

아래는 Entropy의 식을 이용한 예제이다.

Information Gain(정보 획득)

Information Gain은 현재 분기와 다음 분기의 impurity의 차이를 Informatio Gain이라고 부른다.

~ 설명 추가 예정 ~

profile
우당탕탕 코린이

0개의 댓글