s5unnyjjj's LOG
ML - Theory #10 : 오차행렬(Confusion matrix), ROC 곡선 본문
ML - Theory #10 : 오차행렬(Confusion matrix), ROC 곡선
s5unnyjjj 2021. 5. 7. 22:23오차 행렬 (Confusion matrix)
일반적으로 분류문제의 경우, 정화곧(accuracy)를 기준으로 성능을 평가하게 된다. 정확도는 (클래스를 올바르게 분류한 데이터의 수)/(전체 데이터의 수)로 계산한다. 그러나 정확도를 기준으로 판단할 경우 클래스가 불균등한 문제에서 원하지 않는 결과를 얻게 된다. 예를 들면 아래와 같은 상황이다.
이러한 한계점을 해결하기 위하여 분류 모델의 성능을 평가하기 위해 사용되는 테이블인 오차 행렬(Confusion matrix)를 사용한다.
- TP : 맞춘경우 => 실제값이 1이고, 예측값도 1인 경우
- FN : 틀린경우 => 실제값이 1이고, 예측값도 0인 경우
- FP : 틀린경우 => 실제값이 0이고, 예측값도 1인 경우
- TN : 맞춘경우 => 실제값이 0이고, 예측값도 0인 경우
정확도 (Accuracy)
모델이 얼마나 정확한지를 평가하는 척도이며, 식은 아래와 같다.
정밀도 (Precision)
모델의 예측값 중, 실제값과 같은 데이터 비율을 의미하며, 식은 아래와 같다.
재현도 (Recall)
모델의 실제값 중, 모델의 예측값과 같은 데이터 비율을 의미하며, 다른 말로 Sensitivity, TPR(True Positive Rate)라고도 표현한다. 식은 아래와 같다.
특이도 (Specificity)
재현도와 반대되는 개념으로, 다른 말로 Selectivity, TNR(True Negative Rate)라고도 표현한다. 식은 TN / (TN+FP)이다.
F1-score
precision과 recall로 이루어졌으며, 식은 아래와 같다.
ROC 곡선 (Receiver Operating Characteristic)
모델의 성능을 평가하기 위해, TPR과 FPR를 이용하여 시각화한 것이다. 아래 그림에서 회색으로 색칠되어 있는 면적을 AUROC(Area under the ROC curve) 또는 AOC 또는 AUC (Area Under Curver)라고 표현하며, ROC 커브와 x축이 이루고 있는 면적의 넓이를 의미한다. 또한 해당 넓이가 1에 가까울 수록 효율적인 모델로 판단한다.
∵ 분류 모델의 성능을 평가함에 있어서 accuracy는 불정확하므로, confusion matric를 사용하여 성능을 평가한다.
>> 위 내용은 필자가 공부하여 직접 정리한 내용이다.
>> 부족한 점이 많을 수 있기에 잘못된 내용이나 궁금한 사항이 있으면 댓글 달아주시기 바랍니다.
>> 긴 글 읽어주셔서 감사합니다.