7. Entrenamiento de redes neuronales d) Métricas derivadas

En este apartado vamos a ampliar las métricas que podemos usar con la clasificación binaria las cuales ya vimos en 7. Entrenamiento de redes neuronales c) Métricas.

Para ampliar nos vamos a basar en este diagrama (que se puede ver en Matriz de confusión en Wikipedia)

Las métricas que ya las hemos explicado en el tema de métricas son:

Métricas básicas (Sensibilidad, Especificidad, FNR y FPR)

Métricas derivadas según el teorema de bayes (PPV,NPV, FDR y FOR)

Las métricas que ahora vamos a ver son métricas que hacen la media entre dos métricas de las que acabamos de indicar.

Para organizar las métricas según 2 criterios:

Según que métricas juntan

Métricas básicas (Sensibilidad, Especificidad, FNR y FPR)

Métricas derivadas (PPV,NPV, FDR y FOR)

Métricas mixtas, que usa una básica y otra derivada.

Juntado dos Métricas Básicas

Las 4 métricas básicas son Sensibilidad, Especificidad, FPR y FNR. Según eso existen las siguientes métricas:

Accuracy

Accuracy (Exactitud) mide la proporción de predicciones correctas sobre el total de predicciones realizadas. Por lo que su fórmula es:

Debido a que usa los 4 valores vamos a expresar la misma fórmula usando Especificidad, Sensibilidad y Prevalencia. Esto se hace ya que así podremos usar la prevalencia que queramos y no la de nuestros datos.

Eso se puede expresar como la suma de 2 probabilidades

Por lo tanto la fórmula que como:

Vamos a ver que para la prevalencia de los datos, las 2 fórmulas son iguales.

Balanced Accuracy

Realmente esta no es una nueva métrica sino que es la misma que Accuracy pero con una prevalencia del 0.5

Pero si calculamos Accuracy suponiendo que la obtenemos:

Informedness o Indice Youden

Es la suma de la sensibilidad más la especificidad menos 1.

Mas información:

Youden Index and the optimal threshold for markers with mass at zero: El indice Youden es el máximo Informedness según el threshold

Youden-Index for rating diagnostic tests: Explicación del índica Informedness o indice Youden

Para elegir cual es el mejor threshold posible a veces se usa el threshold que genera el mayor valor de Informedness

Area under the curve (AUC)

La Area under the curve (AUC) es una métrica que nos dice el área de una curva ROC. Pero pasemos primero a explicar que es una curva ROC.

Lo primero es que cuando predecimos que ciertos valores son Positivos o Negativos, lo hacemos en base a un umbral. Normalmente si algo es menor o igual que 0.5 decimos que es Negativo y si es mayor que 0.5 decimos que es Positivo. Pero ese umbral es arbitrario.

La siguiente imagen muestra la distribución de valores que hemos definido como presuntamente Positivos y los presuntamente Negativos. Si superan ese umbral se convierten en Falsos Positivos o Falsos Negativos.

En las siguientes gráficas vamos a ver como afecta a nuestro modelo el variar el umbral.

Vamos a explicar cada columna de la imagen anterior:

1º Columna: Se muestra la distribución de los Positivos y los Negativos que ha hecho el modelo. Pero según el umbral podrán ser True Positive (TP), True Negative (TN),False Positive (FP) y False Negative (FN)

2º Columna: Se muestra como evolucionan los True Positive (TP), True Negative (TN),False Positive (FP) y False Negative (FN) según se modificara el umbral. Para ello para cada umbral entre 0 y 1:

Se cuenta cuantos Positivos hay bajo el umbral que serán los False Positive (FP)

Se cuenta cuantos Positivos hay sobre el umbral que serán los True Positive (TP)

Se cuenta cuantos Negativos hay bajo el umbral que serán los True Negative (TN)

Se cuenta cuantos Negativos hay sobre el umbral que serán los False Negative (FN)

3º Columna: Se calculan las métricas de True Positive Rate (TPR) y False Positive Rate (FPR) según las siguientes fórmulas:

4º Columna: Muestra el True Positive Rate (TPR) frente a False Positive Rate (FPR). Es decir que cada punto la X de la gráfica es el FPR y la Y de la gráfica es el TPR.

Cada una de las filas de la imagen son predicciones distintas, siendo:

1º Fila: Una predicción perfecta.

2º Fila: Una predicción buena

3º Fila: Una predicción mala en la que falla lo mismo que acierta. Sería como hacerlo aleatorio con un 50% de probabilidades de acertar.

4º Fila: Una predicción nefasta que falla la mayoría de las veces.

5º Fila: Una predicción lamentable que nunca acierta.

Entonces, ¿Que es la Area under the curve (AUC)? Es el área de la curva ROC es decir el área rosa de las gráficas de la última columna. Si nos fijamos cuanto mejor es la predicción, mayor es el área rosa y por lo tanto mayor es la métrica de AUC.

Destacar que se hace uso de la métrica AUC que es una métrica como cualquier otra que tiende a 1 si es buena y a 0 si es mala pero lo que no vas a ver al usar la métrica de AUC es la curva ROC. La curva ROC se muestra para entender que significa la métrica AUC pero no se dibuja normalmente.

En keras podemos usar la métrica de AUC de la siguiente forma: Su uso en Keras es

y usarla como

Con sklearn podemos usar la métrica de AUC de la siguiente forma:

Juntado dos Métricas derivadas

Las 4 métricas derivadas son PPV, NPV, FDR y FOR.

Markdness

Es la suma de la PPV más la NPV menos 1.

Métricas mixtas

Son métricas que juntan una métrica básica con una métrica derivada.

F1-score

Es la media armónica entre Sensibilidad y Precision que permite combinar en una única métrica ambos valores. Se ha usado la media armónica ya que tiende atener un valor muy bajo para valores bajos. Por ello no se "cancelan" valores buenos de Sensibilidad con valores malos de Precision ya que en ese caso F1-score tenderá a ser bajo por lo que indicará que nuestro modelo es malo.

Pero si sumamos las fracciones y hacemos la división:

Siendo el resultado la formula que se ve como definición de F1-score:

Matthews Correlation Coefficient o MMC

Es otra métrica pero que tiene en cuenta que los datos no estén balanceados.

El MMC tiene un valor entre -1 a 1. Siendo:

1 : El clasificador funciona perfectamente

0 : El clasificador acierta aleatoriamente

-1 : El clasificador acierta peor que aleatoriamente, es decir que clasifica al revés "perfectamente"

Podemos hacer uso de la métrica con la función sklearn.metrics.matthews_corrcoef de sklearn

Ejemplo de uso:

Mas información:

sklearn.metrics.matthews_corrcoef

Matthews Correlation Coefficient is The Best Classification Metric You’ve Never Heard Of

Ten quick tips for machine learning in computational biology

Phi Coefficient A.K.A Matthews Correlation Coefficient (Binary Classification)

The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation

Phi coefficient-Wikipedia