Está en la página 1de 11

Evaluation Metrics for Machine Learning 

Erick José Ruiz Acosta, Armando Miguel Tapia Meza


Facultad de ingeniería, Universidad Tecnológica de Bolívar, Kilometro 1 Via Turbaco,
Cartagena, Colombia
atapia@utb.edu.co , acostae@utb.edu.co

1. Introduccion

Las metricas de evalucion son en terminos generales, medidas de lo bien o mal que
un clasificador o algoritmo de clasificacion de machine learning a realizado las
predicciones que se le solicitan hacer. Las metricas pueden venir en distintas formas,
algunas son matrices, tambien pueden ser graficas o en los casos mas simples y practicos
pueden ser un unico numero.

Sabiendo eso, realizaremos una revision de un conjunto de metricas de evaluacion,


de varios tipos, usadas con frecuencia en Machine Learning, para medir la validades o la
calidad de las predicciones dadas por un determinado algormitmo, en un contexto
determinado. Veremos la definicion matematica de las metricas y una explicacion de su
funcionamiento base.

2. Metricas de evaluacion

2.1 Confusion Matrix


La matrix de confusion, no se puede considerar una metrica en todo el sentido de la
palabra, en terminos mas concretos en una matrix que contiene tantas columnas y filas
como clases tenga el problema en el que se esta trabajando. La matriz relacionada la
cantidad de ejemplos que han sido clasificados en una clase a la que no pertenecen vs
aquellos que son clasificados dentro de la clase que pertenecen.
a b

a 20 24

b 45 82

Tabla 1. Ejemplo de matriz de confusion con dos clases

Como podemos ver en el ejemplo de la tabla 1, existen 24 ejemplos que fueron de la


clase A que fueron predichos como de la clase B y 45 de la clase B que fueron predichos de
la clase A a los cuales se les llama falsos positivos. A si mismo en importante tener claro
que los valores predichos correctamente son aquellos que se encuentran en la diagonal de la
tabla.

2.2 F1-Score

Esta es una metrica que mezcla dos metricas, particularmen la metrica de recall y la
metrica de precision, por lo cual es importante conocer estas dos metricas antes de intentar
una definicion a F1-Score.

En primer lugar tenemos a recall, la cual es una medida de la fraccion de los


ejemplos de una clase que fueron predichos asi:

R ecall=Verdaderos positivos/( Verdaderos positivos+ Falsosnegativos)

Por otro lado tenemos a precision, que es una medida de la precision de una clase en
especifica y se define como:

Precision=Verdaderos positivos/(Verdaderos positivos+ Falsos positivos)

Ahora, teniendo claro lo anterior podemos definir F1-Score como la media


harmonica entre Recall y Precision:

F 1 − Score=2 × Precision× Recall/(Precision + Recall) [1]


2.3 Log loss

Al igual que el F1-Score, esta es una metrica que se define en terminos de otra en este caso,
Log loss se puede definir como una metrica probabilistica que es el negativo de la funcion
de verosimilitut o log-likehood.

Por lo anterior es importan tener una definicion clara de que es la funcion de simulitud,
como la dada por Valavanis:

“En estadística, la función de verosimilitud (a menudo llamada simplemente


verosimilitud) mide la bondad del ajuste de un modelo estadístico a una muestra de datos
para valores dados de los parámetros desconocidos. Se forma a partir de la distribución de
probabilidad conjunta de la muestra, pero se ve y se utiliza sólo como una función de los
parámetros, tratando así las variables aleatorias como fijas en los valores observados” [2].

Entonces podemos concretar de Log Loss como: −1 × log likehood function

2.4 Mean Square Error


La metrica del error cuadrado medio se puede definir basicamente como la
diferencia entre la solucion deseas y la solucion obtenida al realizar la prediccion. Si se
desea usar esta metrica para evaluar la calidad de un algoritmo se debe buscar que el valor
sea el menor posible. Matematicamente la podemos describir como:

n
1
M SE= ∑ ( P − A j )2
n j=1 j

Donde P j es el valor predicho de un instancia j y A es el valor esperado de esa


misma instancia y n es el total de instancias que se estan evaluando [3].

2.5 Area under the ROC Curve (AUC)


El AUC es una metrica usada popularmente, que evalua el rendimiento general del
proceso de clasificacion de un algoritmo de clasificacion de Machine Learning, basado en
la cantidad de ejemplos negativos y positivos que existen a comparacion de los ejemplos
positivos que el algoritmo clasifico. Su formulacion matematica para un algoritmo con dos
clases es como se muestra a continuacion:

s p −n p ( nn +1)/2
A UC=
n p nn

Donde s p es la suma de todos los ejemplo positivos clasificados, n p y n n , denotan el


numero de ejemplos positivos y negativos respectivamente [3].

2.6 Gráfica Kolmogotov-Smirnov

La distribución Kolmogorov-Smirnov fue concebida originalmente como una


