STUDY/데이터마이닝

데이터마이닝 11.

연나연 2023. 11. 6. 10:56

의사결정나무모형

(1) 나무형태의 그림

(2) 조건문

 

# 가지치기 (나무모형의 불안정성) -> 나무모형의 불안정성 해소하기 위해 앙상블이 나옴

한 그루의 나무 형성,

나무가 크게 자라면 -> 분할이 많이 된다는 것 -> 예측력이 떨어지고 분산이 커지고 과적합이 될 수 있다.

 

# 분할변수(분기변수) : 목표변수와 연관성이 큰 변수 

 

# 불순도는 낮아져야하고 순수도는 높아져야함.

 

#앙상블

▶불안정성

-첫번째노드에서 분리변수를 찾을 때, 서로 비슷한 에측력을 갖는 변수 다수 존재. 

-첫번째 분리변수가 바뀌면 자식노드에 포함된 데이터가 완전 달라진다

(앙상블이 나온 이유, 나무 하나만 키우니까 더 좋은예측력 가진 나무 키워볼 수 없음. )

 

▶1. 배깅 

: 여러개의 붓스트랩 데이터를 생성하고 각 붓스트랩 데이터에 예측모형(나무 하나하나를 말함)을 만든 후, 결합하여 최종 예측모형을 만드는 방법

Boostrap Aggregation

Boostrap data (복원추출 data): 붓스트랩 data는 주어진 표본으로부터 동일한 크기의 표본을 랜덤복원추출하여 뽑은 data

 (첫번째 나무)  (두번째 나무),,,,,, (n번째 나무)

    50개

-목표변수 (예측변수)

(1) 수치형 (숫자로 예측): 각 나무모형의 예측값 평균으로 확률 예측값으로 사용

(2) 범주형 (Good, Bad): 각 나무모형의 예측값을 다수결 방법으로 선택 사용

        (10개의 나무모형 중 7개가 good 3개가 bad -> 최종결정 good으로 예측)

<의사결정나무모형과 배깅의 비교>

의사결정나무모형 - 한 그루의 나무모형/ 배깅 - 여러 그루의 나무모형

-배깅이 의사결정나무보다 예측력을 크게 향상시킨다.

-계산량의 감소: 배깅에서 의사결정 나무모형 구축시, 가장 어려운 가지치기를 하지 않아도 된다. 

 

▶2.부스팅

:예측력이 약한 모형을 모아 예측력이 강한 모형을 만드는 앙상블 기법

-순차적으로 학습하며 데이터의 가중치(중요도)를 재조립

    -> 오차가 적어지도록 하는 것

    -> 잘못 분류된 data는 높은 가중치/ 잘 분류된 data는 낮은 가중치 부여

(배깅은 나무 50개를 한 번에 만드지만 얘는 하나하나씩 순차적으로 만듬.)

특징> 

      (1) 높은 정확도

      (2) 과적합이 높아져 (순차적으로 오차가 줄어들기 때문)

      (3) 이상치에 취약  

            -1) 오차적게 하는 순차적 학습

            -2) 오차가 큰 data에 가중치 크게

 

▶3. 랜덤포레스트

:배깅보다 더 많은 무작위성을 주어 예측모형을 생성한 후 이를 선형결합하여 만든 최종 학습기(예측모형:분류기:나무 한 그루) 

  (1) 예측력이 높다.

  (2) 해석이 어렵다. <- 의사결정나무(나무 한 그루)는 해석이 용이/ 의사결정나무를 여러개 합쳐놓으면 어떻게 해석할지 어렵다. 

  

   (1) 훈련data 

 Li = {yi,xi}, xi∈Rp   에 대하여 n개 data를 이용한 붓스트랩 표본

 L* = {y*, x*} i-1 ~ n 를 생성

   (2) L*에서 입력변수(input,xi)를 k(k<p)개 만 무작위로 뽑아 의사결정 나무를 생성한다. 

이 때 의사결정 나무는 정해놓은 수 단계까지 진행한다.

   (3) 이렇게 생성된 의사결정 나무를 선형결합하여 최종학습기를 만든다       L1, L2, ,,,,Ln

 

=> 랜덤포레스트는 배깅과 부스팅보다 더 정확한 예측력을 가지고 있다고 알려져있다.

-특히, 입력변수(P개)의 개수가 많을 때, 그 효과가 극대화된다

-랜덤포레스트에서 각 나무모형들을 생성할 때, 랜덤의 속성을 최대화하기 위하여 부스트랩과 입력변수에 대한 무작위 추출을 결합하는 방법을 취한다. {x1,x2,x3,,,,,,xn} <-random selection (R개)

-배깅마다 random forest를 가지치기를 하지 않아도 예측력이 좋아진다.