Decision Trees

TaeWoo Lee / Kris·2021년 12월 24일
1
post-thumbnail

사이킷럿 파이프라인(Pipelines)

  • 모델을 만들때 진행했던 결측치 처리, 스케일링, 모델학습 등 머신러닝 프로세스에서 파이프라인(Pipelines)을 사용하면 중복 코드를 최소화여 쉽게 연결

결정트리(Decision Tree) 모델

  • 결정트리(의사결정나무) 모델은 특성들을 기준으로 샘플을 분류해 나가는데 그 형태가 나무의 가지가 뻗어나가는 모습과 비슷해서 결정트리
  • 스무고개를 하는 것과 같이 특성들의 수치를 가지고 질문을 통해 정답 클래스를 찾아가는 과정
    • 질문이나 말단의 정답을 노드(node)
      • 뿌리(root)노드
      • 중간(internal)노드
      • 말단(external, leaf, terminal) 노드
    • 노드를 연결하는 선을 엣지(edge)
  • 결정트리는 분류와 회귀문제 모두 적용
  • 결정트리는 데이터를 분할해 가는 알고리즘
  • 분류 과정은 새로운 데이터가 특정 말단 노드에 속한다는 정보를 확인한 뒤 말단노드의 빈도가 가장 높은 범주로 데이터를 분류
  • 결정트리는 분류과정을 트리구조로 직관적으로 확인이 가능한 장점

결정트리 학습 알고리즘

  • 결정트리를 학습하는 것은 노드를 어떻게 분할하는가에 대한 문제
  • 노드 분할 방법에 따라 다른 모양의 트리구조가 만들어지게 될 것
  • 결정트리의 비용함수를 정의하고 그것을 최소화 하도록 분할하는 것이 트리모델 학습 알고리즘
  • 지니불순도(Gini Impurity or Gini Index)
    • IG(p)=i=1Jpi(1pi)=1i=1Jpi2{\displaystyle {I}_{G}(p)=\sum _{i=1}^{J}p_{i}(1-p_{i})=1-\sum _{i=1}^{J}{p_{i}}^{2}}
  • 엔트로피(Entropy)
    • H(T)=IE(p1,p2,...,pJ)=i=1Jpilog2pi{\displaystyle \mathrm {H} (T)=\operatorname {I} _{E}\left(p_{1},p_{2},...,p_{J}\right)=-\sum _{i=1}^{J}{p_{i}\log _{2}p_{i}}}
  • 불순도(impurity) 라는 개념은 여러 범주가 섞여 있는 정도
profile
일단 저지르자! 그리고 해결하자!

0개의 댓글