본문 바로가기
Machine Learning

분류 알고리즘(1) - 결정트리(Decision Tree)

by xper100 2021. 2. 19.

분류(Classification)는 주어진 데이터의 Feature와 Label을 머신러닝 알고리즘에 주입하여 학습시킨 이후 생성된 모델을 통해서 비슷한 또는 새로운 데이터 값이 주어졌을 때 Label을 예측하는 것입니다.

 

특징

  • 데이터 스케일링나 정규화 등의 데이터 가공의 영향이 매우 적다.
  • 매우 쉽고 유연하지만 성능향상을 위해선 복잡한 구조(가지치기)를 거쳐야 하므로 과정합(Overfitting)의 위험도가 높다.
  • 하지만, 앙상블기법을 통해서 과적합문제가 오히려 장점으로 작용한다.
    • 앙상블기법은 많은 약한 학습기(Weak Learning)를 통해 발생하는 오류에 가중치를 업데이트하며 예측성능을 향상시킨 모델들(GBM, XGBoost, LightGBM 등)
    • 따라서 결정트리는 앙상블기법에 좋은 약한 학습기가 된다. (마치, 나무에 좋은 양분을 제공해주는 땅)
  • If-Else 기반으로 둔 규칙을 학습을 통해 자동으로 찾아내는 기법
    • 어떤 기준으로 조건을 만드는지에 따라 모델의 성능을 좌우한다.

  • 정보 균일도
    • 정보 이득 (Information Gain)
      • 엔트로피의 개념을 기반으로 함 - 정보의 기댓값 즉 불확실성을 나타내는 지표 
        • 서로 다른 값이 섞여있으면 엔트로피는 높다 -> 순수도(Purity)가 낮다
        • 같은 값이 섞여 있으면 엔트로피는 낮다 -> 순수도(Purity)가 높다
      • 정보 이득 = 1 - 엔트로피 지수
        • 같은 값이 많이 섞일 수록 정보 이득은 높다

 

    • 지니 계수
      • 경제학 용어로서 낮을수록 데이터의 균일도가 높음
        • 0 = 평등/순수 (Purity)
        • 1 = 불평등/이질적 (Diversity)

 

 

결정트리 노드 생성 프로세스

결정트리 노드 생성 프로세스

  • 리프 노드(Leaf Node): 분류의 속성을 나타내는 분류 결정노드
  • 브랜치 노드(Branch Node):  리프 노드에서 분류된 속성 외의 더 자세한 결정조건을 가진 노드

 

 

 

 

 

 

 

 

출처: 파이썬 머신러닝 완벽가이드

댓글


출처: https://privatedevelopnote.tistory.com/81 [개인노트]