분류모델의 Loss Function
- Regression Loss Function은 Error의 크기를 측정할 수 있으나
Classification Loss Function은 Yes or No 두가지 밖에 없다.
단, 클래스가 2개 이상일 순 있다.
Classification Measuring Impurity for Split
- 순도(Homogeneity)를 최대로 증가시키는 방향
- 불순도(Impurity)혹은 불확실성(Uncertainty)을 최소로 감소시키는 방향
- Measuring Impurity 1 : Gini Index(Max 0.5, 0일 때 가장 잘 나누어진 것
P = proportion of cases in rectangle A that belong to class k

- Measuring Impurity 2 : Entropy(0일 때 가장 잘 나누어진 것
i: node index, k: class index, 𝑝𝑖𝑘: probability of class k in node i

- Measuring Impurity 3 : Misclassification Error (잘 사용하지 않음)
Classification Loss Function
- 기본적으로 Classification Model을 학습할 때 사용하는 Binary Cross Entropy

Decision Tree
개요
- 데이터를 분석하여 이들 사이에 존재하는 패턴을 예측가능한 규칙들의 조합으로 나타냄
- 모양이 나무와 같다고 해서 의사결정나무라고 불림
- 질문을 던져서 대상을 좁혀나가는 스무고개 놀이와 비슷한 개념
node를 통해 모델의 Complexity를 극한으로 높일 수 있음(overfitting risk 주의)
Root node 뿌리마디
Intermediate node 중간마디
Terminal node 끝마디
원리
Decision Tree의 Split
- First Step은 불순도가 가장 낮은 Feature와 포인트를 찾음 -> 이 포인트가 Root Node가 됨
- 그 후 Information Gain이 가장 큰 포인트를 찾아서 Split을 진행함
- 무한히 Partitioning(Split)을 하게 되면 100% Purity, 0% Impurity가 됨 -> Overfitting 발생
Decision Tree Pruning
-100% Purity, 0% Impurity인 상태를 Full Tree
- 적절한 수준에서 Terminal Node를 가지치기 해주어야함
- Rule Extraction : 가장 중요하고 강력한 해석력을 가짐
- Simple하지만 직관력이 있음
- Model이 복잡해 질 수 록 해석력은 현저히 떨어지게 됨


| 값 | 뜻 | KOR | PREDICT VALUE | REALVALUE |
|---|
| TP | TRUE POSITIVE | 참 양성 | POSITIVE | POSITIVE |
| FN | FALSE NEGATIVE | 거짓 음성 | NEGATIVE | POSITIVE |
| FP | FALSE POSITIVE | 거짓 양성 | POSITIVE | NEGATIVE |
| TN | TRUE NEGATIVE | 참 음성 | NEGATIVE | NEGATIVE |

- ACCURACCY(정분류율) : 정확도는 직관적으로 모델 예측 성능을 나타내는 지표
- PRECISION(정밀도) : 예측 POSITIVE중 실제도 POSITIVE를 찾아낸 비율
미처 잡아내지 못한 개수가 많더라도 더 정확한 예측이 필요한 경우
- RECALL(재현율) : 실제 POSITIVE중 올바르게 POSITIVE를 예측해 낸 비율
잘못 걸러내는 비율이 높더라도 참값을 놓치는 일이 없도록 (의학, 불량)
- SPECIFICITY(특이도) : 실제 NEGATIVE 중 올바르게 NEGATIVE를 찾아낸 비율

ENSEMBLE(앙상블)
어떤 데이터를 학습할 때, 여러 개의 모델을 조화롭게 학습 시켜 그 모델들의 예측 결과들을 이용하여 더 정확한 예측 값을 구할 수 있음
BAGGING : Reduce the Variance
- 데이터 셋에 랜덤성 및 독립성을 부여하여 나눔
Bootstrap Aggregating
- Bootstrap : 표본에서 추가적으로 표본을 복원추출하고 각 표본에 대한 통계량을 다시 계산
- N개의 Data가 있으면 N개를 Randomly하게 뽑아내서 새로운 Data Set을 구성함
- Bootstrap을 진행하면 확률 상 뽑히지 못한 데이터는 36.8%가 됨
Aggregating
-
Model Result Aggregating Method 1 : Majority voting
정답이 많이 나온걸 결론으로 도출
-
Model Result Aggregating Method 2 : Weighted voting 1
Training Accuracy에 대한 확률에 가중치를 부여하여 결론을 도출
-
Model Result Aggregating Method 2 : Weighted voting 2
Test Instance에 대한 확률에 가중치를 부여하여 결론을 도출
STACKING : Use another models
- Bagging은 데이터자체가 달라지지만, Stacking은 동일한 데이터에 대해서 모델에 변화를 준 다음 Voting을 통해 결론을 도출
BOOSTING : Reduce the Bias
- 처음 데이터에 대해 모델을 학습
- 못 맞춘 데이터에 대해 더 잘맞출 수 있도록 데이터를 조정
- 재학습
- 다시 데이터의 분포를 조정하고 에러를 학습해서 더 맞출 수 있도록 학습
Decision Tree 모델의 해석

- 왼쪽은 True 오른쪽은 False
- event<=901이 False인 CASE에서 : 즉 event값이 901보다 클 때, 샘플 199개중 193이 'DEAD' 대부분 사망
- event<=901이 True인 Case에서, r<=0.5이 False이고, cd496<=161.5가 True일 때 48개의 samples 모두가 indicator(검열됨)
- 즉 event<=901 | r>0.5 | cd496<=161.5 인 case는 indicator 된다고 할 수 있음