[지도학습] - 성능 평가

joonsooan·2023년 7월 18일
1

데이터 분석

목록 보기
2/2

지도학습 모델의 성능을 평가할 때 혼동행렬과 ROC & AUC 곡선을 이용할 수 있다.

❓혼동행렬

혼동행렬은 모델의 성능을 평가할 때 사용되는 지표로, 예측 값이 실제 관측 값을 얼마나 정확히 예측했는지 보여주는 행렬이다.

혼동행렬에는 TP(True Positive), TN(True Negative), FP(False Positive), FN(False Negative) 4가지의 경우가 존재한다.

암을 예시로 들면,

TP는 암에 걸린 것으로 예측했는데 실제로 암에 걸린 경우,
TN은 암에 걸리지 않은 것으로 예측했는데 실제로 안 걸린 경우,
FP는 암에 걸린 것으로 예측했는데 실제로 안 걸린 경우,
FN은 암에 걸리지 않은 것으로 예측했는데 실제로 걸린 경우이다.

정확도(Accuracy)

혼동행렬에서 정확도란 예측이 현실에 부합할 확률이다.

TP+TNTP+TN+FP+FNTP + TN \over TP + TN + FP + FN

하지만 정확도는 한계점이 존재하는데, 먼저 FN(False Negative)을 줄이는 것이 FP(False Positive)를 줄이는 것보다 더 중요한 경우가 있을 수 있다(반대의 경우도 마찬가지).

또한 Class 중 한 가지의 비율이 놓은 경우 모델의 성능이 진짜로 우수한 것인지 판단하기 어렵다.

정밀도(Precision)

정밀도는 모델이 Positive라고 분류한 것 중 실제 값이 Positive인 비율이다. 주로 FP를 줄이는 것이 목표일 때 사용한다.

TPTP+FPTP \over TP + FP

하지만 모델의 예측 결과가 Negative일 때(True Negative) 이에 대한 정보를 알아낼 수 없다.

재현율(Recall)

재현율은 현실이 Positive일 때 예측 결과도 Positive일 확률이다. 주로 FN을 줄이는 것이 목표일 때 사용한다.

TPTP+FNTP \over TP + FN

정밀도와 마찬가지로 현실의 결과가 Negative일 때(True Negative) 이에 대한 정보를 알아낼 수 없다.

정밀도(Precision) vs 재현율(Recall)

정밀도와 재현율은 Trade-off 관계, 즉 하나가 증가하면 다른 하나는 감소하는 관계이다.

f1-score

불균형한 데이터에서 정밀도와 재현율을 이용한 f1-score이라는 평가지표를 사용할 수 있다. f1-score는 정밀도와 재현율의 조화평균으로, 식으로 나타내면 다음과 같다.

2(PrecisionRecall)Precision+Recall2(Precision * Recall) \over Precision + Recall

특이도(Specificity)

특이도는 현실이 실제로 부정일 때 예측 결과도 부정적일 확률이다. 특이도가 높다는 것은 현실이 부정일 때 그 예측도 잘 이루어지고 있다는 의미이다.

TNTN+FPTN \over TN + FP

하지만 현실이 긍정일 때(True Positive)의 평가 정보를 알 수 없는 한계점이 있다.

📈 ROC & AUC 곡선

ROC 곡선

ROC 곡선은 False Positive Rate(1 - specificity)을 x축, True Positive Rate(recall)을 y축으로 하여 둘 간의 관계를 표현한 그래프이다. 그래프가 좌측 상단으로 가까이 갈수록 성능이 우수하다.

이미지 출처: https://www.geeksforgeeks.org/auc-roc-curve/

AUC

AUC는 Area Under the Curve라는 뜻으로, ROC 곡선 아래의 면적을 의미한다. AUC가 높다는 것은 모델의 성능이 뛰어나다는 의미이고, 최소값은 0.5(기울기가 1인 직선)이다.

본 포스트는 OUTTA AI 부트캠프 2023 자료를 참고하여 작성된 글입니다

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

정말 잘 읽었습니다, 고맙습니다!

답글 달기