¿Qué es el umbral óptimo de F1? ¿Cómo calcularlo?


13

He usado la función h2o.glm () en R que proporciona una tabla de contingencia en el resultado junto con otras estadísticas. La tabla de contingencia se titula "Tabla cruzada basada en el umbral óptimo F1 "

Wikipedia define la puntuación F1 o la puntuación F como la media armónica de precisión y recuperación. Pero no se encuentran Precision and Recall solo cuando el resultado de los valores pronosticados de una regresión logística (por ejemplo) se transforma en binario usando un punto de corte.

Ahora, por corte, recuerdo, ¿cuál es la conexión entre el puntaje F1 y el umbral óptimo? ¿Cómo se calcula el umbral óptimo? ¿Cómo se calcula el umbral óptimo de F1?

Lo siento si me he perdido algo, soy nuevo en estadísticas aquí

Respuestas:


22

De hecho, escribí mi primer artículo sobre aprendizaje automático sobre este tema. En él, identificamos que cuando su clasificador genera probabilidades calibradas (como deberían para la regresión logística) el umbral óptimo es aproximadamente la mitad del puntaje F1 que logra. Esto te da algo de intuición. El umbral óptimo nunca será más de .5. Si su F1 es .5 y el umbral es .5, entonces debería esperar mejorar F1 bajando el umbral. Por otro lado, si la F1 fuera .5 y el umbral fuera .1, probablemente debería aumentar el umbral para mejorar la F1.

El documento con todos los detalles y una discusión de por qué F1 puede o no ser una buena medida para optimizar (tanto en el caso de una sola etiqueta como en el de múltiples etiquetas) se puede encontrar aquí:

https://arxiv.org/abs/1402.1892

Lamento que me haya llevado 9 meses llamar esta atención. ¡Espero que aún encuentres útil la información!


1
¿Puede F1 ser> 1? Si tiene 90% A y 10% ~ A, creo que querría un umbral> .5.
gung - Restablece a Monica

1
Hola @gung No, por definición F1 = 2 * p * r / (p + r) y, como todas las medidas F-beta, tiene un rango [0,1]. El desequilibrio de clase no cambia el rango de puntaje F1. Para algunas aplicaciones, es posible que desee hacer predicciones con un umbral superior a .5. Específicamente, esto sucedería siempre que piense que los falsos positivos son peores que los falsos negativos. Pero ese umbral no optimizaría la puntuación de F1. Para entender por qué, el puntaje F1 se desarrolló en el contexto de la recuperación de información. En estos entornos, la clase positiva es rara y, por lo general, los falsos positivos no son tan costosos como los falsos negativos.
Zachary Chase Lipton

@ZacharyChaseLipton Suponga que tengo un conjunto de datos dividido en train / val / test. Para un clasificador que genera una probabilidad, seleccionaría el umbral óptimo de F1 en el conjunto de validación examinando el umbral que produce la mejor F1. Esto parece razonable, ya que seleccionar el umbral parece similar a seleccionar el mejor modelo. ¿Es eso lo correcto?
pir

Además, suponga que tengo un clasificador que no genera probabilidades (como un SVM). ¿Cómo optimizarías la F1 en el conjunto de validación?
pir

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.