빅데이터 모델링 – 분석 기술 – 의사결정 트리 (Decision Tree, Crystal Tree)

  • by

의사 결정 트리 정의

  • 나무 형태로 표현되며 전체 재료를 여러 하위 그룹으로 분류하거나 예측하는 기술
  • 상위 노드에서 하위 노드로 트리 구조 형성
  • 단계별 분류 변수 및 분류 기준값 선택 중요
    • 상위 노드로 분류된 각 하위 노드는 노드 내에서의 균질성이 커지고 노드간에 이질성이 커지는 방향으로 분류 변수와 기준값을 선택
  • 모델의 크기는 과도 적합(또는 과소 적합)하지 않도록 적절하게 조정됩니다.

  • 예) 시장조사, 광고조사, 품질관리, 타겟 고객분류, 고객신용분류, 행동예측 등


<의사 결정 트리 분석의 예>


의사 결정 트리 구성

  • 루트 노드(Root Node, 루트 노드)
    • 나무가 시작되는 절
    • 부모가 없는 단어로 대상이 되는 모든 자료 집합 포함
  • 중간절(Internal Node)
    • 근절에서 나온 각 나무의 줄기의 한가운데에 있는 절
  • 종점(터미널 노드, 리프 노드)
    • 각 나무의 줄기 끝에 있는 절
    • 아이가 없는 절
  • 자절(Child Node)
    • 한 절에서 분리된 두 개 이상의 절
  • 친절(Parent Node)
    • 자절의 친절
  • 브랜치
    • 한 구절에서 마지막 구절로 이어진 구절
  • 깊이
    • 최장 가지의 크기(절의 개수)

의사 결정 유형

분류 트리

  • 이산형(카테고리형) 목표 변수에 의한 빈도 기반 분리에 사용
    • 이산 유형 목표 변수 : 목표 변수 카테고리에 속하는 빈도 기반 입력 데이터가 분류되는 클래스
  • 상위 노드에서 분기 분할을 진행할 때의 분리 기준
    • 카이 제곱 제어량의 p-value : ((실제 도수 – 기대 도수) ^ 2 / 기대 도수)의 합계
    • Gini Index : 특정 세트에서 하나의 항목을 선택하여 무작위로 라벨을 추정하면 잘못된 것일 수 있습니다.

    • 엔트로피 지수(Entropy Index): 무질서의 정도에 대한 측도
  • 분리 기준을 선택할 때 하위 노드가 불순도를 통해 현재 노드에 비해 불순도가 감소하도록 설정
    • 분리 기준 : 어떤 입력 변수를 입력하고 분리하는 것이 의사 결정 트리 모델의 목표에 가장 적합한 지에 대한 기준
    • 불순도: 서로 다른 데이터가 혼합된 정도
    • 정보 취득(Information Gain): 불순도의 차이

회귀 나무

  • 연속형(수치형) 목표 변수에 의한 평균/표준 편차 기반 분리에 사용
    • 연속형 목표 변수: 목표 변수 평균/표준 편차에 기초한 예측 결과로서 특정 의미를 갖는 실수값 출력
  • 상위 노드에서 분기를 진행할 때의 분리 기준
    • 분산 분석 F-통계량의 p-값(p-value of F-Statistic)
    • 분산 감소량(Variance Reduction): 분산 감소량이 최대화될수록 낮은 불균일성, 순도가 높아지는 방향으로 분기 진행

의사 결정 트리 분석 프로세스

  1. 변수 선택
    • 목표 변수와 관련된 설명(독립) 변수 선택
  2. 의사 결정 트리 형성
    • 분석 목적에 따른 적절한 분리 기준과 정지 규칙, 평가 기준 등으로 의사 결정 트리 생성
    • 정지 규칙: 더 이상 분리가 발생하지 않고 현재 절이 끝 절이 되도록 하는 몇 가지 규칙
  3. 전정
    • 부적절한 나뭇가지 제거
    • 오버 피팅을 방지하고 일반화 성능 향상
  4. 모델 평가 및 예측
    • 이익(리스크), 리스크(리스크), 비용(비용) 등을 고려
    • 모델을 평가하고 분류 및 예측 수행
    • 정보 취득 (Information Gain)
      • 순도가 증가하고 불확실성이 저하됨
      • 현재 노드의 불순도와 자식 노드의 불순도의 차이를 의미
    • 재귀적 분기(Recursive Partitioning) 학습
      • 분기 전부터 분기 후의 각 영역의 정보 취득량이 높아지도록 입력 변수 영역 구분
      • 사전 설정된 기준을 충족할 때까지 분기를 반복하는 학습
      • 모든 잎(말미)의 엔트로피가 0이 될 때까지 반복하기 위해 새로운 데이터가 올바르게 분류되지 않는 현상을 방지하기 위해 일정 단계에서 정지 또는 분기를 재조정하는 전정 단계로 이동
  5. 전정
    • 평가용 데이터 활용
    • 부적절한 추론 규칙이 있거나 불필요하거나 분류 오류를 증가시키는 위험한 절을 제거합니다.

    • 오류 감소 전정 (Reduced Error Pruning)
      • 분할/조합 전후의 오류 비교
      • 오류가 감소하지 않을 때까지 반복하는 방법
    • 룰 포스트 전정(Rule Post Pruning)
      • 트리 구조를 루트 노드에서 리프 노드까지 경로 형태로 변환
      • 정밀도가 낮은 순서로 삭제하는 방법
    • 분기가 너무 많으면 학습 데이터가 과도하게 되어 복잡한 트리 생성이 발생할 수 있습니다.

    • 사전 전정과 사후 전정을 이용한 과적합 방지
  6. 타당성 평가
    • 이익, 비용, 위험 등을 고려하여 모델 평가
    • 이익도, 위험도, 교차 타당성(교차 검증)에서 의사결정 트리 평가
  7. 해석과 예측
    • 의사결정 트리의 최종 모델 해석으로 분류 및 예측 모델 결정
  • 의사결정 트리를 사용하여 인공지능을 배우기 위한 게시물

