Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

나무가 되자♣

밑바닥부터 시작하는 데이터 과학 - 의사결정나무 본문

데이터 과학/ML&DL

밑바닥부터 시작하는 데이터 과학 - 의사결정나무

BeTree 2019. 12. 12. 23:34

예측 모델 중 하나인 의사결정나무(decision tree)에 대해 알아볼 것이다.

 

의사결정나무는 다양한 의사결정 경로(decision path)와 결과(outcome)를 나타내는 데 나무 구조를 사용한다.

 

장점)

- 이해하고 해석하기 쉽다.

- 예측할 때 사용하는 프로세스가 꽤 명백하다.

- 숫자형과 범주형 데이터를 모두 동시에 다룰 수 있다. (숫자 회귀나무, 범주 분류나무)

- 특정 변수의 값이 누락되어도 사용할 수 있다.

 

단점)

- 최적의 의사결정나무를 찾는 것은 계산적으로 무척 어려운 문제다.

- 오버 피팅되기 쉽다. -> 해결 방법 : 앙상블 학습

 

관련 용어)

- 엔트로피(entropy) : 정보를 담고 있는 정도 -> 너무 높으면 집단의 특징을 잡기 힘듦

- 결정 노드(decision node) : 질문에 대한 답변 ex) Level? -> Senior or Mid or Junior

- 잎 노드(leaf node) : 예측값(결과) ex) True or False

 

 

 

[의사결정나무 만들기]

위는 14명의 ['level', 'lang', 'tweets', 'phd'] 4개의 변수에 대한 정보와 결과값(True or False)이다. 이 정보로 의사결정트리를 만들어 볼 것이다.

 

 

1. 엔트로피 계산을 한다.

 

 

2. 가장 낮은 엔트로피를 반환하는 파티션(변수)을 찾는다.

 

위 결과에 따르면 'level'에 대해 파티션을 나눌 때 엔트로피가 최솟값을 가지므로,

 

'level'의 가능한 각 값에 대해 서브트리를 만들어야 한다.

 

 

 

3. 서브트리를 생성하고 위 과정을 반복한다.

 

위 결과에 따르면,

 

'level'이 'Senior'인 경우, tweets의 엔트로피 값이 0이므로 이에따라 파티션을 나눈다.(tweets가 yes인 경우 True)

 

'Mid'인 경우, 모든 후보가 True 클래스에 속하므로 Mid 서브트리는 예측값으로 바로 True를 반환한다.

 

'Junior'인 경우, phd의 엔트로피 값이 0이므로 이에따라 파티션을 나눈다.(phd가 yes인 경우 False)

 

 

 

 

'데이터 과학 > ML&DL' 카테고리의 다른 글

Google Inception v1 (GoogleLeNet)  (0) 2020.01.20
Comments