Etc/Deep Learning

3장 머신러닝 핵심 알고리즘(2) - 지도학습(결정 트리)

z.zzz 2021. 7. 20. 15:23

3.1.3 결정 트리

결정트리란?

데이터를 이진 분류(0 또는 1)하거나 결괏값을 예측하는 분석 방법                              //결과 모델이 트리 구조여서 결정 트리라고 함

결정트리를 사용하는 이유와 적용환경

 - 사용하는 이유 : 주어진 데이터 분류

 - 적용 환경 : 이상치가 많은 값으로 구성된 데이터셋을 다룰때 사용하기 좋음. 머신 러닝이 어떤 방식으로 의사결정하는지 알고싶을때 유용

                                                                                                                    (결정 과정이 시각적으로 표현되기 때문)

결정 트리 프로세스 + 사례

데이터를 1차 분류

→ 각 영역의 순도는 증가, 불순도와 불확실성은 감소하는 방향으로 학습 진행                   

     

+ 순도와 불순도

순도=균질성 : 범주 안에서 같은 종류의 데이터만 보여 있는 상태

불순도 : 서로 다른 데이터가 섞여있는 상태

((불확실성 = 데이터 분류에 있어서 a인지 b인지 불확실한 판단을 의미?))

정보 획득(Information gain) : 순도 증가, 불확실성 감소하는 것


결정트리에서 불확실성 계산

방법1. 엔트로피(Entropy)

확률 변수의 불확실성을 수치로 나타낸 것

엔트로피 = 불확실성

예) 엔트로피 값이 0, 0.5일때
     엔토로피 =  0  = 불확실성 최소 = 순도 최대
     엔토로피 = 0.5 = 불확실성 최대 = 순도 최소                //불확실성과 순도는 역의 관계

 

레코드 m개가 A 영역에 포함되어 있을 때 엔트로피 정의                                         

  //레코드(=인스턴스) : 분류 작업의 입력 데이터

 

예) 동전을 두 번 던져 앞면이 나올 확률이 1/4, 뒷면이 나올 확률이 3/4일때 엔트로피
      - 레코드(입력데이터) : 2
      - Pk : 1/4, 3/4

 

 

방법 2. 지니 계수(Gini index)

불순도를 측정하는 지표. 즉 원소 n개 중에서 임의로 두 개를 추출했을 때 추출된 두 개가 서로 다른 그룹에 속해 있을 확률

(데이터의 통계적 분산 정도를 정량화해서 표현한 값)

 

지니계수 공식

 * 로그를 계산할 필요X → 엔트로피보다 계산이 빨라 결정트리에서 많이 사용


예제 - 타이타닉 승객의 생존 여부 예측

 

혼동 행렬

알고리즘 성능평가에 이용

실제 값 예측 값
Positive Negative
Positive TP FN
Negative FP TN

True Positive : 모델이 1이라고 예측 & 실제값도 1인 경우

True Negative : 모델이 0이라고 예측 & 실제값도 0인 경우

False Positive : 모델이 1이라고 예측 but 실제값은 0인 경우

False Negative : 모델이 0이라고 예측 but 실제값은 1인 경우                               //true · false(앞) : 실제 값     //positive · negative(뒤) : 예측값

 

혼동 행렬 훈련 결과

해석 : 잘못된 예측보다 정확한 예측(네모칸)의 수치가 더 높으므로 잘 훈련됨


랜덤 포레스트 : 결정 트리를 좀 더 확대한 것(결정 트리를 여러 개 묶어놓은 것)