1. 정의
결정 트리 분류기 는 분류 문제에 사용되는 간단한 기계 학습 모델이다. 분류에 사용되는 가장 간단한 기계 학습 모델 중 하나이지만 제대로 수행되고 우수한 교육 데이터가 있으면 일부 작업을 해결하는 데 매우 효과적일 수 있다.
2. 작동 원리
의사 결정 트리 분류기는 모델을 구축하고 올바른 출력과 일치하는 교육 데이터를 제공한 다음 모델이 이러한 패턴에서 학습 하도록 하는 일종의 지도 머신 러닝 이다. 그런 다음 모델에 이전에 본 적이 없는 새 데이터를 제공하여 성능을 확인할 수 있다. 그리고 우리는 Decision Tree Clasifier에 대해 정확히 무엇을 훈련해야 하는지 알아야 하기 때문에 Decision Tree Clasifier가 정확히 무엇인지 보자.
Decision Tree 는 3가지 유형의 구성 요소로 구성된다.
- Nodes — 특정 속성 값에 대한 결정("50세 이상입니까?", "연봉이 $2000 이상입니까?")
- Edges — 에지는 실제로 노드("예", "아니오")의 응답 중 하나이며 다음 노드에 대한 연결을 구축합니다.
- Leaf Nodes — Decision Tree의 결과에 대한 출구 지점 — 예를 들어, 우리의 경우 "예" 및 "아니오" Leaf Node가 여러 개 있을 수 있습니다. 교통 체증이 있거나 없을 것입니다.
3. 예시 1
따라서 Decision Tree에서 값을 예측한다는 것은 최상위(루트 노드)에서 시작하여 각 노드에 특정한 질문을 하는 것을 의미합니다. 그런 다음 노드 응답에 따라 올바른 분기를 선택하고, 리프 노드에 도달할 때까지 계속해서 결정을 찾는다.
많은 if-else 문처럼 보인다. Machine Learning은 어디에?
지금쯤 당신이 이 관찰에 도달했다면 축하한다. 이것은 좋은 직관이다. Machine Learning의 이 알고리즘의 핵심은 이 Decision Tree를 구축하는 가장 좋은 방법을 찾는 것이므로 실제 생활에서 새로운 데이터를 볼 때 올바른 Decision(올바른 Leaf Nodes)에 도달하는 방법을 알 수 있다.
(1) 첫 번째 단계는 루트 노드를 선택하는 것이다. 즉, 가장 큰 정보를 얻는 데 도움이 되는 기능을 선택하거나 답을 얻기 위해 취할 수 있는 가장 큰 도약을 선택하는 것이다. 이는 Dataset의 모든 기능을 가져와서 해당 기능의 값으로 Dataset를 분할하고 각 기능에 대한 트리의 정확도를 관찰하여 수행된다. 그런 다음 가장 정확한 기능을 선택하고 트리 루트로 설정한다.
이것은 우리 데이터세트에 묻는 것과 같다. 하나의 기능만 사용할 수 있다면 다른 모든 기능과의 관계에서 가장 정확한 정보를 얻는 데 도움이 될 수 있는 기능은 무엇인가?
그런 다음 이 프로세스를 해당 루트 노드의 모든 분기에 재귀적으로 적용하기만 하면 됩니다. 그런 다음 결과 노드의 모든 분기 등으로 가져온다. 기본적으로 모든 하위 트리를 완전히 새로운 트리로 고려하고 가능한 한 많은 정확도를 얻기 위해 최선을 다하는 것과 같다.
일반적으로 이 재귀 프로세스를 중지하는 데는 두 가지 기준이 있다.
- 노드는 정직하다. 즉, 이 노드에 대한 데이터 세트의 모든 해당 라인은 대상 변수에 대해 동일한 출력을 가진다. 따라서 여기에 데이터 세트 항목이 동일한 결론에 도달하기 때문에 이 노드를 더 나눌 필요가 없다. 따라서 이 노드를 Leaf Nodes로 표시한다.
- 레벨이 너무 많아 트리가 너무 복잡해진다. 나무에 대한 최대 레벨을 설정하는 것은 You에게 달려 있으며 이 결정은 실험을 기반으로 이루어져야 한다.
※ 위 포스팅은 medium의 Afroz Chakure 저자의 포스팅을 번역한 것이며, 개인적인 공부 차원의 포스팅입니다.
'개발 > Deep Learning' 카테고리의 다른 글
[MATLAB] Camera Calibration :: 체커보드 Corner 인식 테스트 (0) | 2022.03.13 |
---|---|
서울/수도권 인공지능 대학원 9군데 지원 및 합격 후기 (0) | 2022.01.19 |
[Kaggle] Python으로 런던 자전거 수요 예측해보기 :: (4) 시그마 이상치 제거 (0) | 2021.06.01 |
[Kaggle] Python으로 런던 자전거 수요 예측해보기 :: (2) (0) | 2021.06.01 |
[Kaggle] Python으로 런던 자전거 수요 예측해보기 :: (1) intro (0) | 2021.06.01 |