Skip to main content

결정 트리

트리 구조로 데이터를 분류하거나 예측하는 머신러닝 모델입니다.


설명

결정 트리는 질문을 통해 데이터를 분류하는 트리 구조의 모델입니다.

각 노드에서 특정 조건을 기준으로 데이터를 분할하며, 최종 리프 노드에서 예측 결과를 제공합니다.

직관적이고 해석하기 쉬워 분류와 회귀 문제에 널리 사용됩니다.


포트 구성

입력 포트

없음

출력 포트

  • 미학습 모델: 학습되지 않은 결정 트리 모델 (학습 노드에 연결하여 사용)

속성

분할기

노드를 분할할 때 사용할 전략을 선택합니다.

  • Best: 모든 특성을 탐색하여 가장 좋은 분할을 찾습니다
    • 최적의 성능이지만 계산 비용이 높음
  • Random: 무작위로 일부 특성을 선택하여 분할을 찾습니다
    • 계산 비용이 낮지만 성능이 다소 떨어질 수 있음

개별 트리의 최소 분할 샘플 수 설정

한 노드를 분할하기 위해 필요한 최소 데이터 샘플 수를 설정합니다.

  • 높은 값: 모델이 단순해짐 (과적합 방지)
  • 낮은 값: 모델이 복잡해짐 (세밀한 분할)

개별 트리의 최소 리프 샘플 수 설정

리프 노드가 되기 위해 필요한 최소 샘플 수를 설정합니다.

  • 높은 값: 모델이 단순해짐
  • 낮은 값: 모델이 복잡해짐

개별 트리의 최소 리프 가중치 비율 설정

각 리프에 할당되는 최소 가중치의 합을 설정합니다.

  • 높은 값: 불필요한 작은 리프 생성 방지, 성능 향상
  • 낮은 값: 모델 성능이 떨어질 수 있음

개별 트리의 최대 특성 수 설정

각 트리에서 사용할 수 있는 최대 특성(피처) 수를 설정합니다.

  • auto: 자동으로 설정 (제한 없음, 모든 특성 사용)
  • log2: 특성 수의 log2 값으로 제한 (예: 16개 특성 → 최대 4개)
  • sqrt: 특성 수의 제곱근으로 제한 (예: 16개 특성 → 최대 4개)

작은 값: 과적합 방지, 안정성 증가 큰 값: 복잡한 패턴 학습, 과적합 위험

개별 트리의 최대 리프 노드 수 설정

트리에서 생성할 수 있는 최대 리프 노드 수를 설정합니다.

  • 작은 값: 모델이 단순해짐
  • 큰 값: 모델이 복잡해짐

개별 트리의 최소 불순도 감소 설정

분할을 수행하기 위한 최소 불순도 감소량을 설정합니다.

  • 작은 값: 모델이 단순해짐
  • 큰 값: 모델이 복잡해짐

사용 방법

  1. 결정 트리 노드를 캔버스에 추가합니다
  2. 원하는 속성을 설정합니다 (분할기, 최소 샘플 수 등)
  3. 출력된 미학습 모델을 모델 학습 노드에 연결합니다
  4. 학습용 데이터셋을 모델 학습 노드에 연결합니다
  5. 학습이 완료되면 학습된 모델을 일괄 예측 노드와 모델 평가 노드에서 사용할 수 있습니다

예제

결정 트리 예제