일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 데이터시각화
- word2vec
- ggplot
- 데이터분석
- lstm
- R시각화
- R프로그래밍
- Python
- 그래프시각화
- 기계학습
- 빅데이터
- 빅데이터처리
- Hadoop
- AI
- pandas
- HIVE
- 그래프
- SQL
- Deeplearning
- 데이터
- CNN
- 머신러닝
- 하둡
- 데이터처리
- NLP
- 주가예측
- R그래프
- r
- 딥러닝
- 자연어처리
- Today
- Total
욱이의 냉철한 공부
[통계모델링] 분류모형 성능평가 본문
* 자료출저 및 참고강의
명지대 산업경영공학과 데이터마이닝 김도현 교수님 강의
패스트캠퍼스 올인원 패키지(금융공학/퀀트) 장순용 강사님 인터넷 강의
* 목차
분류모델링 성능평가
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. 베이즈 정리 해석
'데이터과학 > 개념 : Statistics' 카테고리의 다른 글
[통계모델링] 로지스틱회귀분석 (0) | 2020.04.19 |
---|---|
[통계모델링] 데이터마이닝 모델링 개요 (0) | 2020.04.19 |
[통계모델링] 선형회귀분석 : 종류 (0) | 2020.04.19 |
[통계모델링] 선형회귀분석 : 개요, 해 도출 (0) | 2020.04.19 |
[통계모델링] 선형회귀분석 : 모형 진단, 모평 평가, 모형 선택 (0) | 2020.04.19 |