Decision Trees
데이터를 분할해 가는 알고리즘으로 분류와 회귀 문제 모두 적용 가능
새로운 데이터가 특정 말단 노드에 속한다는 정보를 확인한 뒤 말단 노드의 빈도가 가장 높은 범주로 데이터 분류
비선형, 비단조(non-monotonic), 특성상호작용(feature importance) 특징을 가지는 데이터 분석에 용이
- Scikit-learn Pipelines
- 여러 ML 모델을 같은 전처리 프로세스에 연결시킬 수 있다.
- Grid search를 통해 여러 하이퍼파라미터를 쉽게 연결할 수 있다.
- node
질문이나 말단의 정답
- 뿌리(root)
- 중간(internal)
- 말단(external, leaf, terminal)
- edge
node를 연결하는 선
- Information Gain
특정한 특성을 사용해 분할했을 때 엔트로피의 감소량
- Gini Impurity
분할에 사용할 특성이나 분할 지점(값)은 타겟 변수를 가장 잘 구별해 주는(불순도의 감소가 최대가 되는, 정보 획득이 가장 큰) 것을 선택
- Entropy
- 트리 일반화
트리의 복잡도를 줄이기 위해 자주 사용하는 하이퍼파라미터
- min_samples_split
- min_samples_leaf
말단 노드에 최소한 존재해야 하는 샘플들의 수 결정
- max_depth
트리의 깊이 설정
- 특성 중요도(Feature Importance)
결정 트리에서 특성과 타겟의 관계 확인
- 회귀 계수(coefficients)
선형 모델에서 특성과 타겟의 관계 확인
- 특성 상호작용
회귀 분석에서 서로 상호작용이 높은 특성들이 있으면 개별 계수를 해석하는 데 어려움이 있고 학습이 올바르게 되지 않을 수 있으나 트리 모델은 이런 상호작용을 자동으로 걸러낸다.
reference
Random Forests
- Ensemble
한 종류의 데이터로 여러 머신러닝 학습 모델(weak base learner, 기본 모델)을 만들어 그 모델들의 예측 결과를 다수결이나 평균을 내어 예측하는 방법
- Random Forests vs Decision Trees
- Decision Trees
- 한 개의 트리만 사용하기 때문에 한 노드에서 생긴 에러가 하부 노드에서도 계속 영향을 주는 특성이 있다.
- 트리의 깊이에 따라 과적합되는 경향이 있다.
- 모든 특성을 고려하여 최적의 특성 선택 후 분할
- Random Forests
결정 트리를 기본 모델로 사용하는 앙상블 방법
- 결정 트리들은 독립적으로 만들어지며 각각 랜덤으로 예측하는 성능보다 좋을 경우 랜덤포레스트는 결정 트리보다 성능이 좋다.
- 다르게 샘플링된 데이터로 과적합된 트리를 많이 만들고, 그 결과를 평균내 사용하면 과적합이 줄고 성능 유지
- 특성 중 일부분을 선택(sampling)하고 이 중 최적의 특성을 찾아내어 분할
- Bagging
앙상블에 사용하는 작은 모델들은 Bootstrap 세트를 사용해 학습
- Bootstrap 샘플링
원본 데이터에서 복원 추출 형식으로 샘플링
- OOB(Out-of-Bag)
추출되지 않은 샘플
- Aggregation
Bootstrap 세트로 만들어진 기본 모델들을 합치는 과정
- 회귀 문제
기본 모델 결과들의 평균으로 결과를 낸다.
- 분류 문제
다수결로 가장 많은 모델들이 선택한 범주로 예측
- Gini Importance
노드가 중요할수록 Gini Impurity가 크게 감소
Evaluation Metrics for Classification
- Confusion matrix
분류 모델의 성능 평가지표
다루는 문제에 따라 정밀도와 재현율 중 어느 평가지표를 우선시 해야하는지 판단해야 한다.
- Accuracy =(TP+TN)/Total
모든 예측에 대하여 positive와 negative를 바르게 맞춘 비율
- 정밀도(Precision) =TP/(TP+FP)
positive로 예측한 경우 중 올바르게 positive를 맞춘 비율
- ex) 정상 메일(negative)을 스팸 메일(positive)로 예측하면 업무상 손실을 끼칠 수 있으므로 정밀도가 중요한 지표가 된다. 반대의 경우에는 사용자가 불편함을 느끼는 정도이다.
- 재현율(Recall) =TP/(TP+FN)
실제 positive인 것 중 올바르게 positive를 맞춘 비율
- ex) 암 환자(positive)를 정상(negative)으로 진단하면 치명적인 영향을 끼치므로 재현율이 중요한 지표가 된다. 반대의 경우에는 재검사 비용만 소모되므로 상대적으로 덜 치명적이다.
- F1 Score
정밀도와 재현율의 조화평균
정밀도와 재현율이 어느 한 쪽으로 치우치지 않는 수치를 나타낼 때 상대적으로 높은 값을 가진다.
- ROC curve
재현율은 최대화 하고 위양성율은 최소화 하는 최적의 임계값 탐색
- AUC Score
일반적으로 1에 가까울수록 좋은 수치이다.
reference
Model Selection
문제를 풀기 위해 어떤 학습 모델을 사용해야 할 것인지?
어떤 하이퍼파라미터를 사용할 것인지?
- 교차검증(Cross-validation)
데이터의 크기 및 모델 선택에 대한 문제를 해결하기 위한 방법 중 한 가지
- hold-out 교차검증
training/validation/test set으로 나누어 학습 진행
- training set의 크기가 모델 학습에 충분하지 않을 경우 문제가 될 수 있다.
- validation set의 크기가 충분히 크지 않다면 예측 성능에 대한 추정이 부정확할 것이다.
- k-fold cross-validation
데이터를 k개로 등분하고 validation과 training set을 총 k번 바꾸어 가며 검증하는 것
- 하이퍼파라미터 튜닝
reference