Medidas de calidad en matrices de confusión

Autor: | Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabías que existen medidas de calidad en matrices de confusión?

En un otro post habíamos definido la matriz de confusión como una medida de rendimiento adoptada para solucionar el problema de clasificación de aprendizaje automático, donde la salida puede ser de 2 o más clases.

Una vez definidas, podemos ejercer medidas de calidad en matrices de confusión y evaluar todas las medidas que se ofrecen.

¿Cuáles son las medidas de calidad en matrices de confusión?

Imaginemos que tenemos la siguiente matriz de confusión:

Predecimos condición negativaPredecimos condición positiva
Condición negativaM11M12
Condición positivaM21M22

Algunas de las medidas de calidad en matrices de confusión posibles para esta matriz serían:

Precisión

M22

———————

M12 + M22

Cuantos aciertos tengo del total de predicciones, es decir, el total de predicciones correctas. Nos habla de calidad.

Exhaustividad

(Recall, true positive rate)

M22

———————–

M21 + M22

Menciona que ratio de los aciertos positivos somos capaces de encontrar. Nos habla de cantidad de encuentros.

Tanto la precisión como la exhaustividad están definidas respecto a una clase positiva. Si nos fijamos, en las fórmulas de ambas medidas de calidad para matrices de confusión se pone el M22 como numerador, que es el valor positivo en la matriz de confusión.

Puede ser que se tenga una precisión muy alta en esta medida de calidad, tanto como para decir que todos los que se muestren como aviones en las predicciones son realmente aviones; pero resulta que la medida de acierto es de 1 en 1 avión, de este modo, la precisión puede ser muy buena, pero la exhaustividad al mismo tiempo puede ser muy mala.

En un caso contrario, bajaríamos la precisión a un mínimo posible, pero la exhaustividad sube exponencialmente. En este caso, detectaríamos muchos aviones, pero también mucho ruido.

Exactitud

(Accuracy)

M11 + M22

——————————————

M11 + M12 + M21 + M22

Cuántas predicciones correctas se han hecho.

Con la exactitud hay que tener mucho cuidado cuando se tienen clases muy desbalanceadas. Imaginemos que tenemos un detector de fraude de un sistema bancario. En los detectores de fraude es muy fácil conseguir un accuracy o una exactitud, por eso no se le puede dar tanta importancia. Como es muy fácil conseguir una exactitud del 99%, de todas las medidas de calidad en matrices de confusión, esta es la más inestable.

¿Cómo podríamos conseguir un accuracy de un 99% en una tarjeta de crédito? Simplemente diciendo que no es fraude, de ahí el gran cuidado que se debe tener en este punto.

Valor – F

FB = (1 + B2) Precisión . Exhaustividad

——————————————————-

B2 . Precisión + Exhaustividad

Probabilidad de falso positivo

(false positive rate)

M12

———————

M12 + M11

Cuántos positivos erróneos he detectado de todos los negativos que hay.

Al igual que con la precisión y la exhaustividad como medidas de calidad en matrices de confusión, con la exhaustividad y la probabilidad de falso positivo ocurre un fenómeno similar en el que, mientras una de estas medidas de calidad en matrices de confusión sube, la otra baja.

Veamos un ejemplo corto:

In [34] : fscore <- function (M, beta) {
pr = M [1, 1] / (M [1, 2] + M [1, 1])
rc = M [1, 1] / (M [2, 1] + M [1, 1])
(1 + beta ^ 2) * pr * rc / (beta ^ 2 * pr + rc)
}

paste ("Precisión:", M [2, 2] / (M [1, 2] + M [2, 2]))
paste ("Recall, true positive rate:", M [2, 2] / (M [2, 1] + M [2, 2]))
paste("False positive rate:", M [1, 2] / (M [1, 2] + M [1, 1])) paste("Accuracy:", (M [1, 1] + M [2, 2]) / (M [1, 1] + M [1, 2] + [2, 1] + M [2, 2]))
paste ("F0.5-score", fscore (M, 0.5))
paste("F1-score", fscore (M, 1))
paste("F2-score", fscore (M, beta = 2))

‘Precision: 0.9’

‘Recall, true positive rate: 0.818181818181818’

‘False positive rate: 0.142857145857143’

‘Accuracy: 0.833333333333333’

‘F0.5-score: 0.833333333333333’

‘F1-score: 0.8’

‘F2-score: 0.769230769230769’

Como hemos visto, las medidas de calidad en matrices de confusión son efectivas, pero con algunas de ellas hay que ser muy cuidadosos, ya que estas van a depender del buen uso que les demos. Si quieres seguir aprendiendo más sobre esta temática y otras tantas, te invitamos a inscribirte en nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, con el que, en muy pocos meses, aprenderás todo lo necesario para incursionar en el mundo laboral. ¡Anímate a impulsar tu carrera y solicita más información!

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado