본문 바로가기

머신러닝

7. Decision Tree

1. Decision Rule

 

 DT는 분기를 어떻게 하느냐(  Decision Rule )가 중요

impurity drop ( 불순도 낮추기 ) => 리프노드의 데이터가 얼마나 분리되었는지에 대한 정도를 낮추는 방향으로 => 분류 성능 향상

 

 

 

어떤 측정이던 경향동일 결과만 조금다름

 

그럼 분기가 잘됐는지는 어케 판단할지 기준이 있어야함 

split criteria

 

IG = 이전 불순도 - 현 불순도 = 정보이득 => 정보이득 > 0 이면 분기후 정보이득만큼의 불순도를 낮춘것

완전히 분류 => 엔트로피 0

 

orthogonal하고 그리디(로컬최적)하게 나누어 분기하고 반복하기에 Recursive patitioning 특징을 갖는다.

 

2. Full Tree

모든 리프노드의 엔트로피가 0일떄 까지 분기하는것 => overfitting

언제까지 분기?

1 데이터를 학습:검증 = 7:3 나누기

2. 트리깊이, 리프노드수, 리프노드 데이터수 제한

3. 트리크기 규제

 

3. Puring (가지치기) - 분기언제까지할지 정하는것중 하나

Cost = training error + tree size x 가중치

코스트를 정의하고 가지 치기 후 cost가 작아지지 않았으면 의미없는 노드이므로 수행!

=> 코스트가 줄어들엇다면 제거후에는 상대적으로 코스트가 증가해야 쓸모있는 노드임

 

[알고리즘]

1.make full tree

2.pruning

서브트리찾기 -> 풀과 서브 코스트 계산 -> if cost 풀 >= cost 서브 then pruning

 

4.특징

DT is robustness to

nominal variables : 한글데이터도 ㄱㅊ, 숫자로만x

outliers 이상치 : 다른분류에 속함 

missing values (결측치): 데이터가 망가짐

에 둔감함 or 강건함

 

variable select
중요 특징 고를 수 있음 => 분기시 위쪽 value로!

반대로 위쪽 value면 중요한 feature!

 

non-linear splits

orthogonal하게 분류x -> 해석 어렵, 성능 향상

how? -> linear로 근사

 

5. 요약

DT 분류 = if-then rule

장. 룰 자동생성, 해석용이, 분포가정x

단. 그리디 + orthogonal => 성능 구려 

 

 

 

 

 

 

 

'머신러닝' 카테고리의 다른 글

11. Kerner Method  (0) 2023.12.18
9. Neural Networks  (0) 2023.12.18
6장 Model Evaluation  (1) 2023.10.25
5장 Nearest Neighbor Method  (0) 2023.10.25
4장 Logistic Legression  (0) 2023.10.25