2022.05.09 – (Programming/Machine Learning (Python)) – 인공 지능 기계 학습 – Decision Tree 모델


의사 결정 트리의 대표 알고리즘

CART(Classification and Regression Trees)

  • 일반적으로 사용되는 의사 결정 트리 알고리즘
  • 불순도 측도에서 카테고리형 또는 이산형의 경우 지니지수 활용
  • 불순도 측도로 연속형의 경우, 분산의 감소량을 이용한 바이너리 분리 활용

C4.5/C5.0

  • 범주형/이산형 목표 변수에만 활용
  • 불순도 측도에서 카테고리형 또는 이산형인 경우에만 엔트로피 지수를 이용
  • 카테고리의 수만큼 분리가 일어나지만, 각 절에서 아마 분리(multiple split) 가능

CHAID (Chi-squared Automatic Interaction Detection)

  • 카테고리형/이산형 목표 변수와 연속형 목표 변수에 활용
  • 불순도 측도에서 카테고리형 또는 이산형의 경우, 카이 제곱 통계량을 활용
  • 불순도 측도로 연속형의 경우 ANOVA F-통계량 활용
  • 전정없이 적절한 크기로 성장을 멈추십시오.
  • 분리 변수의 범주별로 절을 형성하는 아마 분리 가능

랜덤 포레스트

  • 부트스트랩과 버깅을 이용하여 숲을 형성
  • 부트 스트랩 기반 샘플링을 사용하여 의사 결정 트리 만들기
    • 부트스트랩 (BootStrapping)
      • 단순 복원 임의 추출법(랜덤 샘플링)
      • 같은 크기의 여러 샘플 데이터 만들기
      • 전체 관측치의 일부를 뽑아 통계치를 측정하는 과정을 여러 번 반복하는 것
  • 그런 다음 버깅 기반 나무를 모아 앙상블 학습
    • 버깅(Bagging, Bootstrap Aggregating)
      • 여러 부트스트랩 데이터를 생성하고 학습하는 모델링
      • 분류기를 만든 후 결과를 앙상블하는 방법
      • 추출한 각 샘플에 대한 모델링 학습 후의 결과를 집계하여 최종 결과를 만드는 방법
      • 카테고리 데이터: 다수결 투표 방식
      • 연속 데이터 : 평균으로 결과 집계
    • 앙상블 학습(Ensemble Learning)
      • 여러 모델을 학습하고 결합하는 방법 학습 방법
      • 일반화 성능을 향상시켜 과적합을 해결
    • 부스트
      • 가중치를 사용하여 약한 분류기를 강한 분류기로 만드는 방법
      • 차례로 분류 모델이 잘못된 위치에 집중하여 새로운 분류 규칙을 만드는 기술
      • 이전 분류기의 학습 결과에 따라 다음 분류기의 학습 데이터 샘플 가중치를 조정하여 학습 진행
        • 잘 맞는 약 분류기: 가중치 추가
        • 잘못 평가된 약한 분류기: 가중치 공제
        • 누적 약 분류기의 가중치를 합하여 최종 학습을 모델링

의사결정 나무의 장점과 단점

  • 장점
    • 연속형, 카테고리형 변수 모두 적용
    • 변수를 비교할 수 있으며 규칙을 쉽게 이해할 수 있습니다.

    • 데이터에서 규칙을 도출하는 데 유용
    • 활용 분야 : DB 마케팅, CRM, 시장 조사, 기업 부도/환율 예측 등
  • 단점
    • 트리 구조가 복잡한 경우 예측/해석력 저하
    • 데이터 변형에 민감

메모