본문 바로가기
🍫 프로그래밍 공부/Machine-Learning

[기계학습]Decision Tree

by 온묵
  • Decision Tree 목적
    서로 다른 레이블 값을 가지는 데이터들을 최대한 다른 Node에 배치하는 의사 결정 규칙(Decision Rule)으로 구성된 Tree를 학습하는 것

  • 학습 알고리즘
    • ID3(Iterative Dichotomiser 3)
      : 범주형 특성값에 대한 트리 생성
    • C4.5
      : 수치형 특성값에 대한 트리 생
    • C5.0
      : 개량된 C4.5 - 메모리 최적화, 모델 복잡도 완화 (하지만, C4.5가 조금 더 정확함)
    • CART(Classification and Regression Tree)
      : 분류뿐 아니라 회귀도 가능한 트리로, Scikit-learn에서 활용
  • 훈련: 노드의 구성
    • 기준이 되는 특성값과 임계치
    • 불순도 측정치(Impurity Measure)
    • 샘플의 총 개수(Samples)
    • 클래스 별 샘플의 개(Value)
  • 훈련: 불순도(Impurity)
    • 주어진 데이터의 집합에서 클래스 레이블 값들이 얼마나 다른 종류들로 구성되어 있는지를 측정하는 수치
    • 단 하나의 클래스 레이블 값으로 구성되어 있으면 순수(Pure or Homogeneous)
    • 여러 개의 클래스 레이블 값으로 구성되어 있으면 불순(Impure or Heterogeneous)
    • 훈련의 목적: 노드들의 불순도를 낮추는 것

      1. 지니 불순도(GiniImpurity) ← 보통 많이 씀

      2. 엔트로피(Entropy)
      - 공식은 ppt 참고
  • 훈련: 분할(Splitting)
    • 불순도를 낮추기 위해 한 노드에 속한 데이터를 두 개 이상의 하위 노드에 분배하는 것
    • 한 노드의 데이터를 여러 노드로 분할했을 떄의 불순도가 가장 낮게되는 기준을 선택함
      - 공식은 ppt 참고
  • 훈련: 수치형 데이터
    • Calclate the average welght
      - ppt 참고
  • 대표적인 초매개변수
    • 트리의 깊이(max_depth)
      1. 트리의 깊이가 증가된다
      2. 의사 결정 규칙의 수가 증가된다
      3. 모델의 복잡도가 증가한다
      4. 과대적합이 된다.

        결론: 트리가 복잡해지면 과대적합!
    • 잎 노드에 속하는 샘플의 최소 개수(min_samples_leaf)
      1. 앞 노드에 속하는 샘플의 최소 개수 증가된다
      2. 의사 결정 규칙의 수가 감소된다
      3. 모델의 복잡도가 감소한다
      4. 과소적합이 된다
  • Decision Tree의 장점
    • 이해하기 쉽다
    • 시각화가 가능하다
    • 데이터의 정규화 또는 표준화가 불필요하다.
  • Decision Tree의 단점
    • 과대적합
      : 모르는 데이터가 들어오면 멍청해진다
    • 초매개변수 또는 데이터의 미세한 변화에 따라 완전히 다른 트리가 생성됨
    • 클레스 레이블 분포에 민감하다
      : 한 클래스가 다른 클래스보다 아주 많으면 제대로 예측이 되지 않음

  • 이해를 위한 추가 자료
 

머신러닝 - 4. 결정 트리(Decision Tree)

결정 트리(Decision Tree, 의사결정트리, 의사결정나무라고도 함)는 분류(Classification)와 회귀(Regression) 모두 가능한 지도 학습 모델 중 하나입니다. 결정 트리는 스무고개 하듯이 예/아니오 질문을 이

bkshin.tistory.com

728x90

'🍫 프로그래밍 공부 > Machine-Learning' 카테고리의 다른 글

[기계학습] 함수  (0) 2024.03.24
[기계학습] 기계학습 개념  (1) 2024.03.24

서울특별시