Precision과 Recall의 합이 가치있는 측정이 아닌 이유는 무엇입니까?


12

예를 들어 F1과 비교하여 Precision+Recall 이 좋은 방법 이 아닌 이유를 설명하는 가장 좋은 방법은 무엇입니까 ?


무슨 뜻입니까? 어떻게 해석하겠습니까? 실제로 무엇을 말합니까?
Matthew Drury

1
"Precision + Recall"을 "Precision and Recall의 합"으로 바꾸어 제목을 변경해야합니다.
g3o2

@ g3o2 우리는 여기서 문법을 이야기하고 있습니까? 아니면 더 큰 것이 빠져 있습니까?
matt

사실, 특히 제목 만 읽을 때 Precision & Recall을 읽을 수도 있다는 점에 유의하십시오.
g3o2 2016 년

답변:


18

Precision+Recall

정밀도와 리콜은 다음과 같이 정의됩니다.

Precision=True PositivePredicted Positive
Recall=True PositiveActual Positive

True Positive(Predicted Positive+Actual Positive)Predicted Positive×Actual Positive

그것들을 다시 더해서 다시 조정 해 봅시다. 곱하십시오.12[01]

12×(True PositivePredicted Positive+True PositiveActual Positive)

따라서 분자는 같지만 분모가 다른 두 개의 수량이 있으며 그 평균을 구하고 싶습니다. 우리는 무엇을해야합니까? 우리는 그것들을 뒤집어 뒤집을 수있었습니다. 그런 다음 함께 추가 할 수 있습니다. 그래서 그들은 "오른쪽을 향하고 있습니다."

이 반전 과정과 다시 반전 과정은 "정규"평균을 고조파 평균으로 바꿉니다. 그냥 그렇게 정밀도와 리콜의 조화 평균이 그 일 입니다 F1을-통계. 일반적으로 고조파 평균은 여기에서와 같이 속도를 처리 할 때 표준 산술 평균 대신 사용됩니다.

결국 F1- 통계량은 정밀도와 리콜의 평균 일 뿐이며 모델의 성능을 평가하기 위해 둘 중 하나를 선택하지 않기 때문에 사용합니다.


2
대수 평균에서 고조파 평균을 친절하게 개발해 주셔서 대단히 감사합니다! 그러나 아마도 나에게 굳게 앉아 있지 않은 것은 "특히 유용하지 않다"고 말하는 부분입니다. 그 맥락에서 나는 다른 두 가지 답변에 대해 아래에 댓글을 달았습니다. 한 걸음 더 나아가고 싶을 경우를 대비하여. 같은 데이터 세트에서 테스트 한 분류기 그룹 중에서 가장 적합한 분류기를 선택한다고 가정 해보십시오.
matt

@matt, 결합 된 측정 값을 사용하면 모델 선택을 특정 지점으로 가져올 수 있습니다. 동일한 F1 값을 가진 두 모델은 완전히 반대 인 Recall 및 Precision 값을 표시 할 수 있습니다. 따라서 F1이 같으면 리콜과 정밀도 중에서 선택해야합니다.
g3o2

4

짧은 대답은 다음과 같습니다. 두 개의 다른 분모를 가진 두 퍼센트의 합이 특정 의미를 갖기를 기대하지 않습니다. 따라서 F1, F2 또는 F0.5와 같은 평균 측정 방법이 사용됩니다. 후자는 적어도 백분율의 속성을 유지합니다. 그래도 그들의 의미는 어떻습니까?

별도의 측정 값으로서의 정밀도와 리콜의 장점은 해석이 쉽고 모델의 비즈니스 목표에 쉽게 직면 할 수 있다는 사실입니다. 정밀도 는 모델별로 true positives분류 된 사례 중 백분율을 측정합니다 positive. 리콜true positives 은 모든 true사례 에서 모델 이 찾은 비율을 측정합니다 . 많은 문제의 경우 정밀도 또는 재 호출 최적화 중에서 선택해야합니다.

모든 평균 측정 값은 위의 해석을 풀고 가장 선호하는 측정 값으로 요약됩니다. F1은 리콜 (Recall) 또는 정밀 (Precision)을 선호하는지 알지 못하거나 각각에 동일한 가중치를 부여한다는 의미입니다. 리콜이 정밀도보다 더 중요하다고 생각되면 평균 계산 (예 : F2)에 더 높은 가중치를 할당하고 그 반대의 경우 (예 : F0.5)도 할당해야합니다.


3

두 가지를 추가하는 것은 나쁜 척도입니다. 정의에 의해 100 % 리콜되기 때문에 모든 것을 긍정적으로 표시하면 점수가 1 이상이됩니다. 그리고 그 위에 약간의 정밀한 충돌이 생길 것입니다. F1에 사용 된 기하 평균은 약한 연결을 강조합니다. 최소한 F1 점수를 얻으려면 정밀도와 리콜 모두에 대해 최소한 괜찮아 야합니다.


사실, 그것은 약한 연결의 정확한 강조입니다. Precision과 Recall이 초초가 아닌 합리적 일 때 불필요한 것으로 나타났습니다. 둘 다 초라하지 않을 때 나는 그들 사이의 유사성을 강조하는 메트릭의 부가 가치를 보거나 그 차이의 크기에 따라 다르게 처벌을받는 것을 확신하지 못합니다. 이 정확한 속성은 부분적으로 내 원래의 질문에 동기를 부여했습니다.
matt

나에게 여분의 일처럼 들린다. 리콜 비율을 정밀도만큼이나 중요하게 생각한다면 측정 값을 사용하는 것 같습니다. 그러나 나는 당신을 이미지 할 수 없습니다. 범위를 줄이더라도 리콜이 우세 할 것입니다. 리콜을 정밀하게 사과에서 사과로 확장 할 수 있지만, 다시 한 번 더 많은 작업이 이루어지고 해석이 덜 명확 해집니다.
Ben Ogorek

