Evaluando los algoritmos de clasificación

Inteligencia Artificial en Salud

Evaluando los algoritmos de clasificación

Evaluación los algoritmos de clasificación

Las métricas de evaluación de un algoritmo o modelo de clasificación explican el rendimiento de un modelo. Antes de comenzar esta lectura te recomendamos leer mi post sobrela matriz de confusion donde se explican todos estos términos

Básicamente, se comparan los valores reales del conjunto de pruebas con los valores pronosticados por el modelo, para calcular su precisión. Las métricas de evaluación del modelo de clasificación proporcionan un papel clave en el desarrollo de un modelo, ya que proporcionan pistas de las áreas que pueden mejorarse. Hay diferentes métricas de evaluación de modelos, pero vamos a evaluar las más usadas: índice de Jaccard, el F1-score y Log Loss.

Índice de Jaccard

Es una de las medidas de precisión más simples, y también es conocido como el coeficiente de similaridad Jaccard. Para el cálculo de este índice se utiliza la teoría de conjuntos y se puede definir como la intersección de los conjuntos de valores predichos y reales dividido por unión de los dos conjuntos de datos. Si el conjunto completo de etiquetas predichas para una muestra coincide estrictamente con el conjunto verdadero de etiquetas, entonces la precisión del es 1.0, en el extremo contrario, si no coincide ningún valor, el índice es 0.0.

Evaluando los algoritmos de clasificación: La Matriz de confusión (F1-score)

La matriz de confusión muestra las predicciones correctas y exhaustivas, en comparación con las etiquetas reales. Cada fila de la matriz de confusión muestra las etiquetas Reales/Verdaderas del conjunto de pruebas, y las columnas muestran las etiquetas predichas por el clasificador. La matriz de confusión muestra la habilidad del modelo para predecir correctamente. En el caso específico de un clasificador binario podemos interpretar estos números como el recuento de positivos verdaderos (aciertos), positivos falsos (errores), negativos verdaderos (errores), y negativos falsos (aciertos). Basándonos en el conteo de cada sección, podemos calcular la precisión y la exactitud de cada una de las etiquetas. La precisión es una medida de la exactitud, a condición de que una etiqueta de clase se haya predicho correctamente.

 

Por lo tanto, podemos calcular la precisión y la exactitud de cada clase y con ello el F1-scores para cada etiqueta: El F1-score es el promedio armónico de la precisión y la ex exactitud, donde el F1-score alcanza su mejor valor en 1 (que representa la precisión y la exactitud  perfecta) y su peor valor en 0.

 

Exactitud

Es el número de predicciones correctas realizadas por el modelo por el número total de registros. La mejor precisión es el 100%, lo que indica que todas las predicciones son correctas.

Toma en cuenta que la exactitud no es una medida válida del rendimiento del modelo cuando se tiene un conjunto de datos desequilibrado.

ERRORES-BLOG-3

Errores clasificación 1

Errores clasificación 2

Expliquemos esto con nuestro ejemplo, en el caso de que tengamos los datos de detección de cáncer de 100 personas y solo 5 de ellas tiene cáncer. Al construir el modelo, este es muy malo y predice cada caso como NO cáncer, es decir ha clasificado correctamente a los 95 pacientes no cancerosos y a 5 pacientes cancerosos como NO cancerosos. Ahora, aunque el modelo es terrible para predecir el cáncer la precisión del mismo es del 95%. Por lo tanto, NO se puede fiar de la exactitud en casos de que los datos se encuentren desbalanceados.  Puede visitar el pos sobre des-balance de clases en modelos de machine learning en el siguiente enlace.

 

 

Precisión

Con precisión, estamos evaluando nuestros datos por su desempeño de predicciones “positivas”.

ERRORES-BLOG-6

ERRORES-BLOG-7

Si usamos nuestro ejemplo, la precisión es una medida que nos dice qué proporción de pacientes a los que diagnosticamos que tiene cáncer, en realidad tuvo cáncer.

Errores clasificación 3

Si volvemos a utilizar el ejemplo de cáncer con 100 personas y solo 5 tienen cáncer. Nuestro modelo es muy malo y predice todos los casos como cáncer, por lo que el denominador de la formula es 100 y el numerador, las personas que tienen cáncer y que el modelo predijo correctamente es 5. Por lo tanto, en este ejemplo, podemos decir que la precisión es del 5%.

Sensibilidad

