상세 컨텐츠

본문 제목

[개미의 걸음 scikit-learn 3차시] Classification① 의사결정트리(Decision Tree)의 이해

Python

by IT개미 데이터 2021. 2. 3. 07:07

본문

728x90

Decision Tree[의사결정나무]

학습을 통해 데이터에 있는 규칙을 찾아내어 Tree기반의 분류 규칙을 만드는 것

  • ML 알고리즘 중 직관적으로 이해하기 쉬운 알고리즘
       
    → Tree구조는 연속적으로 발생하는 의사결정문제를 시각화
        → 의사결정이 이뤄지는 시점과 성과를 한눈에 한 눈에 보여줌
        → 계산결과가 의사결정나무에 직접 나타나기 때문에 해석이 간편
        → 불순도가 낮아야 정보획득량이 높음
  • 의사결정나무는 주어진 입력값에 대한 출력값을 예측하는 모형(주로 하향식 기법 사용)
  • 분류나무와 회귀나무 모형이 잇음
        → 사이킷런에서는 DecisionTreeClassifier와 DesisionTreeRegressor 클래스
        → 사이킷런의 결정 트리 구현은 CART[Classification And Regression Trees] 알고리즘 기반

# CART[Classification And Regression Trees] 알고리즘

더보기

이름에서도 알 수 있듯이 분류뿐만 아니라 회귀에서도 사용될 수 있는 트리 알고리즘

 

 

의사결정나무의 구성요소

구성요소 설    명
뿌리 마디[Root Node] 나무구조가 시작되는 마디로 전체 자료를 포함하는 마디
자식 마디[Child Node] 하나의 마디로부터 분리되어 나간 2개 이상의 마디
부모 마디[Parent Node] 주어진 마디의 상위 마디
끝 마디[Terminal Node] 자식 마디가 없는 마디
중간 마디[Internal Node] 부모마디와 자식마디가 모두 있는 마디 
규칙 마디[Decision Node] 규칙 조건이 되는 마디
잎 마디[Leaf Node] 규칙 조건에 따라 분리된 데이터들을 나눈 마디
가지[Branch] 뿌디마디로부터 끝마디까지 연결된 마디
깊이[Depth] 뿌리마디로부터 끝마디까자의 마디 개수
  • 규칙 마디가 많을 경우, 분류 결정 방식이 더욱 복잡해지므로 과대적합 가능성이 높음
       → 트리의 깊이가 깊어질수록 결정 트리의 예측 성능이 저하될 가능성이 높음
  • 가능한 적은 결정 노드로 높은 에측 정확도를 가지려면 결정 노드 규칙 선정이 중요
       → 최대한 많은 데이터 세트가 해당 분류에 속할 수 있도록 하는 것이 중요!

 

의사결정나무의 활용

세분화 데이터를 비슷한 특성을 갖는 몇 개의 그룹으로 분할해 그룹별로 특성을 세분화할 때 사용
분    류 여러 예측변수들에 근거해 관측 개체의 목표변수 범주를 몇 개의 등급으로 분류할 때 사용
예    측 자료에서 규칙을 찾아내고 이를 이용해 미래의 사건을 예측할 때 사용
차원 축소 및 변수 선택 매우 많은 수의 예측 변수 중에서 목표 변수에 큰 영향을 미치는 변수들을 골라내고자할 때 사용
교호작용 효과의 파악 여러 개의 예측변수들을 결합해 목표변수에 적용하는 규칙을 파악하고자 할 때 사용
범주의 병합 범주형 목표 변수의 범주를 소수의 몇 개로 병합할 때 사용
연속형 변수의 이산화 연속형 목표 변수를 몇 개의 등급으로 이산화할 때 사용

 

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

장    점 모형을 만드는 방법이 계산적으로 복잡하지 않으며 정확도도 높은 편
대용량 데이터에서도 빠르게 만들 수 있음[신속한 데이터 분류작업 가능]
비정상 잡음 데이터에 대해서도 민감함이 없이 분류 가능
한 변수와 상관성이 높은 다른 불필요한 변수가 있어도 크게 영향을 받지 않음
설정 변수나 목표변수에 수치형 변수와 범주형 변수를 모두 사용 가능
결과를 누구에게나 설명하기 용이
단    점 새로운 자료에 대한 과대적합이 발생할 가능성이 높음
분류 경계선 부근의 자료값에 대한 오차가 큼
설명 변수간의 중요도를 판단하기 쉽지 않음

 

의사결정나무의 분석과정

① 성장(growing) 단계

각 마디에서 적절한 최적의 분리 규칙(Splitting rule)을 찾아서 나무를 성장시키는 과정
적절한 정지규칙(Stopping rule)을 만족하면 중단

분리 규칙
[Splitting rule]
최적 분할은 불순도 감소량을 가장 크게 하는 분할을 찾는 것
각 마디에서 최적 분할 규칙은 분리변수의 선택과 분리 기준에 의해 결정됨
각 단계에서 최적 분리기준에 의한 분할을 찾은 다음 각 분할에 대해서도 동일 과정 반복
분리기준
[Splitting Criterion]
1. 이산형 목표 변수
  • 카이제곱 통계량 p값
     
    → p값이 가장 적은 예측 변수와 그 때의 최적분리에 의해 자식마디를 형성
  • 지니 지수
      → 지니지수를 감소시켜주는 예측변수와 그 때의 최적 분리에 의해 자식마디를 선택
  • 엔트로피 지수
     
    → 엔트로피 지수가 가장 적은 예측 변수와 이 때의 최적 분리에 의해 자식마디를 형성
2. 연속형 목표 변수
  • 분산 분석에성의 F통계량
     
    p값이 가장 적은 예측 변수와 그때의 최적분리에 의해 자식마디를 형성
  • 분산의 감소량
      → 분산의 감소량을 최대화하는 기준의 최적분리에 의해 자식마디를 형성
정지규칙
[Stopping Rule]
더 이상 분리가 일어나지 않고 현재 마디가 끝 마디가 되도록 하는 규칙
     과적합 문제를 방지
정지 기준[Stopping Criterion] : 의사결정나무의 깊이를 지정, 끝마디의 레코드 수의 최소 개수를 지정

 

② 가지치기(Pruning) 단계

오차를 크게할 위험이 높거나 부적절한 추론 규칙을 가지고 있는 가지 또는 불필요한 가지를 제거하는 단계
  • 과대적합되어 현실 문제에 적응할 수 있는 적절한 규칙이 나오지 않는 현상을 방지
  • 너무 큰 나무모형은 자료를 과대적합하고 너무 작은 나무모형은 과소적합할 위험이 있음
  • 나무의 크기를 모형의 복잡도로 볼 수 있으며, 최적의 나무 크기는 자료로부터 추정하게 됨
  • 일반적으로 마디에 속하는 자료가 일정수(가령 5)이하일 때, 분할을 정지하고 비용-복잡도 가지치기 방법을 이용해 성장시킨 나무를 가지치기하는 방법을 사용

 

③ 타당성 평가 단계

이익도표[gain chart], 위험분포(risk chart) 혹은 시험자료를 이용해 의사결정나무를 평가하는 단계

 

④ 해석 및 예측 단계

구축된 나무 모형을 해석하고 예측 모형을 설명한 후 예측에 적용하는 단계 

 

 

 

728x90

관련글 더보기

댓글 영역