Estou usando um classificador que retorna probabilidades. Para calcular a AUC, estou usando o pROC R-package. As probabilidades de saída do classificador são:
probs=c(0.9865780,
0.9996340,
0.9516880,
0.9337157,
0.9778576,
0.8140116,
0.8971550,
0.8967585,
0.6322902,
0.7497237)
probs
mostra probabilidade de estar na classe '1'. Como mostrado, o classificador classificou todas as amostras na classe '1'.
O vetor de rótulo verdadeiro é:
truel=c(1, 1, 1, 1, 1, 0, 0, 0, 0, 0)
Como mostrado, o classificador classificou incorretamente 5 amostras. Mas, AUC é:
pROC::auc(truel, probs)
Area under the curve: 1
Poderia me explicar por que isso acontece?
machine-learning
auc
user4704857
fonte
fonte
Respostas:
A CUA é uma medida da capacidade de classificar exemplos de acordo com a probabilidade de associação à classe. Portanto, se todas as probabilidades estiverem acima de 0,5, você ainda poderá ter uma AUC de um se todos os padrões positivos tiverem probabilidades mais altas do que todos os padrões negativos. Nesse caso, haverá um limite de decisão superior a 0,5, o que daria uma taxa de erro de zero. Observe que, como a AUC mede apenas a classificação das probabilidades, não informa se as probabilidades estão bem calibradas (por exemplo, não há viés sistemático); se a calibração das probabilidades é importante, observe a métrica de entropia cruzada.
fonte
As outras respostas explicam o que está acontecendo, mas achei que uma imagem poderia ser boa.
Você pode ver que as classes estão perfeitamente separadas, portanto a AUC é 1, mas o limiar em 1/2 produzirá uma taxa de classificação incorreta de 50%.
fonte
As amostras não foram "classificadas incorretamente". Os
0
exemplos são classificados estritamente abaixo dos1
exemplos. O AUROC está fazendo exatamente o que está definido para fazer, que é medir a probabilidade de que um selecionado aleatoriamente1
tenha uma classificação mais alta que um selecionado aleatoriamente0
. Nesta amostra, isso sempre é verdade, portanto é um evento de probabilidade 1.Tom Fawcett tem um ótimo artigo expositivo sobre curvas ROC. Eu sugiro começar por aí.
Tom Fawcett. "Uma introdução à análise ROC." Cartas de reconhecimento de padrão. 2005.
fonte