Robotics & AI

머신러닝 분류 모델(Classification)의 평가 지표 본문

AI & MLOps

머신러닝 분류 모델(Classification)의 평가 지표

필로9 2024. 1. 19. 00:39

머신러닝에서 분류 모델의 평가 지표는 대표적으로 정확도(Accurcy), 정밀도(Precision), 재현율(Recall), F1 Score, ROC/AUC, 혼동행렬(Confusion Matrix)등이 있습니다. 

 

각각의 지표는 모델의 성능을 다른 관점에서 평가합니다. 이들 지표를 이해하기 위해서는 기본적으로 혼동 행렬(Confusion Matrix)의 개념을 알아야 합니다. 혼동 행렬은 실제 클래스(양성/음성)와 모델이 예측한 클래스(양성/음성)를 비교한 표입니다

혼동 행렬의 기본 요소는 아래와 같습니다.

True Positives (TP): 실제 양성이며, 모델도 양성으로 정확하게 예측한 케이스입니다. 
False Positives (FP): 실제 음성이지만, 모델이 양성으로 잘못 예측한 케이스입니다.
True Negatives (TN): 실제 음성이며, 모델도 음성으로 정확하게 예측한 케이스입니다.
False Negatives (FN): 실제 양성이지만, 모델이 음성으로 잘못 예측한 케이스입니다.

 

위의 용어들이 어려울수 있는데 혼동행렬의 기본요소를 의료 진단 테스트를 가지고 설명을 해보겠습니다. 암 진단 테스트에서 암이 있으면 '양성' 암이 없으면 '음성'을 의미합니다.

 

True Positives (TP)는 모델이 '암이 있다'고 예측하고,

실제로 환자가 암이 있게 예측하여 암 환자를 정확히 암 환자로 진단한 케이스입니다.

 

False Positives (FP)는 모델이 '암이 있다'고 예측했지만,

실제로는 암이 없는 예측하여 건강한 사람을 잘못해서 암 환자로 진단한 케이스입니다.

 

True Negatives (TN)는 모델이 '암이 없다'고 예측하고,

실제로 환자가 암이 없게 예측하여 건강한 사람을 정확히 건강한 사람으로 진단한 케이스입니다.


False Negatives (FN)는 모델이 '암이 없다'고 예측했지만,

실제로는 암이 있게 예측하여 암 환자를 잘못해서 건강한 사람으로 진단한 케이스입니다.

 

정확도(Accurcy)는 모델이 올바르게 예측한 케이스의 비율을 말합니다. 예를 들면 100명의 환자 중 80명을 정확하게 진단했다면, 정확도는 80%입니다. 수식은 아래와 같습니다.

 

정밀도 (Precision)는 모델이 암 환자라고 진단한 사람들 중 실제로 암 환자인 비율입니다. 예를 들면 50명을 암 환자로 진단했는데, 이 중 40명만 실제로 암이라면 정밀도는 80%입니다. 수식은 아래와 같습니다.

 

재현율 (Recall)은 실제 암 환자 중 모델이 올바르게 진단한 비율입니다. 예를 들면 실제 암 환자 60명 중 모델이 48명을 올바르게 진단했다면, 재현율은 80%입니다. 수식은 아래와 같습니다.

 

F1 Score는 정밀도와 재현율의 조화 평균으로, 두 지표 사이의 균형을 나타냅니다.정밀도가 80%, 재현율이 80%라면 F1 Score는 80%입니다. 암을 놓치지 않으면서도 (높은 재현율), 잘못된 암 진단 (낮은 정밀도)을 최소화하는 모델의 능력을 평가합니다.암 진단에서는 잘못된 양성 진단(FP)과 실제 양성을 놓치는(FN) 것 모두 심각한 결과를 초래할 수 있습니다. 따라서 두 요소의 균형이 중요합니다.

 

특이도는 실제 음성 중 모델이 음성으로 올바르게 예측한 비율입니다. 특이도는 모델이 얼마나 음성케이스, 즉 질병이 없는 경우를 정확하게 예측하는지를 나타냅니다. 특히 의료 진단에서 중요한 지표인데, 이는 건강한 사람을 잘못해서 질병이 있다고 진단하는 것(즉, 건강한 사람에게 불필요한 스트레스나 치료를 가하는 것)을 최소화하는 데 도움이 됩니다

 

ROC Curve and AUC (Area Under the Curve)는 ROC 곡선은 모델의 진단 능력을 여러 임계값에서 평가하고, AUC는 이 곡선 아래의 면적으로, 모델의 전체적인 성능을 나타냅니다.완벽한 모델은 AUC가 1.0이고, 무작위 추측은 0.5의 AUC 값을 가집니다.
예를 들면 AUC가 0.92라면, 모델은 대부분의 경우 암 환자와 건강한 사람을 잘 구분한다고 볼 수 있습니다.