1
왜 리콜이 우위를 차지해야하는지 (?) 확실하지 않지만 리콜을 정밀하게 사과에서 사과로 스케일링하는 것은 여기 또는 다른 곳에서 흥미로운 관련 토론 일 수 있습니다-올바른 방향의 포인터가 있으면 좋을 것입니다 :)
matt

3

F1 점수는 비대칭 확률이 심각 할 경우 특히 중요합니다.

다음 예를 고려하십시오. 희귀하지만 위험한 질병을 검사합니다. 1.000.000의 도시에서는 100 명만 감염되었다고 가정 해 봅시다.

검정 A는이 100 개의 양성을 모두 탐지합니다. 그러나 오 탐지율도 50 %입니다. 다른 500.000 명의 사람들이 잘못보고 있음을 잘못 보여줍니다.

한편, 테스트 B는 감염된 바이러스의 10 %가 누락되었지만 오 탐지율은 1.000 (0.1 % 오 탐지율) 만 나타냅니다.

점수를 계산해 봅시다. 테스트 A의 경우 정밀도는 사실상 0입니다. 리콜은 정확히 1입니다. 테스트 B의 경우 정밀도는 여전히 약 0.01입니다. 리콜은 0.9와 같습니다.

만약 우리가 산술 정밀도의 평균을 합치거나 취한다면, 이것은 테스트 A의 경우 1 (0.5), 테스트 B의 경우 0.91 (0.455)을 줄 것입니다. 따라서 테스트 A는 조금 더 나아질 것입니다.

그러나 우리가 실제적인 관점에서 볼 때, 시험 A는 쓸모가 없습니다. 사람이 양성으로 시험되면 진정으로 병에 걸릴 확률은 50.000에서 1입니다! 테스트 B는보다 실질적인 의미를 갖습니다. 1.100 명을 병원에 데려 가서 면밀히 관찰 할 수 있습니다. 이것은 F1 점수에 정확하게 반영됩니다 : 테스트 A의 경우 0.0002에 가까울 것입니다. 테스트 B의 경우 : (0.01 * 0.9) / (0.01 + 0.9) = 0.0098이며, 여전히 가난하지만 약 50 배 더 좋습니다.

점수 값과 실제적 중요성 사이의 일치는 F1 점수를 가치있게 만듭니다.


감사. 어쩌면 나는이 사건에 충분히 몰두하지 않았지만이 해명은 하나의 결과 (긍정적)를 탐지하는 것이 목표 인 실제 영역에서 "양성"에 자원을 할당하는 실용적인 이점에 달려 있지 않습니까? 목표가 하나의 결과를 감지하는 것이 항상 그런 것은 아닙니다. 때로는 사과인지 쌍인지 알고 싶을 때 두 가지 유형의 오류 모두 실제 비용이 동일합니다.
matt

무엇보다도, 내가 보지 못한 것은 "더 나은"이 속성이 정밀도와 리콜의 (절대) 차이가 병리학적인 경우가 아닌 경우에 어떻게 확장되는지입니다. 어쩌면 직관이 있을지도 모르지만 아직 거기에 있지 않습니다 ...
matt

1

일반적으로 기하 평균을 최대화하면 값이 비슷하다는 것을 강조합니다. 예를 들어, 첫 번째 모델은 (정밀도, 리콜) = (0.8, 0.8) 두 번째 모델은 (정밀도, 리콜) = (0.6, 1.0)입니다. 대수 평균을 사용하면 두 모델이 동일합니다. 기하 평균을 사용하면 첫 번째 모델은 리콜 정밀도를 교환하지 않기 때문에 더 좋습니다.


1
고마워 그러나 실제 용어로는 (0.8, 0.8)과 (0.7, 0.9) 사이에서 보편적으로 적용 가능한 선호 사항을 보지 못했습니다. 어쩌면 당신은 "Recall for Precision"에서 더 깊이있는 것을 암시했을 것입니다. 두 가지 유형의 오류를 대수적으로 평균화하면 유사성에 대한 편견없이 가장 간단한 평균을 제공합니다. 예를 들어, Precision과 Recall의 간단한 합계를 사용하여 두 분류기 중 어느 것이 더 적은 오류를 제공하는지 파악할 수 있습니다.
matt

우리는 이것을 극단적으로 취할 수 있습니다. (정밀도, 리콜) = (0.6, 0.6)을 갖는 하나의 시스템이 있다고 가정합니다. 즉, "예"라고 말하면 올바른 60 %의 시간과 "예"이벤트의 60 %를 올바르게 잡는다는 의미입니다. 이제 이것을 (0.3, 1)을 가진 시스템과 비교해 봅시다. 이것은 더 나은 대수적 의미를 지니고 있지만 무엇을하고 있습니까? 모든 "예"이벤트를 포착하고 있지만 "예"라고 잘못 말하고 있습니다 . 그거 좋아요? 그게 나쁜가요? 시스템을 구축하는 이유에 따라 다릅니다 . "예"예측이 보이면 어떤 조치를 취 하시겠습니까? "예"이벤트가 누락 된 결과는 무엇입니까?
roundsquare

1
이러한 척도 중 어느 것도 올바른 정확도 점수 규칙이
아닙니다.

@roundsquare 많은 감사하지만, 병리학 적 사례 (모두 0과 1에 가깝지 않은 경우)에 대해서는 최종 측정에서 둘 사이의 유사성을 강조하는 이점을 보는 데 도움이 필요할 것입니다!
matt

@FrankHarrell "방의 코끼리"를 가리켜 주셔서 감사합니다
matt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.