- 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에서 활용
- ID3(Iterative Dichotomiser 3)
- 훈련: 노드의 구성
- 기준이 되는 특성값과 임계치
- 불순도 측정치(Impurity Measure)
- 샘플의 총 개수(Samples)
- 클래스 별 샘플의 개(Value)
- 훈련: 불순도(Impurity)
- 주어진 데이터의 집합에서 클래스 레이블 값들이 얼마나 다른 종류들로 구성되어 있는지를 측정하는 수치
- 단 하나의 클래스 레이블 값으로 구성되어 있으면 순수(Pure or Homogeneous)함
- 여러 개의 클래스 레이블 값으로 구성되어 있으면 불순(Impure or Heterogeneous)함
- 훈련의 목적: 노드들의 불순도를 낮추는 것
1. 지니 불순도(GiniImpurity) ← 보통 많이 씀
2. 엔트로피(Entropy)
- 공식은 ppt 참고
- 훈련: 분할(Splitting)
- 불순도를 낮추기 위해 한 노드에 속한 데이터를 두 개 이상의 하위 노드에 분배하는 것
- 한 노드의 데이터를 여러 노드로 분할했을 떄의 불순도가 가장 낮게되는 기준을 선택함
- 공식은 ppt 참고
- 훈련: 수치형 데이터
- Calclate the average welght
- ppt 참고
- Calclate the average welght
- 대표적인 초매개변수
- 트리의 깊이(max_depth)
- 트리의 깊이가 증가된다
- 의사 결정 규칙의 수가 증가된다
- 모델의 복잡도가 증가한다
- 과대적합이 된다.
결론: 트리가 복잡해지면 과대적합!
- 잎 노드에 속하는 샘플의 최소 개수(min_samples_leaf)
- 앞 노드에 속하는 샘플의 최소 개수 증가된다
- 의사 결정 규칙의 수가 감소된다
- 모델의 복잡도가 감소한다
- 과소적합이 된다
- 트리의 깊이(max_depth)
- 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 |