오답노트
[RS] 추천시스템 평가지표 - 정확도 지표 본문
정확도 지표
분류문제에서 자주 사용되는 지표들을 의미한다. 추천시스템에서는 제공하는 추천 결과 중에서 실제로 사용자가 선호하는 아이템의 비율을 측정하는 지표다. 대표적으로 정확도 (Accuracy), 정밀도 (Precision), 재현율 (Recall), F1-Score이 존재한다.
정확도 (Accuracy)
정확도는 모든 경우에서 예측과 실측이 모두 맞았을 때를 의미한다. 하지만 데이터가 편향되어 있다면 그 신뢰성이 많이 떨어진다. 예를들어 True가 일반적인 Domain에서 가끔 False가 등장한다고 했을 때, 모델이 대부분을 True로 예측할 것이다. 그렇다면 True에 대한 정확도는 높지만 False에 대한 정확도는 낮다는 단점이 있다.
정밀도 (Precision)
정밀도는 예측이 True인 것들 중에 실측이 True인 경우를 의미한다. 이는 모델의 입장에서 실측을 바라보는 관점이다.
정밀도에서 단점은 어떤 요소로 True를 정확히 예측할 수 있다면, 그것만을 예측하고 나머지 요소는 FN으로 보류 해버린다면 정밀도는 매우 높은 확률로 나타내게 된다. 예를 들면 30개 중에 20개가 True였는데 모델은 이 중에 2개만 True로 예측한다면 정밀도는 매우 높게 나올 것이다. (2 / (2 + 0) = 1)
재현율 (Recall)
재현율은 실측 값들 중 True로 예측한 경우를 의미한다. 이는 실측의 관점에서 모델을 바라보는 관점이다. 재현율은 데이터가 불균형일 때 신뢰도하기 힘들다. 만약 모델이 모든 샘플을 부정으로 예측하고, 부정적인 클래스에 속한 샘플을 모두 맞춘 경우에도 재현율이 높아지기 때문이다.
정밀도와 재현율의 Trade-Off
재현율은 긍정적인 클래스에 속한 모든 샘플을 찾는 것이 목적이기 때문에, 모델이 긍정 예측을 잘못한 샘플도 재현하게 됩니다. 이러한 경우에는 정밀도가 낮아질 수 있습니다. 따라서, 재현율과 정밀도 사이에는 trade-off 문제가 발생합니다.
예를 들어, 의료 진단 분야에서 양성/음성 판정을 내리는 분류 모델을 만든다고 가정해보자.
이 때, 모델이 실제로 양성인 경우를 잘 찾아내는 것이 중요하다고 생각해보자. 즉, 건강한 사람을 양성으로 오진하는 경우보다는 질병이 있는 사람을 음성으로 오진하는 경우가 더 치명적이기 때문이다. 따라서, 이 경우에는 재현율이 중요한 평가 지표다.
그러나, 모델이 모든 경우에 양성으로 판정하는 경우도 있을 수 있다. 이러한 경우에는 정밀도가 낮아진다. 정밀도는 모델이 양성으로 판정한 것 중에서 실제로 양성인 경우의 비율을 나타내므로, 모델이 양성으로 판정한 것 중에서 실제로 양성인 경우가 적으면 정밀도가 낮아진다.
F1-Score
위에서 정밀도와 재현율의 Trade-Off 관계에 대해 살펴봤다. 즉 두 지표를 모두 살펴가며 모델을 만들어야한다는 것.F1-Score는 정밀도아 재현율을 모두 고려할 수 있는 지표다.
F1-Score는 정밀도와 재현율의 조화평균으로 만들어진 지표다.
산술평균은 두 지표에 대한 편차를 고려하지 않고 평균을 나타내지만, 조화평균은 두 지표에 대한 편차를 고려하여 평균을 나타낼 수 있다.
따라서 더 영향력이 강한 지표에 휩쓸리지 않고 적절한 지표를 표현 가능하다.
'Python > ML' 카테고리의 다른 글
[RS] 추천시스템 평가지표 - 순위 지표 (0) | 2023.03.04 |
---|---|
[RS] 협업 필터링 (Collaborative Filtering) (0) | 2023.03.03 |
[RS] 컨텐트 기반 필터링 (Content-based Filtering) (0) | 2023.03.02 |
[ML] Boosting - CatBoost 실습 (2) | 2022.09.11 |
[ML] Boosting - CatBoost 이론 (0) | 2022.09.09 |