ROC곡선 vs P-R곡선

ZZY·2022년 6월 17일
0

개인공부

목록 보기
1/3

참고한 자료

ROC 곡선

Receiver Operating Characteristics (수신자 조작 특성)
Sensitivity(Recall)와 1-Specificity의 관계를 나타낸다.

▶ 민감도 : TP/(TP+FN)
실제로 양성인 데이터들에 대해 모델이 양성이라 예측한 비율
▶ 1-특이도 : 1-TN/(FP+TN) = FP/(FP+TN)
실제로 음성인 데이터들에 대해 모델이 양성이라 예측한 비율

P-R 곡선

Precision과 Racall의 관계를 나타낸다.

▶ 정밀도 : TP/(TP+FP)
모델이 양성이라 예측한 데이터들 중 실제로 양성인 데이터의 비율
▶ 재현율 : TP/(TP+FN)
실제로 양성인 데이터들에 대해 모델이 양성이라 예측한 비율


▲ 이미지1

이미지1

class 0은 음성, class 1은 양성을 나타낸다.
prediction score가 threshold보다 높은 데이터만을 양성이라 예측하는 모델을 시각적으로 표현한 자료로서; 왼쪽은 threshold에 따라 예측결과가 변화하는 과정을, 오른쪽은 threshold에 따라 ROC 및 PR이 변화하며 곡선을 그리는 과정을 나타낸다.
threshold가 낮을 때는 양성은 양성으로 잘 분류하지만 음성까지 양성으로 분류함
threshold가 높을 때는 음성은 음성으로 잘 분류하지만 양성까지 음성으로 분류함

  • ROC
    threshold가 낮을 수록 ROC=(1, 1)에 가까워진다. 즉 TP가 높지만 FP도 높다.
    threshold가 높을 수록 ROC=(0, 0)에 가까워진다. 즉 FP가 낮지만 TP도 낮다.
  • PR
    threshold가 낮을 수록 민감도는 1에 가깝고 정밀도는 0.5에 가까워진다 된다.
    (선택지가 ①과 ②만이 존재하는 이지선다 시험에서 무조건 ①만 찍어도 반은 맞추는 것과 같다.)
    threshold가 높을 수록 민감도는 0에 가깝고 정밀도는 1에 가까워진다.


▲ 이미지2

이미지2

※ 혼동행렬 기반 평가지표의 특징
모든 지표가 A/(A+B)의 형태로서 A보다 B의 변화에 민감하다. 이는 곧 분모에 영향을 많이 받는다고 볼 수 있으므로 분모의 특성을 이해하면 지표의 특성에 대해서도 이해할 수 있다.

  • ROC곡선 : 민감도(y축)는 양성GT, 1-특이도(x축)는 음성GT가 분모로 들어가며 모델의 성능이 분모에 영향을 주지 못하므로 양성음성의 비율과 관계없이 언제나 일정한 수치를 가진다. 따라서 같은 모델에 양성 음성의 분포만 바꿔 각각 추론시켰을 때 ROC은 항상 일정한 곡선을 그린다. 다시말해 양vs음 분포에 영향을 받지 않고 순수하게 모델의 성능만을 나타내는 지표라고 볼 수 있다.

  • P-R곡선 : 정밀도의 분모가 GT가 아닌 Pred이므로 양음 비율이 바뀌면, 특히 음성이 늘어나서 음성을 양성으로 잘못 예측하는 FP가 늘어나면 분모(Pred)가 크게 변하게 된다. 이는 곧 양vs음 분포에 따라 곡선이 쉽게 바뀌는 지표라는 것을 의미한다. 이미지2의 (c)와 (d)에서 FP가 10배 증가했을 때 P-R곡선이 극적으로 바뀌는 모습을 볼 수 있다.

결론

ROC 곡선의 경우 클래스 간 비율에 상관없이 모델 성능을 일정하게 반영한다.
P-R 곡선은 클래스 간 불균형이 심할 때 그에 따른 모델의 대응력, 즉 class imbalance에 얼마나 robust한지를 반영한다.

그러나 양성보다 음성이 훨씬 많더라도 무조건 P-R곡선이 좋은 것은 아니다. 해결하고자 하는 문제의 성격에 따라 어떤 곡선을 사용할 것인지 결정하는 것이 필요하다.
예를 들어 랭킹, 추천, 광고 등 분야에서는 데이터셋 내의 Class 분포가 중요하지 않아서 분포에 따라 흔들리는 지표가 아닌 안정적인 지표을 사용하기 위해 ROC 곡선을 더 자주 이용한다. 그러나 이상치 탐지 분야에서는 Class 분포의 변화를 민감하게 받아들일 필요가 있으므로 P-R 곡선을 사용할 때 더 정확한 평가가 가능하다.

profile
안녕하세요

0개의 댓글