머신 러닝 모델 평가: 정확도, 정밀도, 재현율 이해하기
F-Lab : 상위 1% 개발자들의 멘토링
AI가 제공하는 얕고 넓은 지식을 위한 짤막한 글입니다!

머신 러닝 모델 평가의 중요성
머신 러닝 모델을 개발할 때, 단순히 모델이 학습 데이터에 잘 맞는다고 해서 그 모델이 실제 세계에서도 잘 작동할 것이라고 가정할 수 없습니다. 왜냐하면 모델이 학습 데이터에 과적합(Overfitting)되어 있을 수 있기 때문입니다. 따라서, 모델의 일반화 능력을 평가하기 위해 다양한 평가 지표를 사용합니다.
정확도(Accuracy), 정밀도(Precision), 재현율(Recall)은 분류 문제에서 모델 성능을 평가하는 데 널리 사용되는 지표들입니다. 이 지표들은 모델이 얼마나 잘 예측하는지, 특히 양성 클래스를 얼마나 잘 예측하는지를 나타내는 중요한 척도입니다.
이러한 평가 지표들을 이해하고 적절히 사용하는 것은 모델의 성능을 객관적으로 평가하고, 실제 문제에 적용할 때 모델의 유용성을 판단하는 데 필수적입니다.
예를 들어, 의료 진단에서는 잘못된 양성 예측(즉, 건강한 사람을 병이 있다고 예측)의 비용이 매우 높을 수 있습니다. 이 경우, 정밀도가 높은 모델을 선택하는 것이 중요합니다.
반면, 스팸 메일 필터링과 같은 경우에는 스팸 메일을 놓치는 것(즉, 재현율이 낮음)이 큰 문제가 될 수 있습니다. 따라서, 재현율이 높은 모델을 선택하는 것이 더 중요할 수 있습니다.
정확도(Accuracy)의 이해
정확도는 전체 예측 중 올바른 예측의 비율을 나타냅니다. 이는 가장 직관적으로 모델 성능을 이해할 수 있는 지표입니다. 하지만, 데이터에 클래스 불균형이 있을 경우 정확도만으로는 모델의 성능을 제대로 평가하기 어렵습니다.
예를 들어, 100개의 데이터 중 90개가 양성 클래스이고 10개만이 음성 클래스인 경우, 모든 데이터를 양성으로만 예측하는 모델도 정확도가 90%가 됩니다. 이는 모델이 실제로는 아무런 학습을 하지 않았음에도 불구하고 높은 정확도를 보일 수 있음을 의미합니다.
따라서, 정확도는 다른 평가 지표와 함께 사용될 때 모델의 성능을 더 잘 이해할 수 있습니다.
정밀도(Precision)와 재현율(Recall)의 이해
정밀도는 양성으로 예측된 결과 중 실제로 양성인 비율을 나타냅니다. 이는 모델이 얼마나 정확하게 양성 클래스를 예측하는지를 나타내는 지표입니다.
재현율은 실제 양성 중 모델이 양성으로 예측한 비율을 나타냅니다. 이는 모델이 실제 양성 클래스를 얼마나 잘 찾아내는지를 나타내는 지표입니다.
정밀도와 재현율은 서로 상충하는 관계가 있을 수 있습니다. 즉, 정밀도를 높이려고 하면 재현율이 낮아질 수 있고, 반대로 재현율을 높이려고 하면 정밀도가 낮아질 수 있습니다.
따라서, 실제 문제에 따라 정밀도와 재현율 중 어떤 것을 더 중요하게 여길지 결정하고, 모델을 그에 맞게 최적화해야 합니다.
예를 들어, 아래 코드는 정밀도와 재현율을 계산하는 방법을 보여줍니다.
from sklearn.metrics import precision_score, recall_score # 예측값과 실제값 y_pred = [0, 1, 1, 0, 1] y_true = [1, 1, 1, 0, 0] # 정밀도와 재현율 계산 precision = precision_score(y_true, y_pred) recall = recall_score(y_true, y_pred) print("Precision:", precision) print("Recall:", recall)
이 코드는 sklearn 라이브러리의 precision_score와 recall_score 함수를 사용하여 정밀도와 재현율을 계산합니다.
결론
머신 러닝 모델을 평가할 때 정확도만으로는 충분하지 않습니다. 특히, 클래스 불균형이 있는 경우에는 모델의 성능을 오해할 수 있습니다. 따라서, 정밀도와 재현율과 같은 다른 평가 지표를 함께 고려해야 합니다.
모델의 목적과 문제의 특성에 따라 정밀도와 재현율 중 어떤 것을 더 중요하게 여길지 결정하고, 모델을 그에 맞게 최적화하는 것이 중요합니다.
본 글을 통해 머신 러닝 모델의 평가 지표인 정확도, 정밀도, 재현율에 대한 이해를 돕고, 이를 통해 보다 정확하게 모델의 성능을 평가할 수 있기를 바랍니다.
이 컨텐츠는 F-Lab의 고유 자산으로 상업적인 목적의 복사 및 배포를 금합니다.