Decision Trees

JOY JHJEONG·2021년 12월 12일
0

Decision Trees

데이터를 분할해 가는 알고리즘으로 분류와 회귀 문제 모두 적용 가능
새로운 데이터가 특정 말단 노드에 속한다는 정보를 확인한 뒤 말단 노드의 빈도가 가장 높은 범주로 데이터 분류
비선형, 비단조(non-monotonic), 특성상호작용(feature importance) 특징을 가지는 데이터 분석에 용이

  • Scikit-learn Pipelines
    • 여러 ML 모델을 같은 전처리 프로세스에 연결시킬 수 있다.
    • Grid search를 통해 여러 하이퍼파라미터를 쉽게 연결할 수 있다.

  • node
    질문이나 말단의 정답
    • 뿌리(root)
    • 중간(internal)
    • 말단(external, leaf, terminal)

  • edge
    node를 연결하는 선

  • Information Gain
    특정한 특성을 사용해 분할했을 때 엔트로피의 감소량

  • Gini Impurity
    분할에 사용할 특성이나 분할 지점(값)은 타겟 변수를 가장 잘 구별해 주는(불순도의 감소가 최대가 되는, 정보 획득이 가장 큰) 것을 선택
    • 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= (TP+TN)/\rm{Total}
      모든 예측에 대하여 positive와 negative를 바르게 맞춘 비율
    • 정밀도(Precision) =TP/(TP+FP)= TP/(TP+FP)
      positive로 예측한 경우 중 올바르게 positive를 맞춘 비율
      • ex) 정상 메일(negative)을 스팸 메일(positive)로 예측하면 업무상 손실을 끼칠 수 있으므로 정밀도가 중요한 지표가 된다. 반대의 경우에는 사용자가 불편함을 느끼는 정도이다.
    • 재현율(Recall) =TP/(TP+FN)= 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

profile
Data Scientist를 향한 공부 기록✏️

0개의 댓글