Después de realizar la exploración, selección y, por supuesto, implementación de un modelo y obtener los resultados en forma de probabilidad o clase, el siguiente paso es determinar la efectividad del modelo en base a métricas para la clasificación.
Contenido
Palanca¿Qué métricas para la clasificación?
Podemos utilizar métricas de rendimiento de clasificación como pérdida de registro, precisión, AUC (área bajo la curva), etc. Otro ejemplo de una métrica para evaluar los algoritmos de aprendizaje automático es la precisión, el recuerdo, que se puede usar para ordenar los algoritmos que utilizan principalmente los motores de búsqueda.
Las métricas que elija para evaluar su modelo de aprendizaje automático son muy importantes. La elección de las métricas influye en cómo se mide y compara el rendimiento de los algoritmos de aprendizaje automático. Antes de perder más tiempo, entremos y veamos cuáles son esas métricas.
Matriz de confusión
La matriz de confusión es una de las medidas más intuitivas y sencillas (a menos, por supuesto, que no esté confundido) que se utiliza para determinar la exactitud y precisión del modelo. Se utiliza para problemas de clasificación en los que la salida puede ser de dos o más tipos de clase.
Antes de sumergirnos en lo que es la matriz de confusión y lo que transmite, digamos que estamos resolviendo un problema de clasificación donde estamos prediciendo si una persona tiene cáncer o no.
Démosle una etiqueta a nuestra variable objetivo:
1: Cuando una persona tiene cáncer 0: Cuando una persona NO tiene cáncer.
Ahora que hemos identificado el problema, la matriz de confusión es una matriz bidimensional ("Actual" y "Predicha") y conjuntos de "clases" en ambas dimensiones. Nuestras clasificaciones reales son columnas y las previstas son filas.
La matriz de confusión en sí misma no es una métrica de rendimiento como tal, pero casi todas las métricas de rendimiento se basan en la matriz de confusión y los números que contiene.
Verdaderos positivos (VP): los verdaderos positivos son casos en los que la clase real del punto de datos fue 1 (verdadero) y el valor predicho también es 1.
Ej: El caso en el que una persona realmente tiene cáncer (1) y el modelo clasifica su caso como cáncer (1) se encuentra dentro del Verdadero positivo.
Verdaderos negativos (TN): los verdaderos negativos son casos en los que la clase real del punto de datos era 0 (falso) y el valor predicho también es 0.
Ej.: El caso en el que una persona NO tiene cáncer y el modelo que clasifica su caso como Sin cáncer cae dentro de los Verdaderos Negativos.
Falsos positivos (FP): los falsos positivos son casos en los que la clase real del punto de datos fue 0 (falso) y el valor predicho es 1 (verdadero). Falso porque el modelo predijo incorrectamente y positivo porque la clase predicha fue positiva.
Ej: Una persona que NO padece cáncer y el modelo clasificando su caso como cáncer reporta falsos positivos.
Falsos negativos (FN): los falsos negativos son casos en los que la clase real del punto de datos era 1 (verdadero) y el valor predicho es 0 (falso). Falso porque el modelo predijo incorrectamente y negativo porque la clase predicha fue negativa.
Ej: Una persona con cáncer y el modelo clasificando su caso como libre de cáncer reporta falsos negativos.
El escenario ideal que todos queremos es que el modelo arroje 0 falsos positivos y 0 falsos negativos. Pero este no es el caso en la vida real porque ningún modelo NO será exacto a 100% la mayor parte del tiempo.
Sabemos que habrá un error asociado con cada modelo que usemos para predecir la verdadera clase de la variable objetivo. Esto dará como resultado falsos positivos y falsos negativos (es decir, el modelo clasifica las cosas incorrectamente en relación con la clase real).
No existe una regla estricta y rápida que diga lo que debe minimizarse en todas las situaciones. Solo depende de las necesidades del negocio y el contexto del problema que está tratando de resolver. En base a esto, es posible que queramos minimizar los falsos positivos o los falsos negativos.
Minimizar los falsos negativos
Digamos que en nuestro ejemplo de problema de detección de cáncer, de 100 personas, solo 5 personas tienen cáncer. En este caso, queremos clasificar correctamente a todos los pacientes con cáncer porque incluso un modelo muy MALO (Predecir a todos como NO cancerosos) nos dará una precisión de 95 % (será exacto).
Pero, para capturar todos los casos de cáncer, podríamos terminar haciendo una clasificación donde la persona que NO tiene cáncer se clasifique como cancerosa. Esto podría ser aceptable ya que es menos peligroso que NO identificar/capturar a un paciente con cáncer, ya que de todos modos enviaremos los casos de cáncer para su revisión e informe adicionales. Pero perder a un paciente con cáncer será un gran error porque no se le realizarán más exámenes.
Minimizar los falsos positivos
Para una mejor comprensión de los falsos positivos, usemos un ejemplo diferente donde el modelo clasifica si un correo electrónico es spam o no.
Supongamos que está esperando un correo electrónico importante, como una respuesta de un reclutador o una carta de admisión de una universidad. Etiquetemos la variable de destino y digamos 1: "El correo electrónico es spam" y 0: "El correo electrónico no es spam".
Supongamos que el modelo clasifica ese correo electrónico importante que está esperando desesperadamente como spam (caso de falso positivo). Ahora, en esta situación, es bastante malo clasificar un spam como importante o no porque, en este caso, siempre podemos seguir adelante y eliminarlo manualmente y no es doloroso si sucede de vez en cuando. Por lo tanto, al clasificar el spam, es más importante minimizar los falsos positivos que los falsos negativos.
Precisión
La precisión en los problemas de clasificación es el número de predicciones correctas realizadas por el modelo sobre todo tipo de predicciones realizadas.
En el numerador están nuestras predicciones correctas (verdaderos positivos y verdaderos negativos) (marcadas en rojo en la figura de arriba) y en el denominador están el tipo de todas las predicciones hechas por el algoritmo (tanto buenas como malas).
La precisión es una buena medida cuando las clases de variables objetivo en los datos están casi equilibradas.
Ej: 60 % de las clases en nuestros datos de imagen de frutas son manzanas y 40 % son naranjas.
Un modelo que predice si una nueva imagen es Apple o Orange, 97 veces % correctamente es una muy buena medida en este ejemplo.
La precisión NUNCA debe usarse como medida cuando las clases de variables objetivo en los datos constituyen la mayoría de una clase.
Ej: En nuestro ejemplo de detección de cáncer con 100 personas, solo 5 personas tienen cáncer. Digamos que nuestro modelo es muy malo y predice que no todos los casos son de cáncer. Al hacerlo, clasificó correctamente a estos 95 pacientes sin cáncer y 5 pacientes con cáncer como no cancerosos. Ahora, aunque el modelo es terrible para predecir el cáncer, la precisión de un modelo tan malo también es 95 %.
Precisión (precisión)
Usemos la misma matriz de confusión que usamos anteriormente para nuestro ejemplo de detección de cáncer.
La precisión es una medida que nos dice qué proporción de pacientes que hemos diagnosticado con cáncer realmente tenían cáncer. Los positivos pronosticados (las personas pronosticadas como cancerosas son TP y FP) y las personas que realmente tienen cáncer son TP.
Ej: En nuestro ejemplo de cáncer con 100 personas, solo 5 personas tienen cáncer. Digamos que nuestro modelo es muy malo y predice todos los casos como el cáncer. Como predecimos que todo el mundo tiene cáncer, nuestro denominador (verdaderos positivos y falsos positivos) es 100 y el numerador de la persona con cáncer y el modelo que predice su caso como cáncer es 5. Entonces, en este ejemplo, podemos decir que la precisión de tal un modelo es 5 %.
Recall o sensibilidad (Recall / Sensitivity)
Recordar es una medida que nos dice qué proporción de pacientes que realmente tenían cáncer fueron diagnosticados con cáncer por el algoritmo. Los verdaderos positivos (las personas con cáncer son TP y FN) y las personas diagnosticadas por el modelo con cáncer son TP. (Nota: FN se incluye porque la persona realmente tenía cáncer a pesar de que el modelo predijo lo contrario).
Ej: En nuestro ejemplo de cáncer con 100 personas, 5 personas en realidad tienen cáncer. Digamos que el modelo predice cada caso como cáncer.
Entonces nuestro denominador (verdaderos positivos y falsos negativos) es 5 y el numerador, la persona con cáncer y el modelo que predice su caso como cáncer también es 5 (ya que predijimos correctamente 5 casos de cáncer). Entonces, en este ejemplo, podemos decir que la recuperación de dicho patrón es 100 %. Y la precisión de dicho modelo (como vimos arriba) es 5 %
Claramente, el recuerdo nos da información sobre el desempeño de un clasificador con respecto a los falsos negativos (cuántos fallamos), mientras que la precisión nos brinda información sobre su desempeño con respecto a los falsos positivos (cuántos atrapamos).
La precisión se trata de ser preciso. Entonces, incluso si logramos capturar un solo caso de cáncer, y lo capturamos correctamente, tenemos una precisión de 100 %.
El retiro no se trata tanto de capturar correctamente los casos, sino de capturar todos los casos que tienen "cáncer" con la respuesta "cáncer". Entonces, si todavía etiquetamos cada caso como "cáncer", tenemos 100 % retirados.
Básicamente, si queremos centrarnos más en el minimización falsos negativos, nos gustaría que nuestra recuperación sea lo más cercana posible a 100 % sin que la precisión sea demasiado mala y si queremos centrarnos en minimizar los falsos positivos, nuestro objetivo debe ser hacer que la precisión sea lo más cercana posible a 100 %.
especificidad
La especificidad es una medida que nos dice qué proporción de pacientes que NO tenían cáncer fueron predichos por el modelo como libres de cáncer. Los verdaderos negativos (las personas que NO tienen cáncer son FP y TN) y las personas que hemos diagnosticado que no tienen cáncer son TN. (Nota: FP se incluye porque la persona en realidad NO tenía cáncer, aunque el modelo predijera lo contrario). La especificidad es exactamente lo contrario de recordar.
Ej: En nuestro ejemplo de cáncer con 100 personas, 5 personas en realidad tienen cáncer. Digamos que el modelo predice cada caso como cáncer.
Así que nuestro denominador (falsos positivos y verdaderos negativos) es 95 y el numerador, persona sin cáncer y el modelo que predice su caso como sin cáncer es 0 (ya que predijimos cada caso como cáncer). Entonces, en este ejemplo, podemos decir que la especificidad de dicho patrón es 0 %.
Puntuación F1 (puntuación F1)
Realmente no queremos llevar Precision y Recall en nuestros bolsillos cada vez que construimos un modelo para resolver un problema de clasificación. Por tanto, es preferible obtener una única puntuación que represente tanto la precisión (P) como la recuperación (R).
Una forma de hacer esto es simplemente tomar su media aritmética. es decir, (P+R)/2 donde P es Precisión y R es Recuperación. Pero es bastante malo en algunas situaciones.
Supongamos que tenemos 100 transacciones con tarjeta de crédito, de las cuales 97 son legítimas y 3 son fraudulentas y decimos que hemos encontrado un modelo que predice todo como fraude.
La precisión y recuperación del ejemplo se muestra en la siguiente figura.
Ahora, si solo tomamos la media aritmética de los dos, resulta casi 51 %. No deberíamos dar una calificación tan moderada a un modelo terrible porque solo predice cada transacción como un fraude.
Entonces necesitamos algo más balanceado que la media aritmética y esa es la media armónica.
La media armónica viene dada por la fórmula que se muestra en la figura de la izquierda.
La media armónica es un tipo de media cuando x e y son iguales. Pero cuando x e y son diferentes, entonces está más cerca del número más pequeño que del número más grande.
Para nuestro ejemplo anterior, Puntuación F1 = Media armónica (Precisión, Recuperación)
Puntuación F1 = 2 * Precisión * Recuperación / (Precisión + Recuperación) = 2*3*100/103 = 5%
Entonces, si un número es realmente pequeño entre la precisión y la recuperación, el puntaje F1 levanta una bandera y está más cerca del número más pequeño que del más grande, lo que le da al modelo un puntaje apropiado en lugar de solo una media aritmética.
¡Hasta la próxima lección!
Hasta ahora hemos visto como métricas para la clasificación qué es la matriz de confusión, qué es la exactitud, la precisión, el recuerdo (o sensibilidad), la especificidad y la puntuación F1 para la clasificación de un problema. En el próximo artículo, otras medidas que se pueden usar como métricas para la clasificación, como la curva AUC-ROC, la pérdida de registro, la puntuación F-Beta, etc.