특성 중요도

Feature Importances(Mean decrease impurity, MDI)

  • 트리 기반 분류기에서 디폴트로 사용되는 특성 중요도는 속도는 빠르지만 결과를 주의해서 봐야 함
  • 각각 특성을 모든 트리에 대해 평균불순도감소(mean decrease impurity)를 계산한 값

Drop-Column Importance

  • 이론적으로 가장 좋아 보이는 방법
  • 매 특성을 drop한 후 fit을 다시 해야 하기 때문에 매우 느리다는 단점
  • 특성이 n개 존재할 때 n + 1 번 학습이 필요

순열중요도(Permutation Importance, Mean Decrease Accuracy,MDA)

  • 중요도 측정은 관심있는 특성에만 무작위로 노이즈를 주고 예측을 하였을 때 성능 평가지표(정확도, F1, R2 등)가 얼마나 감소하는지를 측정
  • 각 특성을 제거하지 않고 특성값에 무작위로 노이즈를 주어 기존 정보를 제거하여 특성이 기존에 하던 역할을 하지 못하게 하고 성능을 측정
  • 노이즈를 주는 가장 간단한 방법이 그 특성값들을 샘플들 내에서 섞는 것(shuffle, permutation)

부스팅( boosting)과 배깅(bagging)의 차이점

  • 랜덤포레스트(배깅)의 경우 각 트리를 독립적으로 만들지만 부스팅은 만들어지는 트리가 이전에 만들어진 트리에 영향을 받는다는 것
    • 부스팅은 만들어지는 이전 모델의 오차를 보완하는 방향으로 만들어짐
  • 부스팅 알고리즘 중 AdaBoost는 각 트리(약한 학습기들, weak learners)가 만들어질 때 잘못 분류되는 관측치에 가중치를 줌
  • 다음 트리가 만들어질 때 이전에 잘못 분류된 관측치가 더 많이 샘플링되게 하여 그 관측치를 분류하는데 더 초점을 맞춤

AdaBoost의 알고리즘

  • 모든 관측치에 대해 가중치를 동일하게 설정
  • 관측치를 복원추출 하여 약한 학습기 Dn을 학습하고 +, - 분류
  • 잘못 분류된 관측치에 가중치를 부여
  • Step 1~2 과정을 n회 반복(n = 3)
  • 분류기들(D1, D2, D3)을 결합하여 최종 예측을 수행

그래디언트 부스팅

  • 그래디언트 부스팅은 AdaBoost와 유사하지만 비용함수(Loss function)을 최적화하는 방법에 있어서 차이
  • 그래디언트 부스팅에서는 샘플의 가중치를 조정하는 대신 잔차(residual)을 학습
profile
일단 저지르자! 그리고 해결하자!

0개의 댓글