정밀 리콜 곡선에서 "기준선"이란 무엇입니까


15

정밀 리콜 곡선을 이해하려고하지만 정밀도와 리콜이 무엇인지 이해하지만 이해하지 못하는 것은 "기준"값입니다. 나는이 링크를 읽고 있었다 https://classeval.wordpress.com/introduction/introduction-to-the-precision-recall-plot/

"완벽한 분류기의 정밀 리콜 곡선"에 표시된대로 기준 부분을 이해하지 못합니까? 어떻게 계산합니까? 우리가 선택한 임의의 기준입니까? 예를 들어 retweet,status_countetc와 같은 속성을 가진 트위터 데이터가 있고 내 클래스 레이블은 FavoritedFavorited 이면 1이고 Favorited가 아닌 경우 0이며 그것에 순진한 베이를 적용하고 정밀 리콜 곡선을 그리려고합니다.이 경우 어떻게 기준을 설정해야합니까? ?

답변:


13

PR 곡선 플롯에서의 "기준선" 은 총 훈련 데이터 수 대한 양의 예 의 수와 동일한 높이를 갖는 수평선 , 즉 데이터에서 긍정적 인 예의 비율 ( ).N PPNPN

그래, 왜 이럴까? "정크 분류기" 가 있다고 가정 해 봅시다 . 반환 무작위 확률 받는 번째 샘플 인스턴스 클래스에있을 . 편의상 이라고 말합니다 . 이 랜덤 클래스 할당의 직접적인 의미는 가 데이터의 긍정적 인 예의 비율과 동일한 (예상되는) 정밀도를 갖습니다. 자연 스럽습니다. 모든 우리의 데이타 완전히 랜덤 서브 샘플 것이다 정확하게 분류 예. 이것은 어떤 확률 임계 값에 true가됩니다C J p i i y i A p i ~ U [ 0 , 1 ] C J E { PCJCJpiiyiApiU[0,1]CJqCJq[0,1]qACJqpi~U[0,1]q(100(1-q))%(100(1-q))%AxyPE{PN}q 반환 한 클래스 멤버쉽의 확률에 대한 결정 경계로 사용할 수 있습니다 . ( 의 값이다 확률 값보다 크거나 동일 여기서 클래스에 분류된다 리콜 성능 한편.) (예상의)은 같 경우 . 주어진 임계 값에서 우리가 선택할 것입니다 (약) 이후이 포함됩니다 우리의 전체 데이터의 (약) 클래스의 인스턴스의 총 수의CJq[0,1]qACJqpiU[0,1]q(100(1q))%(100(1q))%A샘플에서. 그러므로 우리가 처음에 언급 한 수평선! 모든 리콜 값 ( PR 그래프의 값)에 대해 해당 정밀도 값 ( PR 그래프의 값)은 .xyPN

간단한 참고 사항 : 임계 값 는 일반적으로 1에서 예상 리콜을 뺀 값과 같지 않습니다 . 이것은 위에서 언급 한 의 경우 결과 의 무작위 균일 분포로 발생합니다. 다른 분포 (예를 들어, )에 대해 와 리콜 사이의이 근사 아이덴티티 관계는 유지되지 않습니다. 은 이해하고 정신적으로 시각화하는 것이 가장 쉽기 때문에 사용되었습니다. 의 다른 랜덤 분포 의 경우 의 PR 프로파일은 변경되지 않습니다. 주어진 값에 대한 PR 값의 배치 만 변경됩니다.C J C J p i ~ B ( 2 , 5 ) q U [ 0 , 1 ] [ 0 , 1 ] C J qqCJCJpiB(2,5)qU[0,1][0,1]CJq

이제 완벽한 분류에 관한 , 하나는 반환 가능성이있는 분류 의미 샘플 인스턴스에 클래스의 복지 경우 클래스에 참으로 및 추가 확률 반환 경우 클래스의 멤버가 아닌 . 이것은 모든 임계 값 대해 정밀도를 가질 것임을 의미합니다 (즉, 그래프 용어에서는 정밀도 에서 시작하는 선을 얻습니다 ). 정밀도를 얻지 못하는 유일한 지점 은 입니다. 들면 1 y i A y i A C P 0 y i A q 100 % 100 % 100 % q = 0 q = 0 PCP1yiAyiACP0yiAq100%100%100%q=0q=0정밀도는 우리의 데이타 양성 사례 비율 (로 하강 )로서 (미치게?) 우리는 심지어 점을 분류 클래스의 존재의 확률 클래스 인 것으로 . 의 PR 그래프에는 정밀도에 대해 과 두 가지 가능한 값만 있습니다. 0AACP1PPN0AACP1PN

OK와 일부 R 코드는 양수 값이 샘플의 에 해당하는 예제와 함께 이것을 처음으로 보여줍니다 . 각 점과 관련된 확률 값이이 점이 등급이라는 확신을 정량화한다는 점에서 클래스 범주의 "소프트 할당"을 수행합니다 .A40%A

  rm(list= ls())
  library(PRROC)
  N = 40000
  set.seed(444)
  propOfPos = 0.40
  trueLabels = rbinom(N,1,propOfPos)
  randomProbsB = rbeta(n = N, 2, 5) 
  randomProbsU = runif(n = N)  

  # Junk classifier with beta distribution random results
  pr1B <- pr.curve(scores.class0 = randomProbsB[trueLabels == 1], 
                   scores.class1 = randomProbsB[trueLabels == 0], curve = TRUE) 
  # Junk classifier with uniformly distribution random results
  pr1U <- pr.curve(scores.class0 = randomProbsU[trueLabels == 1], 
                   scores.class1 = randomProbsU[trueLabels == 0], curve = TRUE) 
  # Perfect classifier with prob. 1 for positives and prob. 0 for negatives.
  pr2 <- pr.curve(scores.class0 = rep(1, times= N*propOfPos), 
                  scores.class1 = rep(0, times = N*(1-propOfPos)), curve = TRUE)

  par(mfrow=c(1,3))
  plot(pr1U, main ='"Junk" classifier (Unif(0,1))', auc.main= FALSE, 
       legend=FALSE, col='red', panel.first= grid(), cex.main = 1.5);
  pcord = pr1U$curve[ which.min( abs(pr1U$curve[,3]- 0.50)),c(1,2)];
  points( pcord[1], pcord[2], col='black', cex= 2, pch = 1)
  pcord = pr1U$curve[ which.min( abs(pr1U$curve[,3]- 0.20)),c(1,2)]; 
  points( pcord[1], pcord[2], col='black', cex= 2, pch = 17)
  plot(pr1B, main ='"Junk" classifier (Beta(2,5))', auc.main= FALSE,
       legend=FALSE, col='red', panel.first= grid(), cex.main = 1.5);
  pcord = pr1B$curve[ which.min( abs(pr1B$curve[,3]- 0.50)),c(1,2)]; 
  points( pcord[1], pcord[2], col='black', cex= 2, pch = 1)
  pcord = pr1B$curve[ which.min( abs(pr1B$curve[,3]- 0.20)),c(1,2)]; 
  points( pcord[1], pcord[2], col='black', cex= 2, pch = 17)
  plot(pr2, main = '"Perfect" classifier', auc.main= FALSE, 
       legend=FALSE, col='red', panel.first= grid(), cex.main = 1.5);  

여기에 이미지 설명을 입력하십시오

여기서 검은 원과 삼각형 은 처음 두 플롯에서 각각 및 나타냅니다 . 우리는 즉시 "정크"분류 기가 과 같은 정밀도로 빠르게 이동 함을 알 수 있습니다 . 마찬가지로 완벽한 분류기는 모든 리콜 변수에서 정밀도 을 갖습니다. 당연하게도 "정크"분류기의 AUCPR은 샘플의 긍정적 인 비율 ( )과 같고 "완벽 분류기"의 AUCPR은 대략 입니다.q = 0.20 Pq=0.50q=0.20 10.401PN10.401

현실적으로 완벽한 분류기의 PR 그래프는 회귀를 가질 수 없기 때문에 약간 쓸모가 없습니다 (우리는 절대 부류 만을 예측하지 않습니다 ). 컨벤션 문제로 왼쪽 상단에서 선을 그리기 시작합니다. 엄밀히 말하면 두 점만 표시하면 끔찍한 곡선이됩니다. :디0

기록을 위해, PR 곡선의 유용성에 관한 이력서에는 이미 매우 좋은 답변이 있습니다 : here , herehere . 주의 깊게 읽는 것만으로도 PR 곡선에 대한 일반적인 이해가 가능해야합니다.


1
이 커뮤니티에 가입하여이 주제를 찬성했습니다. 정밀 리콜 곡선의 기준선 개념에 대한 훌륭한 설명입니다. 생물 정보 학자로서 나는 그것이 매우 도움이된다는 것을 알았습니다.
jimh

1
@jimh : 고맙습니다. 아주 좋은 소식입니다. 게시물이 도움이되었다 니 다행입니다.
usεr11852

유용한 정보를 제공하는 의견은 아니지만, 철저하고 시선을 끄는 설명에 감사드립니다.
Ric S

0

위의 큰 답변. 여기에 대한 직관적 인 생각이 있습니다. 빨간색 = 양수 및 노란색 = 음수의 공이 있고 양동이 = 양수로 무작위로 던진다 고 상상해보십시오. 그런 다음 동일한 수의 빨간색과 노란색 공이있는 경우 버킷에서 PREC = tp / tp + fp = 100 / 100 + 100을 계산할 때 빨간색 (양) = 노란색 (음수)이므로 PREC = 0.5입니다. 그러나 1000 개의 빨간 공과 100 개의 노란 공을 가지고 있다면 버킷에서 무작위로 PREC = tp / tp + fp = 1000/1000 + 100 = 0.99를 기대할 것입니다. / RP + RN (여기서 RP = 실제 양수, RN = 실제 음수)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.