태그 보관물: roc

roc

AUC-ROC가 0-0.5 일 수 있습니까? 수 있습니까?

AUC-ROC 값이 0-0.5 일 수 있습니까? 모델이 0에서 0.5 사이의 값을 출력합니까?



답변

완벽한 예측 변수는 AUC-ROC 점수가 1이고 무작위 추측을하는 예측 변수는 AUC-ROC 점수가 0.5입니다.

점수가 0이면 분류 기가 완벽하게 잘못되었음을 의미하며 100 %의 잘못된 선택을 예측하고 있습니다. 이 분류기의 예측을 반대 선택으로 변경 한 경우 완벽하게 예측할 수 있고 AUC-ROC 점수는 1입니다.

실제로 0과 0.5 사이의 AUC-ROC 점수를 받으면 분류기 대상에 레이블을 지정하는 방식에 실수가 있거나 훈련 알고리즘이 잘못되었을 수 있습니다. 0.2 점을 받으면 데이터에 0.8 점을 얻기에 충분한 정보가 포함되어 있지만 무언가 잘못되었음을 나타냅니다.


답변

분석중인 시스템이 기회 수준 미만으로 수행되는 경우 가능합니다. 사소하게, 당신은 항상 진실과 반대되는 대답을함으로써 AUC가 0 인 분류기를 쉽게 구성 할 수 있습니다.

실제로 분류 기준을 일부 데이터에 대해 학습하므로 0.5보다 훨씬 작은 값은 일반적으로 알고리즘, 데이터 레이블 또는 기차 / 테스트 데이터 선택에 오류가 있음을 나타냅니다. 예를 들어 열차 데이터에서 클래스 레이블을 실수로 전환 한 경우 예상 AUC는 1에서 “true”AUC (올바른 레이블)를 뺀 값입니다. 분류 할 패턴이 체계적으로 다른 방식으로 데이터를 기차 및 테스트 파티션으로 분할하는 경우 AUC도 <0.5가 될 수 있습니다. 예를 들어 기차에서 테스트 세트에 대해 하나의 클래스가 더 일반적이거나 각 세트의 패턴이 잘못 수정 한 체계적으로 다른 인터셉트를 가진 경우에 발생할 수 있습니다.

마지막으로, 분류 기가 장기적으로 우연한 수준이지만 테스트 샘플에서 “불운”(즉, 성공보다 몇 가지 더 많은 오류가 발생)하기 때문에 임의로 발생할 수 있습니다. 그러나이 경우 값은 여전히 ​​상대적으로 0.5에 가까워 야합니다 (데이터 포인트 수에 얼마나 가까운가).


답변

죄송하지만이 답변은 위험합니다. 아니요, 데이터를 본 후 AUC를 뒤집을 수는 없습니다. 당신이 주식을 사고 있다고 가정하고, 항상 틀린 것을 샀다고 생각하지만, 자신에게 말했다면, 모델이 예상 한 것과 반대되는 것을 구입하면 돈을 벌 수 있기 때문입니다.

문제는 결과를 편향시키고 일관되게 평균 이하의 성능을 얻는 방법이 많고 명백하지 않은 이유가 있다는 것입니다. 이제 AUC를 뒤집 으면 데이터에 신호가 없었지만 세계 최고의 모델러라고 생각할 수 있습니다.

여기 시뮬레이션 예제가 있습니다. 예측 변수는 대상과 관계가없는 임의의 변수 일뿐입니다. 또한 평균 AUC는 약 0.3입니다.

library(MLmetrics)
aucs <- list()
for (sim in seq_len(100)){
  n <- 100
  df <- data.frame(x=rnorm(n),
               y=c(rep(0, n/2), rep(1, n/2)))

  predictions <- list()
  for(i in seq_len(n)){
    train <- df[-i,]
    test <- df[i,]

    glm_fit <- glm(y ~ x, family = 'binomial', data = train)
    predictions[[i]] <- predict(glm_fit, newdata = test, type = 'response')
  }
  predictions <- unlist(predictions)
  aucs[[sim]] <- MLmetrics::AUC(predictions, df$y)
}
aucs <- unlist(aucs)
plot(aucs); abline(h=mean(aucs), col='red')

결과

물론 데이터가 무작위이기 때문에 분류자가 데이터에서 아무것도 배울 수있는 방법은 없습니다. LOOCV가 편향된 불균형 훈련 세트를 생성하기 때문에 AUC가 다음과 같습니다. 그러나 이것이 LOOCV를 사용하지 않아도 안전하다는 것을 의미하지는 않습니다. 이 이야기의 요점은 데이터에 아무 것도 없더라도 결과가 평균 성능을 낮출 수있는 방법과 방법이 많이 있다는 것입니다. 따라서 자신이하는 일을 알지 못하면 예측을 뒤집어서는 안됩니다. 그리고 평균 성능이 낮으므로 수행중인 작업을 볼 수 없습니다 🙂

다음은이 문제를 다루는 몇 가지 논문입니다. 그러나 다른 사람들도 그랬습니다.

자 말라 바디 외 2016 년 https://onlinelibrary.wiley.com/doi/full/10.1002/hbm.23140

Snoek et al 2019 https://www.ncbi.nlm.nih.gov/pubmed/30268846


답변