expr:class='"loading" + data:blog.mobileClass'>

luns, 18 de outubro de 2021

F-score

 La F-score es una medida estadística utilizada en lingüística (y posiblemente en muchos campos más que usen estadísticas). En Español puede aparecer como Valor-F medida-F. Es un término que encontré en varios artículos de investigación lingüística, de los que leo para mi doctorado. 

No sabía muy bien a qué se refería, más allá de medir la efectividad de un test. Pero resulta que no es tan difícil. ¿Sabéis calcular una proporción verdad? Divides la parte entre el total. Por ejemplo, en lingüística calculamos la frecuencia de una estructura, por ejemplo, el número de adjetivos, por millón de palabras. La abreviatura es pmw. (per million words). Se calcula dividiendo el número de tu estructura (en este caso adjectivos) entre el total de palabras, multiplicando por un millón. 

Fpmw = (parte * 1.000.000) / total

Y diréis, ¿qué tendrá esto que ver con el F-score? Pues el F-score es el resultado de la media entre otras dos medidas que se calculan por proporción: precisión (precision) y exhaustividad/recuperación (recall). Supongamos que nosotros no revisamos manualmente todos nuestros datos. Tenemos un programa que revisa una serie de documentos, de los cuales marca en rojo todos los adjetivos.

Precisión es la proporción de aciertos que tuvo el programa al identificar todos los adjetivos. Es decir, del número de adjetivos que hemos marcado, cuántos son realmente adjetivos? Si revisamos los datos que nos proporcionó el programa manualmente podemos separar los falsos positivos, es decir las palabras que el programa marcó como adjetivos, pero no lo eran. Si tenemos, por ejemplo, la mitad, entonces ese programa tiene una precisión muy baja, porque la mitad de nuestros datos no nos sirven para nuestro estudio. Se calcula así:

P = Positivos correctos / (positivos correctos + falsos positivos)

Si precisión mide los positivos en los datos que nos devolvió el programa, recall mide los positivos que en el total de datos. Recall mide la efectividad del programa en base a cuántos adjetivos identificamos de los adjetivos que hay en todos los documentos. Se calcula así:

R = (Positivos correctos + falsos positivos) / total de datos

Es posible que el programa nos encontrara sólo la mitad de los adjetivos de los documentos, pero no haya identificado mal ninguno. Es decir, con una precisión alta, el programa podría darnos un resultado limpio, sin ningún determinante en lugar de adjetivo, pero si tiene una recall baja, es posible que nos de un resultado incompleto, como que solo haya identificado 3 de 300 que había. 

Ahora bien, para qué es el F-score? Se trata de medir cómo de efectivo es tu programa. Hace la media entre precisión y recall. Se calcula así: 

Y eso es todo, espero que a alguien le sea útil y sobre todo que no lo pusiera yo mal, porque esto será mi cheatsheet para cuando tenga que usar esas medidas. En caso de duda, la página towards data science me ayudó mucho a entenderlo, pero está en Inglés. 


Ningún comentario:

Publicar un comentario