욱이의 냉철한 공부

[통계모델링] 분류모형 성능평가 본문

데이터과학/개념 : Statistics

[통계모델링] 분류모형 성능평가

냉철한 욱 2020. 4. 19. 16:33

* 자료출저 및 참고강의

명지대 산업경영공학과 데이터마이닝 김도현 교수님 강의

패스트캠퍼스 올인원 패키지(금융공학/퀀트) 장순용 강사님 인터넷 강의

 


* 목차

분류모델링 성능평가

1. 분류모형의 성능평가

2. 성능평가 : 혼동행렬(confusion matrix) : 오분류율, 정확도(Accuracy)

3. 성능평가 : 혼동행렬(confusion matrix) : 민감도(Sensitivity), 특이도(Specificity), 정밀도(Precision)

4. 성능평가 : ROC 곡선

5. 성능평가 : 두 예측모형의 비교검정(McNemar)

6. 베이즈정리 해석


1. 분류모형의 성능평가

- 분류모형의 성능평가

일반적으로 분류 및 예측기법은 다양한 방법이 존재함

그런데 같은 방법에서도 선택사항에 따라 전혀 다른 결과로 초래하는 많은 선택사항이 존재함

- 분류정확도

일반적으로 분류모형에서는 오분류오차(misclassification error)로 성능(성과)를 판단

오분류란 관찰치가 어느 한 집단(A)에 속하지만, 모형은 그 관찰치를 다른 집단(B)에 소속된 관찰치로 분류하는 것을 말함.

오분류없는 모델이 가장 좋은 모델이지만, 실 데이터에는 실제 필요한 데이터를 모두 가지고 있지 않은 경우가

대다수이고, 잡음(noise) 때문에 오분류없는 모델은 현실세계에서는 불가능

2. 혼동행렬(정오분류표, confusion matrix) : 오분류율, 정확도(Accuracy)

- 혼동행렬(정오분류표, confusion matrix)

=> 대부분 분류정확도(accuracy measures)는 혼동행렬(정오분류표, confusion matrix)를 이용하여 측정

분류모형이 특정데이터 집합에 대해 수행한 정분류와 오분류의 요약정보를 제공

=> 실제데이터 환경에서는 분류오차가 정확한 추정치를 위해서

평가용데이터으로부터 계산된 혼동행렬(정오분류표, confusion matrix) 를 사용

- 혼동행렬(정오분류표, confusion matrix) 도출순서

1) 데이터 사례추출 방식으로 학습용과 평가용 집합으로 구분함

2) 학습용 데이터를 사용하여 평가모형을 구축하고, 평가용 데이터에 적용

3) 그 결과 평가용 집합의 관찰치에 대한 분류예측 결과 도출

4) 분류행렬표의 분류결과로 요약함

=> 학습용 데이터에 대해서도 분류행렬표의 결과를 요약할 수 있지만,

      과적합 위험성 때문에 사용하지 않음.

- 추정오분류 오차(misclassification error), 전체 오차율(overall error rate), 오분류율

분류모형은 정확한 분류의 정도, 부정확한 분류의 정도로 측정이 가능함

이것은 부정확한 분류의 정도로 측정한 것.

ex) 오분류율 : (10+42)/200 = 26/100 = 26%

- 정확도(Accuracy)

분류모형에서 정확한 분류의 정도

예측된 유형이 실제 유형과 일치하는 비율

ex) 정확도 : (134+14)/200 = 74/100 = 74%

- 정확도(Accuracy)의 딜레마

정확도만으로는 평가가 불가능한 상황 발생

예를 들어 은행 대출고객 중에서 1%~3%만이 신용불량인 경우

만약 모두를 신용양호로 예측해도, 정확도는 매우 높음.

하지만 정작 중요한 1%~3%의 신용불량자는 검출하지 못한다.

ex) 정확도는 95%로 매우 높지만, 실제 신용불량인 3명 중에서 2명이나 잘못 예측한 상황이 초래

신용불량(실제)

신용최고(실제)

신용불량(예측)

1

2

신용최고(예측)

2

95

=> 해결책 : 다른 성능의 척도들이 있다. 아래 확인

3. 혼동행렬(정오분류표, confusion matrix)

: 민감도(Sensitivity), 특이도(Specificity), 정밀도(Precision)

Actual 0

Actual 1

Predicted 0

TN

FN

Predicted 1

FP

TP

1) 민감도(Sensitivity), 진양성률(true postivie rate), 재현율(recall)

positive 집단내 관측치들을 positive 집단으로 정확하게 분류한 확률

ex) '파산기업'을 '파산기업'으로 예측

=> 실제 1(postive) 중에서 정확하게 1(postive)로 예측된 비율 : TP/(TP+FN)

2) 특이도(Specificity), 진음성률(true negative rate)

negative 집단내 관측치들을 negative 집단으로 정확하게 분류한 확률

ex) '우량기업'을 '우량기업'으로 예측

=> 실제 0(negative)중에서 정확하게 0(negative)으로 예측된 비율 : TN/(TN+FT)

3) 정밀도(Precision)

positive 집단으로 예측된 관측치중에서 실제 positive 집단일 확률

=> 실제 1(postive)중에서 정확하게 1(postive)으로 예측된 비율 : TP/(TP+FT)

* 성능의 척도

4. 성능평가 : ROC(Receiver Operating Characteristic) 곡선

- ROC(Receiver Operating Characteristic) 곡선

Y축 : 민감도(Sensitivity)(진양성률(true postivie rate), 재현율(recall))

X축 : False Postive Rate(1-특이도(Specificity))

- ROC(Receiver Operating Characteristic) 곡선 예시

- ROC(Receiver Operating Characteristic)곡선에서 C(분류기준값, 기준확률)의 증감형태

- ROC(Receiver Operating Characteristic)곡선AUC(AUROC : Area Under an ROC Curve)

AUC : ROC곡선 아래 영역의 면적을 나타냄

AUC의 크기로 그 성능을 평가할 수 있음.

AUC가 클수록(1에 가까울 수록) 성능이 더 좋은 것.

5. 두 예측모형의 비교검정(McNemar)

- 두 모델의 예측결과 차이를 검정

(a+b = a+c)(c+d = b+d)를 검정 : b = c검정으로 대체

H0(귀무가설) : b = c, 두 모델 사이에 차이가 없음.

H1(대립가설) : b != c, 두 모델 사이에 차이가 있음.

- 검정 : 검정통계량 *이해필요

자유도 1인 카이제곱확률을 사용하여 검정

6. 베이즈 정리 해석