카테고리 없음

Decision Tree란?

fiction-google 2024. 12. 3. 19:00
반응형

 

의사결정트리(Decision Tree)란?

의사결정트리(Decision Tree)는 데이터 분류 및 예측을 위한 지도 학습(Supervised Learning) 알고리즘으로, 트리 구조를 기반으로 데이터를 분할하고 결과를 도출합니다. 의사결정나무는 직관적이고, 해석이 용이하며, 데이터의 구조를 시각적으로 표현할 수 있어 널리 사용됩니다.


1. 개념

의사결정나무는 트리 구조로 데이터를 분할하여 최종적인 예측 값을 도출하는 모델입니다. 각 내부 노드는 데이터의 특정 특성(feature)을 기준으로 데이터를 분할하는 질문을 나타내며, 리프 노드는 해당 데이터가 속하는 클래스(class) 또는 예측 값(prediction)을 나타냅니다.

기본 구조:

  • 루트 노드 (Root Node): 트리의 시작점으로, 첫 번째 질문을 포함.
  • 내부 노드 (Internal Node): 데이터의 분할을 위한 특성에 대한 질문을 포함.
  • 리프 노드 (Leaf Node): 최종 분류 결과 또는 예측 값이 포함된 노드.

2. 작동 원리

  1. 특성 선택 (Feature Selection):
    • 의사결정나무는 데이터를 분할할 때 가장 유효한 특성을 선택합니다.
    • 이를 위해 정보 이득(Information Gain), 지니 불순도(Gini Impurity), 분산(Variance) 등을 기준으로 분할 특성을 선택합니다.
  2. 분할 (Splitting):
    • 선택된 특성을 기준으로 데이터를 여러 부분으로 나눕니다.
    • 이 과정을 반복하여 트리가 성장합니다.
  3. 트리 성장 (Tree Growth):
    • 각 노드는 주어진 특성에 따라 데이터셋을 두 개 이상의 부분으로 나누며, 분할은 데이터의 분포가 최대한 동질적으로 이루어집니다.
  4. 정지 조건 (Stopping Criteria):
    • 트리가 계속 성장할 수 있지만, 트리의 성능을 최적화하고 과적합(overfitting)을 방지하기 위해 일정한 기준에서 성장 과정이 멈춥니다.
      • 트리의 깊이 제한.
      • 최소 샘플 수 제한.
      • 불순도가 특정 임계값 이하일 때 분할 중단.

3. 분할 기준


4. 장점

  1. 해석 용이: 트리 구조가 직관적이고, 데이터 분할 과정이 명확하여 쉽게 이해할 수 있습니다.
  2. 비선형 관계 처리 가능: 선형 모델에 비해 비선형 데이터에서도 좋은 성능을 낼 수 있습니다.
  3. 다양한 문제에 적용 가능: 분류 문제뿐만 아니라 회귀 문제에도 적용 가능합니다.
  4. 특성 선택 기능 내장: 데이터를 분할할 때 가장 중요한 특성을 선택하는 기능을 내장하고 있습니다.
  5. 전처리 필요 없음: 데이터가 비선형일 때도 자동으로 처리가 가능하고, 특성의 스케일링이 필요하지 않습니다.

5. 단점

  1. 과적합(Overfitting) 문제: 의사결정나무는 데이터에 너무 잘 맞는 모델을 만들 수 있기 때문에 과적합이 발생할 수 있습니다.
    • 이를 해결하기 위해 가지치기(Pruning) 기법이나 **앙상블 기법(예: 랜덤 포레스트)**이 사용됩니다.
  2. 불안정성: 트리 구조는 작은 데이터 변화에도 큰 변화를 겪을 수 있습니다. 예를 들어, 학습 데이터가 조금만 바뀌어도 트리 구조가 크게 달라질 수 있습니다.
  3. 예측 정확도 한계: 트리가 너무 깊어지면 계산이 비효율적이고, 간단한 트리는 복잡한 패턴을 잘 잡지 못할 수 있습니다.

6. 가지치기(Pruning)

  • 가지치기는 과적합을 방지하기 위한 방법입니다. 트리가 너무 깊어지면 모델이 학습 데이터에 너무 특화되어 일반화 성능이 떨어질 수 있기 때문에, 불필요한 분할을 제거하여 모델을 단순화합니다.

전방 가지치기(Pre-Pruning):

트리를 성장시키기 전에 일정한 조건에 따라 성장을 멈춥니다.

  • 예: 트리의 깊이를 제한하거나, 최소 샘플 수가 일정 이상일 때 분할을 멈추는 방법.

후방 가지치기(Post-Pruning):

트리가 성장한 후 불필요한 가지를 제거하여 트리를 단순화합니다.


7. 하이퍼파라미터

의사결정나무를 최적화하기 위해 조정할 수 있는 하이퍼파라미터는 다음과 같습니다:

  • max_depth: 트리의 최대 깊이.
  • min_samples_split: 노드를 분할하는 데 필요한 최소 샘플 수.
  • min_samples_leaf: 리프 노드에 있어야 하는 최소 샘플 수.
  • criterion: 분할의 기준 (예: "gini", "entropy").
  • max_features: 각 분할에 사용할 특성의 최대 개수.

8. 활용 사례

  1. 의학: 질병 예측 및 분류 (예: 암의 종류 분류).
  2. 금융: 고객의 신용 등급 예측, 대출 승인 여부 예측.
  3. 마케팅: 고객 세분화, 타겟 마케팅.
  4. 기계 학습: 데이터 분석과 특성 선택.

9. 예시


 

의사결정트리는 직관적이고 이해하기 쉬운 모델로, 분류 및 회귀 문제에서 널리 사용됩니다. 비선형 관계를 잘 처리하며, 데이터를 시각적으로 분할할 수 있어 해석하기 용이한 장점이 있지만, 과적합이나 불안정성 문제를 해결하려면 가지치기나 앙상블 기법 등을 활용하는 것이 중요합니다.

반응형