O que é o limite ideal de F1? Como calcular?

13

Eu usei a função h2o.glm () no R, que fornece uma tabela de contingência no resultado junto com outras estatísticas. A tabela de contingência é intitulada " Guia cruzada com base no limiar ideal de F1 "

A Wikipedia define F1 Score ou F Score como a média harmônica de precisão e recall. Mas a Precision and Recall não é encontrada apenas quando o resultado dos valores previstos de uma regressão logística (por exemplo) é transformado em binário usando um ponto de corte.

Agora, por recorte, eu me lembro, qual é a conexão entre o escore F1 e o limite ideal. Como é calculado o limite ideal? Como é calculado o limite ideal de F1?

Desculpe se perdi alguma coisa, sou novo nas estatísticas aqui.

ImersãoHummer
fonte

Respostas:

22

Na verdade, escrevi meu primeiro artigo sobre aprendizado de máquina sobre esse assunto. Nele, identificamos que, quando o seu classificador gera probabilidades calibradas (como deveriam para a regressão logística), o limite ideal é aproximadamente 1/2 da pontuação F1 alcançada. Isso lhe dá alguma intuição. O limite ideal nunca será superior a 0,5. Se o seu F1 for 0,5 e o limite for 0,5, você deverá melhorar o F1 diminuindo o limite. Por outro lado, se o F1 fosse 0,5 e o limiar fosse 0,1, provavelmente você deve aumentar o limiar para melhorar F1.

O artigo com todos os detalhes e uma discussão sobre por que F1 pode ou não ser uma boa medida para otimizar (no caso de um e de vários rótulos) pode ser encontrado aqui:

https://arxiv.org/abs/1402.1892

Lamento que demorou 9 meses para que este post chegasse à minha atenção. Espero que você ainda ache as informações úteis!

Zachary Chase Lipton
fonte
1
F1 pode ser> 1? Se você tem 90% A e 10% ~ A, acho que você deseja um limite> .5.
gung - Restabelece Monica
1
Oi @gung. Não, por definição F1 = 2 * p * r / (p + r) e, como todas as medidas de F-beta, tem intervalo [0,1]. O desequilíbrio de classe não altera o intervalo da pontuação F1. Para alguns aplicativos, você pode realmente querer fazer previsões com um limite maior que 0,5. Especificamente, isso aconteceria sempre que você achar que os falsos positivos são piores que os falsos negativos. Mas esse limiar não otimizaria a pontuação na F1. Para entender por que, o escore F1 foi desenvolvido no contexto da recuperação de informações. Nessas configurações, a classe positiva é rara e, geralmente, os falsos positivos não são tão caros quanto os falsos negativos.
Zachary Chase Lipton
@ZacharyChaseLipton Suponha que eu tenho um conjunto de dados dividido em train / val / test. Para um classificador que gera uma probabilidade, selecionaria o limite F1 ideal no conjunto de validação examinando o limite que produz o melhor F1. Isso parece razoável, pois a seleção do limite parece semelhante à seleção do melhor modelo. É a coisa certa a fazer?
pir
Além disso, suponha que eu tenha um classificador que não produz probabilidades (como um SVM). Como você otimizaria a F1 no conjunto de validação então?
pir
Eu fiz isso em uma pergunta: stats.stackexchange.com/questions/283931/…
pir