Tema 3
Tema 3
Aprendizaje Automático
Evaluación de algoritmos
de clasificación
Índice
Esquema 3
Ideas clave 4
3.1. ¿Cómo estudiar este tema? 4
3.2. Algoritmos de clasificación 5
3.3. Métricas de evaluación: matriz de confusión 5
© Universidad Internacional de La Rioja (UNIR)
Lo + recomendado 17
+ Información 19
Test 21
© Universidad Internacional de La Rioja (UNIR)
Algoritmos de clasificación
Métricas de algoritmos de
Clasificación binaria Clasificación multiclase
clasificación
▶ Precisión
▶ Recall
▶ Acurracy
▶ Sensivity
▶ Specificity
▶ F-mesure
Aprendizaje Automático
Tema 3. Esquema
Esquema
3
Ideas clave
E
n este tema veremos los algoritmos de clasificación, los cuales son un tipo
de algoritmos de aprendizaje supervisado donde la variable a predecir es
categórica.
Aprendizaje Automático
4
Tema 3. Ideas clave
3.2. Algoritmos de clasificación
D
entro del aprendizaje supervisado, a continuación de los algoritmos de
regresión, el siguiente gran grupo de algoritmos son los de clasificación.
A diferencia de los algoritmos de regresión cuyo objetivo es predecir un
valor numérico, los algoritmos de clasificación tienen como objetivo obtener la clase
más probable para cada una de las instancias.
L
a mejor métrica de rendimiento de un algoritmo de clasificación es ver si el
clasificador tiene éxito para su propósito. Para evaluar un clasificador se
© Universidad Internacional de La Rioja (UNIR)
pueden utilizar los valores predichos de las clases, los valores reales de las
clases o bien la probabilidad estimada de la predicción.
Aprendizaje Automático
5
Tema 3. Ideas clave
En la práctica lo habitual es mantener dos vectores de datos. Por un lado, un vector
que contiene la verdad o los valores observados y otro vector que contiene los valores
predichos o estimados. Es importante resaltar que ambos vectores deben tener el
mismo tamaño y los datos en el mismo orden. En este tipo de algoritmos de
aprendizaje supervisado la clase verdadera se conoce de antemano y esta variable se
utiliza para evaluar el algoritmo en el conjunto de test comparándola con el resultado
predicho.
En la mayoría de los paquetes del lenguaje R, esto se realiza por medio de invocar a
la función predict() sobre un objeto que es el resultado de un modelo entrenado
previamente y sobre un conjunto o [Link] de test. Ejemplo:
Incluso en el caso de los clasificadores binarios, que realizan la predicción de una clase
en función de dos posibles categorías, es muy útil conocer con que certeza o
confianza se predice cada una de las clases.
Por ejemplo, un mensaje de correo electrónico puede ser predicho como spam con
© Universidad Internacional de La Rioja (UNIR)
Aprendizaje Automático
6
Tema 3. Ideas clave
En resumen, el objetivo es obtener modelos que tienen mucha confianza en las
predicciones correctas y sean temerosos en las predicciones dudosas. Este balance
entre confianza y prudencia es la clave de la evaluación de modelos.
corte a partir del cual se establece que la predicción es de una clase o de otra, se
pueden realizar las evaluaciones correspondientes.
Aprendizaje Automático
7
Tema 3. Ideas clave
Por ejemplo, en la siguiente tabla se muestran los resultados obtenidos de un modelo
de clasificación binaria donde la variable a predecir es si un correo electrónico es
spam o no. El primer ejemplo se ha predicho como ham puesto que tiene una
probabilidad de spam muy baja y en realidad era ham. El quinto ejemplo se ha
predicho como spam con una certeza muy alta pues tiene una probabilidad de 1 y en
realidad era spam.
En el ejemplo anterior, cuando los valores predichos son de la clase ham, los valores
de spam, son muy cercanos a 0 y por el contrario cuando los valores predichos son
spam este valor es 1. Este comportamiento sugiere que el modelo tiene mucha
confianza en sus clasificaciones.
En cualquier caso, lo habitual es que los clasificadores o los modelos tengan errores
y sus predicciones difieran del valor real, como por ejemplo en la siguiente tabla
donde todas las predicciones han sido ham y el valor real era spam.
© Universidad Internacional de La Rioja (UNIR)
Aprendizaje Automático
8
Tema 3. Ideas clave
Figura 3. Fuente: Brett, 2013.
Sin embargo, en algunos casos las probabilidades con las que se ha asignado la clase
predicha no son muy extremas. Por ejemplo, la instancia 73 de la tabla anterior ha
sido asignada a la clase ham, pero tenía una probabilidad de 0,35 o 35 % de ser spam.
Aprendizaje Automático
9
Tema 3. Ideas clave
En la siguiente imagen se muestra cómo se obtienen los cuatro valores de una matriz
de confusión para el caso de una clasificación binaria.
Aprendizaje Automático
10
Tema 3. Ideas clave
Matriz de Confusión en R
[Link](table(sms_results$actual_type, sms_results$predict_type),
margin = 2)
𝑇𝑇𝑇𝑇 + 𝑇𝑇𝑇𝑇
𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 =
𝑇𝑇𝑇𝑇 + 𝑇𝑇𝑇𝑇 + 𝐹𝐹𝐹𝐹 + 𝐹𝐹𝐹𝐹
© Universidad Internacional de La Rioja (UNIR)
Aprendizaje Automático
11
Tema 3. Ideas clave
Por otro lado, es necesario una garantía de que ningún mensaje ham sea
clasificado como spam. Este balance se captura con las métricas de sensibilidad y
especificidad.
𝑇𝑇𝑇𝑇
𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑖𝑖𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 =
𝑇𝑇𝑇𝑇 + 𝐹𝐹𝐹𝐹
𝑇𝑇𝑇𝑇
𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 =
𝑇𝑇𝑇𝑇 + 𝐹𝐹𝐹𝐹
𝑇𝑇𝑇𝑇
𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 =
𝑇𝑇𝑇𝑇 + 𝐹𝐹𝐹𝐹
𝑇𝑇𝑇𝑇
𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 =
𝑇𝑇𝑇𝑇 + 𝐹𝐹𝐹𝐹
Aprendizaje Automático
12
Tema 3. Ideas clave
F-measure: también conocida como F1, es una métrica que combina precisión y
recall utilizando la media armónica. Se utiliza la media armónica porque los valores
indican proporciones entre o y 1. Se utiliza con mucha frecuencia puesto que
simplifica el rendimiento de un algoritmo de clasificación a una única métrica. De
forma matemática se define así:
La métrica por defecto asume que precisión y recall tienen la misma importancia,
pero es posible ponderarlos para darle mayor peso a uno u otro
L
a clave de cualquier modelo de aprendizaje automático es su capacidad de
generalizar situaciones del futuro en función de los datos históricos
observados. Las métricas anteriores que se obtienen a partir de la matriz de
confusión conllevan que se establece un punto de corte determinado sobre la
distribución de probabilidad para determinar si una observación es clasificada como
© Universidad Internacional de La Rioja (UNIR)
una clase determinada. Es decir, por ejemplo, aquellos valores por encima de 0,5 se
les asigna la clase positiva (1) y aquellos valores iguales o por debajo de 0,5 la clase
negativa (0).
Aprendizaje Automático
13
Tema 3. Ideas clave
En el caso de los algoritmos de clasificación binaria, se puede utilizar una métrica
obtenida a partir de las curvas receiver operating characteristic (ROC) conocida como
area under the curve (AUC) o en castellano área bajo la curva. Esta métrica se utiliza
para determinar el balance entre la detección de verdaderos positivos y evitar los
falsos positivos. Para ello, se muestra la proporción de detección de los verdaderos
positivos en el eje vertical y la proporción de los falsos positivos en el eje horizontal,
para un umbral o punto de corte determinado.
Los puntos a lo largo de la curva indican el ratio de los verdaderos positivos a medida
que se incrementan los valores de los falsos positivos. En la siguiente imagen se
muestra un ejemplo de cuatro curvas ROC distintas.
Aprendizaje Automático
14
Tema 3. Ideas clave
A medida que la curva este más cercana de la esquina superior izquierda, mejor será.
En el ejemplo, el clasificador de la curva naranja es mejor que el verde, y este mejor
que el rojo y el azul. Una clasificación completamente aleatoria coincide con la línea
punteada.
A partir de estas curvas se puede obtener el área bajo la curva. Esta métrica va desde
valores de 0,5 para un clasificador sin potencia predictiva (completamente aleatorio)
hasta 1 para un clasificador perfecto. Cuanto más cercanos están los resultados del
clasificador perfecto, mejor.
Es posible que para un mismo valor de AUC haya diferentes curvas ROC, por lo que
suele ser buena práctica mostrarlas de forma gráfica.
Visualizando el rendimiento en R
Para crear visualizaciones con ROCR se necesitan dos vectores: uno con la clase real
de los valores predichos y otro con la probabilidad estimada de la clase positiva. Estos
valores se utilizan en la función prediction() que devuelve un objeto que se puede
utilizar para obtener métricas o visualizar el resultado. El siguiente código de ejemplo
muestra el uso:
© Universidad Internacional de La Rioja (UNIR)
Aprendizaje Automático
15
Tema 3. Ideas clave
library(ROCR)
pred <- prediction(predictions =
pred_results$prob,
labels = pred_results$actual_value)
#Curva ROC
perf <- perfomance(pred, “tpr”, “fpr”)
plot(perf)
#Curva Precision-Recall
perf2 <- performance(pred, “prec”, “rec”)
plot(perf2)
#Curva sensivity-specificity
perf3 <- performance(pred, “sens”, “spec”)
plot(perf3)
En este vídeo se van a comentar y poner de relieve los principales métodos existentes
para la evaluación de los modelos de clasificación y por qué es importante realizar
esta evaluación.
Aprendizaje Automático
16
Tema 3. Ideas clave
Lo + recomendado
No dejes de leer
Cornell CIS. Computer Science. (s. f.) Performance Measures for Machine Learning.
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
[Link]
© Universidad Internacional de La Rioja (UNIR)
Aprendizaje Automático
17
Tema 3. Lo + recomendado
No dejes de ver
Performance Metrics Precision, Recall and F Score – Model Building and Validation
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
[Link]
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
[Link]
Aprendizaje Automático
18
Tema 3. Lo + recomendado
+ Información
A fondo
Machine Learning Plus (30 septiembre de 2017). Top 15 Evaluation Metrics for
Classification [mensaje en un blog]
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
[Link]
Webgrafía
Scikit Learn
Accede a la página web a través del aula virtual o desde la siguiente dirección web:
[Link]
[Link]/stable/auto_examples/model_selection/plot_precision_recall.html
Aprendizaje Automático
19
Tema 3. + Información
Bibliografía
Aprendizaje Automático
20
Tema 3. + Información
Test
1. Los algoritmos de clasificación tienen como objetivo:
A. Predecir la clase más probable de entre varias posibles.
B. Predecir la distribución de probabilidad de las clases de cada instancia.
C. Predecir un valor numérico como variable objetivo.
2. Dado dos clasificadores binarios si se equivocan en las clases más probables de las
mismas instancias
A. Son igual de buenos.
B. Si uno tiene una mayor incertidumbre que el otro es peor clasificador.
Aprendizaje Automático
21
Tema 3. Test
5. La métrica de accuracy:
A. Se conoce como el ratio de éxito.
B. Representa el número de predicciones correctas entre el total de
predicciones.
C. Ninguna de las anteriores es correcta.
8. La métrica F1:
A. Se trata de una forma de calcular el AUC.
B. Combina precisión y recall.
C. Combina sensibilidad y especificidad.
Aprendizaje Automático
22
Tema 3. Test