Quais são as vantagens das curvas ROC?
Por exemplo, estou classificando algumas imagens que são um problema de classificação binária. Extraí cerca de 500 recursos e apliquei um algoritmo de seleção de recursos para selecionar um conjunto de recursos, depois apliquei o SVM para classificação. Nesse caso, como posso obter uma curva ROC? Devo alterar os valores limite do meu algoritmo de seleção de recursos e obter sensibilidade e especificidade da saída para desenhar uma curva ROC?
No meu caso, qual é o objetivo de criar uma curva ROC?
machine-learning
roc
user570593
fonte
fonte
Respostas:
Muitos algoritmos de classificação binária calculam um tipo de pontuação de classificação (às vezes, mas nem sempre, é uma probabilidade de estar no estado-alvo) e são classificados com base no fato de a pontuação estar ou não acima de um determinado limite. A visualização da curva ROC permite ver a troca entre sensibilidade e especificidade para todos os limites possíveis, e não apenas aquele que foi escolhido pela técnica de modelagem. Objetivos de classificação diferentes podem tornar um ponto da curva mais adequado para uma tarefa e outro mais adequado para uma tarefa diferente; portanto, observar a curva ROC é uma maneira de avaliar o modelo independentemente da escolha de um limiar.
fonte
As curvas ROC não são informativas em 99% dos casos que eu vi nos últimos anos. Eles parecem ser considerados obrigatórios por muitos estatísticos e ainda mais praticantes de aprendizado de máquina. E verifique se o seu problema é realmente um problema de classificação e não um problema de estimativa de risco. O cerne dos problemas com as curvas ROC é que eles convidam os usuários a usar pontos de corte para variáveis contínuas e usam probabilidades reversas, ou seja, probabilidades de eventos que estão em ordem inversa do tempo (sensibilidade e especificidade). As curvas ROC não podem ser usadas para encontrar trocas ótimas, exceto em casos muito especiais em que os usuários de uma regra de decisão abdicam da função de perda (custo; utilidade) para o analista.
fonte
Após criar uma curva ROC, a AUC (área sob a curva) pode ser calculada. A AUC é a precisão do teste em muitos limites. AUC = 1 significa que o teste é perfeito. AUC = 0,5 significa desempenho por acaso para classificação binária.
Se houver vários modelos, a AUC fornece uma única medida para comparar entre diferentes modelos. Sempre há trocas com uma única medida, mas a AUC é um bom ponto de partida.
fonte
A AUC não compara as classes reais versus as previstas entre si. Não está olhando para a classe prevista, mas a pontuação ou a probabilidade. Você pode fazer a previsão da classe aplicando um ponto de corte a essa pontuação, digamos, toda amostra que obteve uma pontuação abaixo de 0,5 é classificada como negativa. Mas o ROC vem antes que isso aconteça. Está trabalhando com as pontuações / probabilidades de classe.
Ele pega essas pontuações e classifica todas as amostras de acordo com essa pontuação. Agora, sempre que você encontrar uma amostra positiva, a curva ROC dá um passo à frente (ao longo do eixo y). Sempre que encontrar uma amostra negativa, você se move para a direita (ao longo do eixo x). Se essa pontuação for diferente para as duas classes, as amostras positivas serão as primeiras (geralmente). Isso significa que você faz mais etapas do que para a direita. Mais abaixo na lista, as amostras negativas aparecerão, então você se move para a esquerda. Quando você percorre toda a lista de amostras, chega à coordenada (1,1), que corresponde a 100% das amostras positivas e 100% das amostras negativas.
Se a pontuação separar perfeitamente o positivo das amostras negativas, você se moverá de (x = 0, y = 0) para (1,0) e depois de lá para (1, 1). Portanto, a área abaixo da curva é 1.
Se sua pontuação tiver a mesma distribuição para amostras positivas e negativas, as probabilidades de encontrar uma amostra positiva ou negativa na lista classificada são iguais e, portanto, as probabilidades de se mover para cima ou para a esquerda na curva ROC são iguais. É por isso que você se move na diagonal, porque você se move essencialmente para cima e para a esquerda, para cima e para a esquerda, e assim por diante ... o que fornece um valor de AROC de cerca de 0,5.
No caso de um conjunto de dados desequilibrado, o tamanho da etapa é diferente. Então, você dá passos menores para a esquerda (se tiver mais amostras negativas). É por isso que a pontuação é mais ou menos independente do desequilíbrio.
Portanto, com a curva ROC, você pode visualizar como suas amostras são separadas e a área sob a curva pode ser uma métrica muito boa para medir o desempenho de um algoritmo de classificação binária ou de qualquer variável que possa ser usada para separar classes.
A figura mostra as mesmas distribuições com diferentes tamanhos de amostra. A área preta mostra onde seriam esperadas curvas ROC de misturas aleatórias de amostras positivas e negativas.
fonte