prueba de bondad de ajuste para medir la similitud entre distribuciones, sin embargo, en
machine learning esta es usada como un indice de disimilitud en problemas binarios de
clasificación. Básicamente lo que se busca con esta métrica es medir que tan bueno es el
poder discriminatorio de un modelo basándose en la máxima distancia vertical entre las
funciones de distribución acumulada de las dos clases, entre mayor sea esta distancia mejor
será el modelo en cuestión [4].
A continuación, analizaremos un ejemplo de cómo se calcula esta métrica usando
el método del decil.

Figura 1. Ejemplo Tabla de datos agrupados

Nota. CALCULATE KS STATISTIC WITH PYTHON [Imagen], Por Deepanshu Bhalla:


LISTEN DATA MAKE YOUR DATA TELL A HISTORY, 2020, Recuperado de
(https://www.listendata.com/2019/07/KS-Statistics-Python.html )
Para construir la tabla se siguen los siguiente pasos:

1. Dividir en 10 intervalos los puntajes de la probabilidad predicha y organizarlos en


orden decreciente, de esta forma para las columnas que estén más arriba se espera
que la muestra pertenezca a la clase positiva y las de más abaja a la negativa.
2. Realizar un conteo de cuantas muestras de ambas clases pertenecen a cada intervalo
3. Dividir cada frecuencia entre el total de cada clase para calcular el ratio
4. Sumar cada ratio para obtener su acumulado
5. Calcular el valor absoluto de la diferencia de ambos ratios, el cual corresponde a la
distancia entre ambas clases o la métrica KS

Una vez hemos construido la tabla solo nos queda graficar los ratios acumulados y
el decil que tenga la mayor distancia vertical entre las clases.

Figura 2. Gráfica Kolmogórov-Smirnov

Para este ejemplo podemos observar que la máxima diferencia se registra en el


decil 3 con una distancia o diferencia del 57.8% entre las clases.
2.7 Gráficos de ganancia y elevación

Los gráficos de ganancia y elevación son métricas graficas de rendimiento que


consisten en una curva de elevación y una linea base. La linea base es entendida como el
rendimiento de un clasificador aleatorio y es el umbral sobre el cual se desea que el nuevo
modelo se encuentre.
Los gráficos de ganancia nos permiten visualizar el tamaño del conjunto de datos
requerido para alcanzar cierta cantidad de verdaderos positivos. Es decir que en el eje y se
encuentra los verdaderos positivos y en el eje x el número de muestras o registros
considerado para una cantidad especifica de verdaderos positivos; De hecho, esta
representación está estrechamente relacionada con las curvas ROC y lo que las diferencia
es que las curvas ROC cuentan el número de falsos positivos para los cuales se alcanza
determinada tasa de verdaderos positivos y las gráficas de elevación cuenta tanto los
verdaderos como los falsos positivos [5].
Por otro lado, tenemos la gráfica de elevación la cual representa el rendimiento del
modelo que se está analizando sobre el modelo aleatorio, esta gráfica conserva el mismo eje
horizontal que la de ganancia mientras que en el eje vertical se tiene el ratio de ganancia del
modelo actual sobre el modelo aleatorio. Para crear ambas gráficas se siguen los siguientes
pasos:

1. Obtener las probabilidad predicha para la clase positiva y organizarla en


orden decreciente.
2. Dividir el conjunto de datos en 10 deciles y contar el número de verdaderos
positivos en cada decil y el acumulado de verdaderos positivos.
3. Calcular el número de verdaderos positivos y el acumulado de verdaderos
positivos para cada decil.
4. Calculas la ganancia o la elevación para cada decil dependiendo del gráfico
que se requiera.

Acumulado de observaciones positivas por decil


a. Ganancia=
Numero total de observaciones positivas en el dataset
b.

Acumulado de observaciones positivo por decil para el modelo actual


Elevación=
Acumuladode observaciones posotivas por decil para el modelo aleatorio

Figura 3. Numero de positivos por decil respecto al total de positivos

Nota. Understanding Gain Chart and Lift Chart [Imagen], Por Ishika Tailor: geeksforgeeks, 16 de
marzo de 2021, Recuperado de: (https://www.geeksforgeeks.org/understanding-gain-chart-and-lift-
chart/ )

Una vez tabulados todos los datos necesarios procedemos a graficar la curva de
ganancia junto a la linea base del modelo aleatorio.
Figura 4. Gráfico de ganancia

Nota. Understanding Gain Chart and Lift Chart [Imagen], Por Ishika Tailor: geeksforgeeks, 16 de
marzo de 2021, Recuperado de: (https://www.geeksforgeeks.org/understanding-gain-chart-and-lift-
chart/ )

Una de las aplicaciones de este método de evaluación del rendimiento lo


encontramos en las campañas de marketing, digamos que para cierta campaña se busca
obtener una tasa de respuesta por parte del cliente del 50%. Si usamos el modelo aleatorio
deberíamos contactar a la mitad de los clientes para obtener la tasa de respuesta deseada,
mientras que si usamos el modelo actual con tan solo el 20% obtenemos una tasa del
66.22% que supera con creces lo que el modelo aleatorio ofrece.

En cuanto a la gráfica de elevación su cálculo no es muy distinto, se siguen los


mismo pasos, pero en este caso se divide en deciles el acumulado de positivos del modelo
aleatorio y la elevación también se calcula igualmente respecto al modelo aleatorio. Una
vez tabulados estos datos se procede a graficar la curva de elevación.

Figura 5. Gráfico de elevación.


Para este mismo ejemplo podemos ver que con el 10% de los datos el modelo actual es casi
rinde casi 4,5 veces más que el modelo aleatorio.

2.8 Coeficiente Gini


El coeficiente Gini en un principio fue desarrollado como un indice que media la
distribución desigual de la riqueza, mientras más grande es el indice más grande es la
desigualdad.
Aplicado a machine learning el coeficiente Gini es usado como un estadístico que
mide el rendimiento de un clasificador binario y es definido como el ratio de las áreas en el
diagrama de las curvas de Lorenz [6]. Es gracias a esto y a la relación que guarda con la
curva ROC-AUC, es matemáticamente sencillo calcular el coeficiente Gini a partir del are
bajo la curva empleando la siguiente formula.
Gini=2∗AUC −1

2.9 Ratio concordancia-discordancia


El ratio de concordancia-discordancia es una métrica usada para medir le
rendimiento de un modelo que se basa en la probabilidad de éxito de cada observación.
Consideremos un par de observaciones (i , j), donde i representa una observación exitosa y j
una no exitosa cada una con sus respectivas probabilidades ( P1 , P2 ¿, un buen modelo
tendrá una probabilidad de éxito para i mucho más grande que para la observación que j
que no lo es, Por lo tanto, los pares que cumplan la condicion de que P1 > P2 se les llamas
pares concordantes y por el contrario para discordantes, cuando ambas probabilidades son
iguales son pares empatados [7].
Dada esto el ratio de concordancia es la división entre los pares concordantes y la
cantidad de pares en total, el ratio de concordancia se calcula de la misma forma
exceptuando que el denominador de la división son los pares discordante. Para poder
calcular estas métricas debemos de tener las observaciones y sus respectivas probabilidades
predichas.
ID target Porbability
0 1 0,70848064
1 1 0,76156378
2 0 0,51887033
3 0 0,59896631
4 0 0,71781574

Tabla 2. Observaciones y probailidades predicihas

Una vez tenemos la tabulados las observaciones y sus probabilidades procedemos


a determinar las posibles parejas que podemos generar en este caso serian 2 observaciones
positivas por 3 negativas nos daría un total de 6 parejas diferentes.

Pair (1,0) Probabilities(1,0) C|D|T


0 2 0,70848064 0,51887033 C
0 3 0,70848064 0,59896631 C
0 4 0,70848064 0,71781574 D
1 2 0,76156378 0,51887033 C
1 3 0,76156378 0,59896631 C
1 4 0,76156378 0,71781574 C

Tabla 2. Parejas y CDT

Ahora solo queda contar las parejas concordantes, discordantes y dividir ambas
entre el número total de parejas.

concordance _rate 83%


Discodance_rate 17%

Como podemos apreciar el modelo tiene una tasa de concordancia del 83% lo cual nos
indica que es un modelo con un rendimiento decente.

Referencias
[1] Minaee, S. (2019). 20 Popular Machine Learning Metrics. Part 1: Classification &
Regression Evaluation Metrics. Retrieved 30 September 2021, from
https://towardsdatascience.com/20-popular-machine-learning-metrics-part-1-classification-
regression-evaluation-metrics-1ca3e282a2ce

[2] Valavanis, S. (1959). Econometrics: An introduction to maximum likelihood methods.


New York: McGraw-Hill
[3] Hossin, M., & Sulaiman, M. (2015). A Review on Evaluation Metrics for Data
Classification Evaluations [Ebook] (p. 5). International Journal of Data Mining &
Knowledge Management Process (IJDKP). Retrieved from
https://aircconline.com/ijdkp/V5N2/5215ijdkp01.pdf
[4] Adeodato, P., & Melo, S. (2016). On the equivalence between Kolmogorov-Smirnov
and. Recife-PE. 
[5] Japkowicz, N., & Shah, M. (2011). Evaluating Learning Algorithms A Classification
Perspective. New York: cambridge university press. 
[6] Abrahams, C. R., Zhang, M., & Abrahams, C. R. (2008). Fair Lending
Compliance. John Wiley & Sons, Incorporated. 
[7] Samprit, C., & Jeffrey, S. S. (2012). Handbook of Regression Analysis. John Wiley &
Sons Incorporated. 
[8] Tailor, I. (16 de marzo de 2021). geeksforgeeks. Obtenido de geeksforgeeks
ttps://www.geeksforgeeks.org/understanding-gain-chart-and-lift-chart/ 

También podría gustarte