La sensibilidad también es llamada Recall y se calcula como el número de predicciones positivas correctas dividido por el número total de positivos.

ERRORES-BLOG-9

 

La sensibilidad es una medida que nos dice qué proporción de pacientes que realmente tuvieron cáncer fue diagnosticado por el algoritmo como si tuviera cáncer.

Errores clasificación 4

En nuestro ejemplo de cáncer con 100 personas, 5 personas realmente tienen cáncer. Digamos que el modelo predice todos los casos de cáncer. Así que nuestro denominador, verdaderos positivos y falsos negativos, es 5 y el numerador la persona que tiene cáncer y el modelo que predice su caso como cáncer también es 5, ya que predijimos 5 casos de cáncer correctamente. Entonces, en este ejemplo, podemos decir que la sensibilidad de dicho modelo es del 100% y la precisión el del 5%, como vimos anteriormente.

Especificidad

La especificidad, tasa negativa verdadera, se calcula como el número de predicciones negativas correctas dividido por el número total de negativos.

ERRORES-BLOG-12

 

La especificidad es una medida que nos dice qué proporción de pacientes que NO tuvieron cáncer, fueron predichos por el modelo como no cancerosos.

La especificidad es exactamente lo contrario a la sensibilidad.

Errores clasificación 5

En nuestro ejemplo de cáncer con 100 personas, 5 personas realmente tienen cáncer, digamos que el modelo predice todos los casos de cáncer. Así que nuestro denominador, falsos positivos y verdaderos negativos, es 95 y el numerador, la persona que no tiene cáncer y el modelo que predice el dato correctamente, será 0, ya que predijimos todos los casos como cáncer. Entonces, en este ejemplo, podemos afirmar que la especificidad de dicho modelo es del 0%.

 

Veamos un resumen de todos los conceptos:

La matriz de confusión y sus métricas

Puntaje de F1

Realmente no queremos calcular la precisión y la sensibilidad cada vez que creamos un modelo para resolver un problema de clasificación, así que es mejor si podemos obtener una puntuación única que represente ambas variables.

El puntaje F1 es el promedio ponderado de precisión y sensibilidad. Por lo tanto, esta puntuación tiene en cuenta tanto los falsos positivos como los falsos negativos.Es especialmente útil en modelos con clases desbalanceadas

Errores clasificación 6

ERRORES-BLOG-16

En nuestro ejemplo de cáncer con 100 personas, 5 personas realmente tienen cáncer, digamos que modelo predice todos los casos de cáncer.

La precisión será del 5% y la sensibilidad del 100%, sustituyendo estos valores en la formula nos da un puntaje F1 de 9,5%.

 

Evaluando los algoritmos de clasificación: El Log Loss

A veces, el resultado de un clasificador es la probabilidad de una etiqueta de clase, en lugar de la etiqueta. Por ejemplo, el resultado puede ser la probabilidad de abandono del cliente, es decir, si el resultado es 1, entonces el cliente abandonaría. Esta probabilidad es un valor entre 0 y 1. Log loss mide el rendimiento de un clasificador donde el resultado pronosticado es un valor de probabilidad entre 0 y 1.
Se puede calcular el Log loss para cada fila utilizando la ecuación de Log loss, que mide como de lejos está cada predicción con respecto a la etiqueta real. Luego calculamos el Log loss promedio en todas las filas del conjunto de pruebas:

LogLoss = -\frac{1}{n} \cdot \sum_{}^{}{(y \cdot \log{(y') + (1 - y) \cdot \log{(1 - y')}})}

Es evidente que los clasificadores más idóneos tienen valores progresivamente más pequeños de Log loss. Por lo tanto, el clasificador con menor Log loss tiene una mejor precisión.

 

Este artículo fue escrito y adaptado de varias fuentes (en especial del sitio aprendeia.com) , por el Dr. Juan Ignacio Barrios. MD MSc D Sc.    El autor es médico y cirujano especialista en informática médica con una maestría en Business Intelligence y consultoría Tecnológica , es experto en BIG DATA y Ciencia de Datos.  Aplica modelos de Machine Learning al campo de la salud . Actualmente reside en Barcelona donde es profesor visitante de la cátedra de Informática Médica de la Universidad de Barcelona.  También es docente en  Algoritmia, el Instituto Europeo de Formación Tecnológica.

 

Se agradece a los autores su valiosa contribución

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

HTML Snippets Powered By : XYZScripts.com