Como determinar o limiar ideal para um classificador e gerar curva ROC?

27

Digamos que tenhamos um classificador SVM, como geramos a curva ROC? (Como teoricamente) (porque geramos TPR e FPR com cada um dos limites). E como determinamos o limite ideal para esse classificador SVM?

RockTheStar
fonte
2
Provavelmente, isso ajudará o stackoverflow.com/questions/28719067/…
prashanth

Respostas:

14

Use o classificador SVM para classificar um conjunto de exemplos anotados e "um ponto" no espaço ROC com base em uma previsão dos exemplos pode ser identificado. Suponha que o número de exemplos seja 200, primeiro conte o número de exemplos dos quatro casos.

euumabeeuedtrvocêeeuumabeeuedfumaeusepredEuctedtrvocêe7128.predEuctedfumaeuse5744


Em seguida, calcule o TPR (True Positive Rate) e o FPR (False Positive Rate). e No espaço ROC, o eixo x é FPR e o eixo y é TPR. Portanto, o ponto é obtido. Para desenhar uma curva ROC, apenas (1) ajuste algum valor limite que controla o número de exemplos rotulados como verdadeiro ou falsoTPR=71/(71+57)=0.5547FPR=28/(28+44)=0.3889(0.3889,0.5547)



Por exemplo, se a concentração de determinada proteína acima de α% significa uma doença, diferentes valores de α produzem diferentes valores finais de TPR e FPR. Os valores limite podem ser simplesmente determinados de maneira semelhante à pesquisa na grade; exemplos de treinamento de etiqueta com diferentes valores-limite, treine classificadores com diferentes conjuntos de exemplos rotulados, execute o classificador nos dados de teste, calcule valores de FPR e selecione os valores-limite que abrangem FPR baixo (próximo a 0) e alto (próximo a 1) valores, ou seja, próximos de 0, 0,05, 0,1, ..., 0,95, 1

(2) Gere muitos conjuntos de exemplos anotados
(3) Execute o classificador nos conjuntos de exemplos
(4) Calcular um ponto (FPR, TPR) para cada um deles
(5) Desenhe a curva ROC final

Alguns detalhes podem ser verificados em http://en.wikipedia.org/wiki/Receiver_operating_characteristic .

Além disso, esses dois links são úteis sobre como determinar um limite ideal. Um método simples é pegar aquele com soma máxima de taxas positivas verdadeiras e falsas negativas. Outros critérios mais refinados podem incluir outras variáveis ​​que envolvem diferentes limites, como custos financeiros, etc.
http://www.medicalbiostatistics.com/roccurve.pdf
http://www.kovcomp.co.uk/support/XL-Tut/life-ROC -curves-receiver-operating-feature.html

Tom
fonte
5
Obrigado pela sua explicação, e o limite ideal?
RockTheStar
1
Desculpe, eu aprendi que o limite ideal é um termo especial logo antes. Após a pesquisa, descobri que o capítulo "3.5 Selecionando um limite ideal" do livro "Analisando as curvas de características do receptor com SAS" no Google Book tem algumas explicações detalhadas sobre a seleção do limite ideal. As duas maneiras amplamente usadas, como descritas, são escolher o limite que fará a previsão binária resultante (1) o mais próximo possível de um preditor perfeito. (2) o mais longe um preditor não-informativo quanto possível
Tom
Legal, onde posso encontrar a referência? Obrigado!
RockTheStar #
2
Sim, o que significa "longe de um preditor não informativo"? Por favor, adicione a referência.
Simone
1
Além disso, acabei de ler que existem muitos critérios para determinar um limite ideal. Por exemplo, um critério simples é que, entre todos os limites, escolha aquele com soma máxima de valores verdadeiro positivo e falso negativo. Existem também outros critérios mais sofisticados.
Tom
3

Uma maneira realmente fácil de escolher um limite é usar os valores medianos previstos dos casos positivos para um conjunto de testes. Este se torna o seu limite.

O limite chega relativamente perto do mesmo limite que você obteria usando a curva roc, na qual a taxa positiva verdadeira (tpr) e 1 - taxa positiva falsa (fpr) se sobrepõem. Essa cruz tpr (cruzada) 1-fpr maximiza o verdadeiro positivo enquanto minimiza os falsos negativos.

Ish Mitch
fonte
Entendo. Valor previsto mediano. Obrigado pela sugestão.
RockTheStar
2
Existe uma fonte para este método?
JEquihua
1
Isso é equivalente a escolher o ponto com TPR = 0,5 na curva ROC, o que parece realmente arbitrário.
Bananin
Valor previsto mediano? E o que acontece se você tiver um desequilíbrio de classe de 1000: 1?
ldmtwo 29/01
3

Escolha o ponto mais próximo ao canto superior esquerdo do seu espaço ROC. Agora, o limite usado para gerar esse ponto deve ser o ideal.

dr_rk
fonte
2
Como fazer isso automaticamente?
ldmtwo 29/01
1

TPR-FPR

Bananin
fonte