Book Title : Hands-On Machine Learning with Scikit-Learn, Keras & TF
지은이 : 오렐리아 제롱
옮긴이 : 박해선
출판사 : 한빛미디어
코드 출처
https://github.com/rickiepark/handson-ml2
6. 결정 트리(Decision Tree)
- 결정 트리는 분류와 회귀 작업 그리고 다중출력 작업도 가능한 다재다능한 머신러닝 알고리즘이다
- 사이킷런은 결정 트리를 훈련시키기 위해 CART(Classification and regression tree) 알고리즘을 사용함
- 이해, 해석 및 사용하기 쉬움
- 결정트리는 계단 모양의 결정 경계를 만들기 떄문에 훈련 세트의 회전에 민감
트리가 예측을 만들어내는 방법
- N년차 개발자를 분류하려고 합니다. 먼저 루트 노트(Root Node, 깊이가 0인 맨 꼭 대기 노드)에서 시작
- 루트 노드는 일한 경력이 3년차 보다 짧은지 검사하고, 짧으면 왼쪽 자식 노드(child node, 깊이 1)로 이동
- 이 경우 왼쪽 자식 노드가 리프 노드(Leaf Node, 자식 노드가 없는 노드)이므로 추가적인 검사를 하지 않음
- 그리고 노드에 있는 예측 클래스를 보고 '1년차 개발자'라고 예측
- 만약 루트 노드에서 경력이 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 |