Respostas:
Um preditor perfeito fornece uma pontuação na AUC-ROC igual a 1, um preditor que faz suposições aleatórias tem uma pontuação na AUC-ROC igual a 0,5.
Se você obtiver uma pontuação 0, o que significa que o classificador está perfeitamente incorreto, está prevendo a escolha incorreta 100% do tempo. Se você acabou de alterar a previsão deste classificador para a opção oposta, ele pode prever perfeitamente e ter uma pontuação AUC-ROC de 1.
Portanto, na prática, se você obtiver uma pontuação AUC-ROC entre 0 e 0,5, poderá ter um erro na maneira como rotulou os alvos do classificador ou um algoritmo de treinamento ruim. Se você obtiver uma pontuação de 0,2, isso mostra que os dados contêm informações suficientes para obter uma pontuação de 0,8, mas algo deu errado.
Eles podem, se o sistema que você está analisando tiver um desempenho abaixo do nível de chance. Trivialmente, você pode facilmente construir um classificador com 0 AUC, sempre respondendo oposto à verdade.
Na prática, é claro que você treina seu classificador em alguns dados, para que valores muito menores que 0,5 normalmente indiquem um erro em seu algoritmo, rótulos de dados ou escolha de dados de treinamento / teste. Por exemplo, se você trocou erroneamente os rótulos das classes nos dados de seu trem, sua AUC esperada seria 1 menos a AUC "verdadeira" (dadas as etiquetas corretas). A AUC também pode ser <0,5 se você dividir seus dados em partições de treinamento e teste de forma que os padrões a serem classificados sejam sistematicamente diferentes. Isso pode acontecer (por exemplo) se uma classe for mais comum no trem versus o conjunto de testes ou se os padrões em cada conjunto tiverem interceptações sistematicamente diferentes que você não corrigiu.
Por fim, isso também pode acontecer aleatoriamente porque seu classificador está no nível de chance a longo prazo, mas teve "azar" em sua amostra de teste (ou seja, obteve mais alguns erros do que sucessos). Mas, nesse caso, os valores ainda devem estar relativamente próximos de 0,5 (a distância depende do número de pontos de dados).
Sinto muito, mas essas respostas estão perigosamente erradas. Não, você não pode simplesmente virar AUC depois de ver os dados. Imagine que você está comprando ações e sempre comprou a errada, mas disse a si mesmo: tudo bem, porque se você estivesse comprando o oposto do que o seu modelo previa, você ganharia dinheiro.
O fato é que existem muitas razões, muitas vezes não óbvias, de como você pode influenciar seus resultados e obter um desempenho consistentemente abaixo da média. Se você agora alterar sua AUC, poderá pensar que é o melhor modelador do mundo, embora nunca tenha havido nenhum sinal nos dados.
Aqui está um exemplo de simulação. Observe que o preditor é apenas uma variável aleatória sem relação com o alvo. Observe também que a AUC média é de cerca de 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')
Resultados
Obviamente, não há como um classificador aprender alguma coisa com os dados, pois eles são aleatórios. A chance abaixo da AUC existe porque o LOOCV cria um conjunto de treinamento tendencioso e desequilibrado. No entanto, isso não significa que, se você não usar o LOOCV, estará seguro. O objetivo desta história é que existem maneiras, de várias maneiras, como os resultados podem ter um desempenho médio abaixo de zero, mesmo se não houver nada nos dados e, portanto, você não deve inverter as previsões, a menos que saiba o que está fazendo. E como você tem um desempenho médio abaixo, você não vê o que está fazendo :)
Aqui estão alguns documentos que abordaram esse problema, mas tenho certeza que outros também o fizeram
Jamalabadi et al 2016 https://onlinelibrary.wiley.com/doi/full/10.1002/hbm.23140
Snoek et al 2019 https://www.ncbi.nlm.nih.gov/pubmed/30268846