01. 2분 안에 말하기

결정 트리(Decision Tree)는 분류와 회귀에서 모두 사용 가능한 지도 학습 모델 중 하나입니다. 결정 트리 모형은 특정 기준(질문)에 따라 데이터를 구분하는 모델로, 한번의 분기 때마다 변수 영역을 두 개로 구분합니다. 즉, 데이터에 있는 규칙을 학습을 통해 자동으로 찾아내 Tree 기반의 분류 규칙을 만드는 것입니다.

결정 트리에서 질문이나 정답을 담은 상자를 노드라고 합니다. 맨 처음 분류 기준(즉, 첫 질문)을 Root Node라고 하고, 맨 마지막 노드를 Leaf Node라고 합니다.

결정트리의 가장 큰 장점은 시각화하고 편하고, 직관적 이해가 용이하다는 것입니다. 그리고 수치와 범주 데이터 모두 분석이 가능합니다. 또한, 각 피처가 개별적으로 처리되어 데이터를 분할하는데 데이터 스케일의 영향을 받지 않으므로, 결정트리에서는 피처 정규화나 표준화 같은 전처리 과정이 필요하지 않습니다.

주요 단점은 pruning(가지치기)를 사용해도 오버피팅되는 경향이 있어 일반화 성능이 좋지 않다는 것입니다. 한 번에 하나의 변수만을 고려하므로 변수간 상호작용을 파악하기가 어렵습니다. 따라서 사전에 크기를 제한하는것이(일반화) 성능 튜닝에 도움이 되며, 이같은 문제를 극복하기 위해 등장한 모델이 바로 랜덤 포레스트입니다. 랜덤 포레스트는 같은 데이터에 대해 의사결정나무를 여러 개 만들어 그 결과를 종합해 예측 성능을 높이는 기법입니다.

02. 추가 학습 포인트

결정 트리 프로세스

지나치게 많이 나누면 오버피팅됩니다.

-최대 깊이나 터미널 노드의 최대 개수, 혹은 한 노드가 분할하기 위한 최소 데이터 수를 제한함으로써 오버피팅을 막기 위한 전략입니다. min_sample_split, max_depth등의 파라미터를 조정해서 제한합니다. 이를 통해서 일반화 성능을 높입니다.