En los modelos de clasificación, unos de los indicadores que se utilizan para seleccionar uno u otro son la exactitud (en inglés “precision”) y la exhaustividad (en inglés “recall”). La exactitud y la exhaustividad son una forma simple de medir la calidad de las predicciones realizadas.
En los problemas de clasificación los resultados se suelen etiquetar en dos clases: positivos y negativos. A la hora de realizar una predicción se pueden observar cuatro resultados diferentes:
En base al problema que se esté modelando el coste de obtener un FP o FN puede ser muy diferente. Por esto es importante diferenciar los dos tipos de error. Por ejemplo, en una prueba médica un falso positivo puede ser un simple incordio para el paciente, pero un falso negativo puede ser letal.
Estas cuatro categorías se pueden resumir en lo que se conoce como matriz de confusión. Esta es la que se muestra en la siguiente tabla.
| Valor real positivo | Valor real negativo | |
| Predicción positiva | TP | FP |
| Predicción negativa | FN | TN |
En base a la matriz de confusión en la que se almacenan los valores de verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos de un modelo se puede calcular los valores de la exactitud y la precisión. La exactitud se define como la cantidad de predicciones positivas que fueron correctas. Lo que matemáticamente se puede expresar como:
P = \frac{TP}{TP + FP}.Por otro lado, la precisión se define como: el porcentaje de casos positivos detectados. Lo que matemáticamente se puede expresar como:
R = \frac{TP}{TP + FN}.Tanto la precisión como la exhaustividad, al ser porcentajes, solo pueden tener valores entre 0 y 1. Obviamente los modelos ideales han de tener valores altos de la precisión y la exhaustividad, pero esto no es lo habitual.
La exactitud y la exhaustividad ofrece importante información acerca de la calidad de los modelos. Indicando si existe un sesgo hacia valores positivos o negativos. Una forma de saber si un modelo ofrece un sesgo hacia la clase positivos es notando una exactitud alta junto a una exhaustividad baja. Por otro lado, cuando se observa una exactitud baja junto a una exhaustividad alta el modelo tiene un sesgo hacia la clase negativa.
Por ejemplo, para identificar una dolencia en la que uno de cada mil pacientes la sufre se crear un modelo. Antes de eso, se puede evaluar un modelo simple que siempre devuelve un valor negativo. Este modelo va a acertar en un 99,9% de los casos. Por un lado, la exactitud del modelo es cero, no se identifica ningún positivo. Por otro lado, la exhaustividad es de 0,999. Lo que confirma el sesgo de este modelo hacia la clase negativa.
Este sesgo aparece en este ejemplo porque tenemos un problema de desequilibrio de clases que se ha visto anteriormente.
Los resultados de la exactitud y la exhaustividad se pueden resumir en un único número al que se conoce como valor F. Aunque también se le conocen como F-score o medida-F. La versión más utilizado del valor F es F_1, una media armónica de la precisión y de la exhaustividad:
F_1 = 2 \frac{P R}{P + R}.Aunque este no es más que un caso partículas de una fórmula general:
F_\beta = (1 + \beta^2) \frac{P R}{\beta^2 P + R}.El valor de \beta indica cuál de las dos medidas tiene más peso. Cuando el valor es menor que uno tiene más peso la exactitud, cuando es mayor que uno la exhaustividad y cuando es uno, el caso del F_1, tienen ambos el mismo peso.
En esta entrada se ha visto el significado de dos importantes medidas utilizados en los modelos de clasificación. Comprender el significado de ambas es importantes para poder identificar si un modelo es adecuado o no.
Imágenes: Pixabay (skeeze)
tslane es la plantilla que uso como punto de partida para mis librerías TypeScript, nacida…
En los artículos anteriores de esta serie vimos la teoría detrás del credit scoring: qué…
expresslanets es la plantilla de API REST con Express y TypeScript que empezó como una…
En el artículo del Dashboard vimos que Pareto/NBD aparecía junto a BG/NBD con un ajuste…
Durante años, CommonJS (require/module.exports) ha sido la forma por defecto de organizar módulos en Node.js,…
Cuando usas k-means tienes que decidir algo incómodo de entrada: cuántos grupos, , vas a…
This website uses cookies.