오차행렬을 confusion matrix (혼동행렬)
개발된 모델을 평가하기 위해서는 오차행렬을 사용한다. 오차행렬은 실제로 참인지 거짓인지, 예측을 긍정으로 했는지, 부정으로 했는지에 따라 네 개의 경우의 수로 구분한 표이다. 머신러닝 / 딥러닝 모델을 평가하는데 중요한 기준을 제공한다.
* 분류 기준은 예측값!
참양성(TP) : 예측이 참(양성)이고 실제값도 참(양성) 일치
거짓양성(FP) : 예측이 참(양성)이고 실제값은 거짓(음성) 불일치
거짓음성(FN) : 예측이 거짓(음성)이고 실제값은 참(양성) 불일치
참음성(TN) : 예측이 거짓(음성)이고 실제값도 거짓(음성) 일치
모델 예측 결과 (평가 대상) |
|||
참 (양성) | 거짓 (음성) | ||
실제 측정 결과 (평가 기준) |
참 (양성) | TP (참양성) | FN (거짓음성) |
거짓 (음성) | FP (거짓양성) | TN (참음성) |
오차행렬은 모델 예측이 얼마나 잘된 예측인지를 판단하는 데 중요한 기준을 제공한다. 오차행렬로부터 모델의 우수성을 평가하는 아래와 같은 여러 지표를 도출할 수 있다.
Accuracy (정확도 또는 정분류율)
전체 데이터중 정확하게 예측한 데이터의 비율
(TP + TN) / (TP + FP +TN + FN)
Error Rate (오분류율)
전체 데이터 중 잘못 예측한 데이터의 비율, 1- accruracy
(FP + FN) / (TP + FP +TN + FN)
Precision (정밀도)
참이라고 예측한 것(TP + FP) 중 실제 참(TP)인 정도
TP / (TP + FP)
Recall (재현율) or Sensitivity (민감도) 또는 참 긍정률
실제값이 참인 관측값(TP+FN) 중 참이라고 바르게 예측(TP) 한 정도
TP / (TP + FN)
Specificity (특이도)
실제값이 거짓인 관측값(FP + TN) 중 거짓으로 바르게 예측(TN)한 정도
TN / (FP + TN) : 실제 음성인데 양성으로 분류된 비율 (참음성의 비율)
FP-Rate (거짓 긍정률)
실제값이 거짓인 관측값 중 참이라고 잘못 예측(FP)한 정도1-특이도
FP / (TN + FP)
F1 score
2 / {1/정밀도 + 1/재현율}
정밀도와 민감도(재현율)의 조화평균으로 0~1 사이 값을 가짐
정밀도와 민감도 사이의 trade-off로서, 정밀도가 증가하면 민감도 감소, 민감도 증가하면 정밀도 감도
F-score 는 정밀도와 민감도가 한쪽으로 치우치지 않을 때 높은 값을 가짐
정밀도, 민감도, F-socre 를 종합적으로 분석하여 모델 성능을 판단해야 함.