평가지표(Metric)

Date:     Updated:

카테고리:

태그:

AI-Interview AI-TECH-INTERVIEW의 내용을 정리한 것입니다✏️.

평가지표(Metric) (ex. RMSE, MAE, recall, precision …)

평가지표(metric)을 크게 분류를 위한 평가지표회귀를 위한 평가지표로 나눌 수 있다.

분류를 위한 평가지표

오차 행렬(confusion matrix)

confusion-matrix

오차 행렬은 모델이 예측을 하면서 얼마나 헷갈리고 있는지를 보여주는 지표이다. 주로 이진 분류에서 많이 사용하며 이진 분류에 대한 오차 행렬은 위의 그림처럼 같이 나타낼 수 있다. True Positive는 긍정으로 예측을 했는데 실제로 긍정인 경우를, False Positive는 긍정으로 예측했는데 실제로 부정인 경우를, False Negative는 부정으로 예측했는데 실제로 긍정인 경우를, True Negative는 부정으로 예측했는데 실제로 부정인 경우를 말한다. 위의 값을 바탕으로 모델이 어떤 오류를 발생시켰는지를 살펴볼 수 있다.

정확도(accuracy)

정확도는 모델의 예측이 얼마나 정확한지를 의미한다.
정확도는 (예측 결과가 동일한 데이터 개수)/(전체 예측 데이터 개수)로 계산할 수 있다.
하지만 라벨 불균형이 있는 데이터에서 정확도를 사용하면 안 된다. 예를 들면, 0과 1의 비율이 9:1인 데이터가 있다고 했을 때, 모두 0으로 예측하면 정확도가 90%가 나올 것이다. 이는 잘못된 판단이므로 정확한 판단을 위해서는 다른 지표를 사용해야 한다.

정확도는 (TN + TP) / (TN + FP + FN + TP)로 계산할 수 있다.

정밀도(precision), 재현율(recall)

정밀도와 재현율은 긍정 데이터 예측 성능에 초점을 맞춘 평가지표이다. 정밀도란 예측을 긍정으로 한 데이터 중 실제로 긍정인 비율을 말하며, 재현율은 실제로 긍정인 데이터 중 긍정으로 예측한 비율을 말한다.
오차 행렬을 기준으로 정밀도는 TP / (FP + TP)
재현율은 TP / (FN + TP)으로 계산할 수 있다.

정밀도와 재현율은 트레이드오프 관계를 갖는다. 정밀도는 FP를, 재현율은 FN을 낮춤으로써 긍정 예측의 성능을 높인다. 이 같은 특성 때문에 정밀도가 높아지면 재현율은 낮아지고 재현율이 높아지면 정밀도는 낮아진다. 가장 좋은 경우는 두 지표 다 적절히 높은 경우이다.

F1-Score

정밀도와 재현율 한 쪽에 치우치지 않고 둘 다 균형을 이루는 것을 나타낸 것이 F1-Score이다.
F1-Score는 정밀도와 재현율의 조화평균으로 계산할 수 있다.

\[F1 = \frac{2}{\frac{1}{recall} + \frac{1}{precision}} = 2 * \frac{precision * recall}{precision + recall}\]

ROC-AUC

ROC-AUC

ROC는 FPR(False Positive Rate)가 변할 때 TPR(True Positive Rate)가 어떻게 변하는지를 나타내는 곡선을 말한다. 여기서 FPR이란 FP / (FP + TN)이고, TPR은 TP / (FN + TP)으로 재현율을 말한다. 그럼 어떻게 FPR을 움직일까? 바로 분류 결정 임계값을 변경함으로써 움직일 수 있다. FPR이 0이 되려면 임계값을 1로 설정하면 된다. 그럼 긍정의 기준이 높으니 모두 부정으로 예측될 것이다. 반대로 1이 되려면 임계값을 0으로 설정하여 모두 긍정으로 예측시키면 된다. 이렇게 임계값을 움직이면서 나오는 FPR과 TPR을 각각 x와 y 좌표로 두고 그린 곡선이 ROC이다.

AUC는 ROC 곡선의 넓이를 말한다. AUC가 높을수록 즉, AUC가 왼쪽 위로 휘어질수록 좋은 성능이 나온다고 판단한다. 즉, TPR이 높고 FPR이 낮을수록 예측 오류는 낮아지기 때문에 성능이 잘 나온다 볼 수 있다.

회귀를 위한 평가지표 (MAE, MSE, RMSE, RMSLE, R Squared)

MAE(Mean Absolute Error)는 예측값과 정답값 사이의 차이의 절대값의 평균을 말한다.

\[MAE = \frac{1}{N} \sum^N_{i=1} |y_i - \acute{y_i}|\]

MSE(Mean Squared Error)는 예측값과 정답값 사이의 차이의 제곱의 평균을 말하며, MAE와 달리 제곱을 했기 때문에 이상치에 민감하다.

\[MSE = \frac{1}{N} \sum^N_{i=1} (y_i - \acute{y_i})^2\]

RMSE(Root Mean Squared Error)는 MSE에 루트를 씌운 값을 말한다.

\[RMSE = \sqrt{MSE} = \sqrt{\frac{1}{N} \sum^N_{i=1} (y_i - \acute{y_i})^2}\]

RMSLE(Root Mean Squared Logarithmic Error)는 RMSE와 비슷하나 예측값과 정답값에 각각 로그를 씌워 계산을 한다.

\[RMSLE = \sqrt{\frac{1}{N} \sum^N_{i=1} (\log(y_i+1) - \log(\acute{y_i}+1))^2}\]

R Squared는 분산을 기반으로 예측 성능을 평가하는 지표를 말한다. 정답값의 분산 대비 예측값의 분산 비율을 지표로 하며, 1에 가까울수록 정확도가 높다.

맨 위로 이동하기

Terminology 카테고리 내 다른 글 보러가기

댓글남기기