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 |