본문 바로가기

Study/Hands-On Machine Learning

[Book] 6. 결정 트리

 

Book Title : Hands-On Machine Learning with Scikit-Learn, Keras & TF

지은이 : 오렐리아 제롱

옮긴이 : 박해선

출판사 : 한빛미디어

코드 출처

https://github.com/rickiepark/handson-ml2

 

GitHub - rickiepark/handson-ml2: 핸즈온 머신러닝 2/E의 주피터 노트북

핸즈온 머신러닝 2/E의 주피터 노트북. Contribute to rickiepark/handson-ml2 development by creating an account on GitHub.

github.com

6. 결정 트리(Decision Tree)

  • 결정 트리는 분류와 회귀 작업 그리고 다중출력 작업도 가능한 다재다능한 머신러닝 알고리즘이다
  • 사이킷런은 결정 트리를 훈련시키기 위해 CART(Classification and regression tree) 알고리즘을 사용함
  • 이해, 해석 및 사용하기 쉬움
  • 결정트리는 계단 모양의 결정 경계를 만들기 떄문에 훈련 세트의 회전에 민감

트리가 예측을 만들어내는 방법

<그림 1> 트리 예측 과정

  1. N년차 개발자를 분류하려고 합니다. 먼저 루트 노트(Root Node, 깊이가 0인 맨 꼭 대기 노드)에서 시작
  2. 루트 노드는 일한 경력이 3년차 보다 짧은지 검사하고, 짧으면 왼쪽 자식 노드(child node, 깊이 1)로 이동
  3. 이 경우 왼쪽 자식 노드가 리프 노드(Leaf Node, 자식 노드가 없는 노드)이므로 추가적인 검사를 하지 않음
  4. 그리고 노드에 있는 예측 클래스를 보고 '1년차 개발자'라고 예측
  5. 만약 루트 노드에서 경력이 3년차 보다 길면 오른쪽 자식 노드로 이동하고 '프로젝트 3개'검사를 거쳐 분류
분류하는 기준이 뭔데?
대표적으로 지니계수와 엔트로피가 있음
그래서 사이킷런에서 랜덤포레스트를 사용시 criterion 파라미터 옵션으로 'gini' , 'entropy'를 사용할 수 있음

 

'Study > Hands-On Machine Learning' 카테고리의 다른 글

[Book] 8. 차원 축소  (0) 2022.04.30
[Book] 7. 앙상블 학습과 랜덤 포레스트  (0) 2022.04.24
[Book] 5. 서포트 벡터 머신  (0) 2022.04.21
[Book] 4. 모델 훈련  (0) 2022.04.20
[Book] 3. 분류  (0) 2022.04.09