ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ADsP 데이터분석준전문가 - 의사결정나무
    S T U D Y/DataBase 2023. 2. 5. 17:46
    728x90
    반응형
    의사결정나무(Decision Tree)

    해당 그림에서 깊이(depth)는 3임. 가지의 갯수)

    독립변수(=설명변수, 예측변수, Feature)
    종속변수(=목표변수, 반응변수, Label)

    특징

    새로운 데이터 분류 또는 값 예측
    분리변수 P차원 공간에 대한 현재 분할은 이전 분할에 영향을 받음
    부모마디보다 자식마디의 순수도가 증가하도록 분류나무를 형성해나감(불순도 감소)

    종류

    목표변수(=종속변수)가 이산형인 경우 분류나무
    목표변수가 연속형인 경우 회귀나무

    장점

    구조가 단순해서 해석 용이
    비모수적 모형으로 수학적 가정 불필요
    범주형(이산형)과 수치형(연속형) 변수 모두 사용 가능

    단점

    분류 기준값의 경계선 부근의 자료 값에 대해서는 오차가 큼
    로지스틱회귀와 같이 각 예측변수의 효과를 파악하기 어려움
    새로운 자료에 대한 예측이 불안정할 수 있음

    결정규칙

    분리기준 :
    split crierion, 새로운 가지를 만드는 기준을 어떻게 정해야 할까?
    순수도가 높아지는 방향으로 분리, 불확실성이 낮아지는 방향
    정지규칙(Stopping rule) :
    더이상 분리가 일어나지 않고 현재 마디가 최종마디가 되도록 하는 규칙
    불순도 감소량이 아주 작을 때 정지
    가지치기 규칙(Pruning Rule) :
    어느 가지를 쳐내야 예측력 좋은 나무가 될까?
    최종 노드가 너무 많으면 overfitting 가능성이 커서 이를 방지하기 위해 사용함
    * overfitting : 가지치기나 정지규칙을 하지 않고 가지를 모두 사용했을 때 실제 데이터에 적용할 수 없게 되는 문제점
    가지치기 비용함수를 최소로 하는 분기를 찾아내도록 학습
    Information Gain이란 어떤 속성을 선택함으로 인해 데이터를 더 잘 구분하게 되는 것을 의미(불확실성 감소)

    불순도측정지표

    목표변수가 범주형일 때 사용하는 지표(분류에서 사용)
    지니지수
    불순도 측정 지표
    값이 작을수록 순수도가 높음(분류 잘 됨)
    1-시그마(각 범주별 수/전체수)제곱
    (예시 1)
    * * @ @ 데이터가 있으면
    지니지수 = 1- ((2/4)제곱 + (2/4) 제곱 = 1 - (1/4 + 1/4) = 1/2
    (예시 2)
    파란원 파란원 파란세모 초록세모 있으면
    <색으로 구분>
    1 - ( (3/4)제곱 + (1/4)제곱) = 1 - 5/8 = 3/8
    <모양으로 구분>
    1 - ( (2/4)제곱 + (2/4)제곱) = 1 - 4/8 = 4/8
    이므로 색으로 구분하는게 더 분류가 잘 된다는 것을 알 수 있음
    구하는 식 자주 나옴 암기

    엔트로피지수
    가장 작은 값을 갖는 방법 선택
    카이제곱 통계량의 유의확률(p-value)
    가장 작은 값을 갖는 방법 선택

    의사결정나무를 위한 알고리즘

    시험자주나옴
    하향식 접근 방법을 사용함
    CART(Classification And Regression Tree) :
    이산형 목표변수(분류나무) - 지니지수, 연속형 목표변수(회귀나무) - 분산감소량

    C5.0 :
    이산형 목표변수(분류나무) - 엔트로피지수

    CHAID(카이 스퀘어 오토매틱 인터랙션 디텍션) :
    이산형 목표변수(분류나무) - 카이제곱 통계량의 p-value, 연속형 목표변수(회귀나무) - ANOVA F 통계량의 p-value

    의사결정 트리에서 우리가 아는 의사결정트리 그림처럼 깔끔하게 나오게 하려면 패키지 설치 필요
    install.packages('rpart.plot')
    library(rpart.plot)
    prp(a, type=4, extra=2, digits=3)

    728x90
    반응형

    댓글

Designed by Tistory.