Está en la página 1de 40

Diplomado en Inteligencia de

Negocios
Minería de Datos
Unidad 4: Evaluación y Selección de Modelos
Relator: Christian Pieringer
Aprendizaje de máquina persigue que
programas sean mejores en una tarea

• Aprendiendo de los datos


• Según una métrica de rendimiento
• Finalmente, permiten clasificación automática

2
Hemos visto dos grandes tipos de
algoritmos de aprendizaje

• Algoritmos basados en modelos


• Algoritmos basados en instancias

3
Debemos cuidar algunas condiciones para
asegurar el rendimiento del algoritmo

• Tener suficientes muestras de entrenamiento


• Datos representativos y con atributos relevantes
• Cuidado con el overfitting y underfitting

4
Y una vez que entrenamos el modelo …

5
Necesitamos evaluar el o los modelos
entrenados

• Para seleccionar los mejores hiperparámetros del


algoritmo

• Para asegurarnos que el modelo generalice bien


instancias nuevas

6
Debemos evaluar todos los modelos:
No Free Lunch Theorem

“A model is a simplified representation of reality, and the


simplifications are made to discard unnecessary detail and
allow us to focus on the aspect of reality that we want to
understand. These simplifications are grounded on
assumptions; these assumptions may hold in some
situations, but may not hold in other situations. This
implies that a model that explains a certain situation well
may fail in another situation.”

David Wolper (1996)

7
MÉTRICAS DE DESEMPEÑO

8
Observemos el siguiente problema
de clasificación automática

Iris-Setosa Iris-Virgínica Iris-Versicolor


9
Aplicación del Modelo

• Sea 𝒟 un dataset para test de 𝑚 > 2 clases


id Sepal Length Sepal Width Petal Length Petal Width Class (𝒚)
(cm) (cm) (cm) (cm)

1 5.1 3.5 1.4 0.2 Iris setosa

2 4.9 3.0 1.4 0.2 Iris setosa

Iris
51 7.0 3.2 4.7 1.4
versicolor
Iris 𝑚=3
52 6.4 3.2 4.5 1.5
versicolor

Iris
101 6.3 3.3 6.0 2.5
virginica
Iris
102 5.8 2.7 5.1 1.9
virginica

10
Sea 𝑦ො la clase predicha por el
clasificador C
Sepal Length Sepal Width Petal Length Petal Width
id Class (𝒚) ෝ
𝒚
(cm) (cm) (cm) (cm)

1 5.1 3.5 1.4 0.2 Iris setosa Iris setosa

2 4.9 3.0 1.4 0.2 Iris setosa Iris setosa

Iris
51 7.0 3.2 4.7 1.4 Iris setosa
versicolor
Iris Iris
52 6.4 3.2 4.5 1.5
versicolor versicolor

Iris Iris
101 6.3 3.3 6.0 2.5
virginica virginica
Iris
102 5.8 2.7 5.1 1.9 Iris setosa
virginica

No corresponden a la clasificación real


11
Al entrenar varios modelos debemos
responder algunas preguntas

• ¿Cómo evaluamos la calidad del modelo?


• ¿Qué métricas de desempeño podemos usar?
• ¿Cómo sabemos cuál modelo elegir?

12
Definiciones

• Sea:
– P la cantidad de tuplas consideradas como
positivas (de la clase de interés)
– N la cantidad de tuplas consideradas como
negativas (todas las otras tuplas)
P
N

13
Definiciones (cont.)

True Positives (TP):


True Negatives (TN): instancias positivas
instancias negativas clasificadas correctamente
clasificados correctamente como positivos (P)
como negativos (N)
P
N

14
Definiciones (cont.)

False Positives (FP):


False Negatives (FN): instancias negativas
instancias positivas clasificadas erróneamente
clasificados erróneamente como positivos (P)
como negativos (N)
P
N

15
Matriz de Confusión

• Herramienta para analizar que “tan bien” el


clasificador puede reconocer las diferentes clases del
dataset
Clase
predicha
Si No
Clase Si TP FN P
real No FP TN N
P’ N’ P+N
16
Accuracy

• Se conoce también como Recognition Rate


• Porcentaje de las instancias del set de test que son
correctamente clasificadas por el clasificador C
Clase
predicha
𝑇𝑃 + 𝑇𝑁
Si No 𝐴𝑐𝑐 =
𝑃+𝑁
Clase Si TP FN P
real No FP TN N
P’ N’ P+N
17
Error Rate

• Porcentaje de las instancias del set de test que son


incorrectamente clasificadas por el clasificador C
• Se conoce también como Misclassification Rate
Clase
predicha
𝐹𝑃 + 𝐹𝑁
Si No 𝐸𝑟𝑟𝑜𝑟 𝑟𝑎𝑡𝑒 =
𝑃+𝑁

Clase Si TP FN P 𝐸𝑟𝑟𝑜𝑟 𝑟𝑎𝑡𝑒 = 1 − 𝐴𝑐𝑐


real No FP TN N
P’ N’ P+N
18
Ejemplo

• Tenemos un dataset con casos de una enfermedad


poco común, donde los casos de la enfermedad son
etiquetados como “si” y “no” los casos sanos. El 3%
de las muestras de entrenamiento presentan la
enfermedad. Un clasificador C obtiene un accuracy
de 97% en este dataset. ¿Es aceptable este
rendimiento?

19
Ejemplo (cont.)

• El clasificador puede estar clasificando solo los casos


sanos
• El clasificador puede no estar clasificando todas los
casos enfermos
• Necesitamos un indicador que mida que “tan bien”
se clasifican los casos positivos y los casos negativos

20
Sensibilidad y Especificidad

• Sensitivity (True Positive Rate, TPR)


– corresponde a la proporción de los datos positivos que son
clasificados como positivos
𝑇𝑃 𝑇𝑃 Clase
𝑠𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑦 = =
(𝑇𝑃 + 𝐹𝑁) 𝑃 predicha
Si No
Clase Si TP FN P
real No FP TN N
• Specificity (True Negative Rate, TNR) P’ N’ P+N

– Corresponde a la proporción de los datos negativos


identificados correctamente
𝑇𝑁 𝑇𝑁
𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑦 = =
(𝑇𝑁 + 𝐹𝑃) 𝑁

21
Exactitud y Completitud

• Recall (Completitud)
– proporción de los datos positivos que son clasificados como
positivos
Clase
𝑇𝑃 𝑇𝑃 predicha
𝑟𝑒𝑐𝑎𝑙𝑙 = =
𝑇𝑃 + 𝐹𝑁 𝑃 Si No
Clase Si TP FN P
real No FP TN N

• Precision (Exactitud) P’ N’ P+N

– proporción de los datos reconocidos como positivos que son


realmente positivos
𝑇𝑃
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑇𝑃 + 𝐹𝑃

22
Precision y Recall deben ser usadas
en conjunto

• El F-Score permite en una sola cifra integrar ambas


medidas
• Corresponde a la media harmónica de precision y
recall

2 × 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 × 𝑟𝑒𝑐𝑎𝑙𝑙
𝐹=
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙

23
Ejemplo

id Clima Vive con Situación Panorama ෝ(𝑪𝟏 )


𝒚 ෝ(𝑪𝟐 )
𝒚 ෝ(𝑪𝟑 )
𝒚
Padres Económica (𝒚)
1 Calor Si Buena Salir Salir Casa Salir
2 Calor No Buena Salir Salir Salir Salir
3 Viento Si Buena Salir Casa Casa Salir
4 Lluvia Si Mala Casa Casa Casa Salir
5 Lluvia No Buena Casa Casa Salir Casa
6 Lluvia Si Mala Casa Salir Salir Salir
7 Viento No Mala Salir Casa Casa Salir
8 Viento No Buena Casa Casa Salir Casa
9 Viento Si Buena Salir Salir Salir Salir
10 Calor No Buena Salir Salir Casa Salir
11 Viento Si Mala Casa Casa Salir Casa
12 Calor No Buena Salir Casa Salir Salir

Considerando como clase de interés = Casa,


¿cuál es el mejor clasificador según el F-score?
24
Precision y Recall para más de dos
clases

• Sea 𝑀𝐶 la matriz de confusión:

𝑀𝐶𝑖𝑖
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
σ𝑗 𝑀𝐶𝑗𝑖

𝑀𝐶𝑖𝑖
𝑟𝑒𝑐𝑎𝑙𝑙 =
σ𝑗 𝑀𝐶𝑖𝑗

25
Ejemplo: ¿Cuál sería el recall y
precisión para la clase SUV?

Pred. SUV Pred. Sedan Pred. City


SUV 5 0 3
Sedan 2 10 0
City 4 1 10

26
Curva ROC

• Herramienta visual para la evaluación y comparación


de uno o más modelos de clasificación
• Muestra el balance (trade-off) entre la tasa de True
positives (TPR) y la tasa de True Negatives (FPR = 1-
TNR)
Sensitivity (TPR)

1-Specificity (1-TNR = FPR)


27
Curva ROC

• Dados 3 clasificadores 𝐶1 , 𝐶2 , 𝐶3 . ¿Qué modelo es


mejor?

1
True Positive Rate (TPR)

𝐶3
𝐶2
𝐶1

Aleatorio, al azar
0 1
False Positive Rate (FPR)

28
Curva ROC

• Dados 3 clasificadores 𝐶1 , 𝐶2 , 𝐶3 . Cuál modelo es


mejor?

1
True Positive Rate (TPR)

𝐶3
𝐶2 𝐶3 > 𝐶2 > 𝐶1
𝐶1
El rendimiento de cada
clasificador queda reflejado
0
False Positive Rate (FPR)
1
en el área bajo la curva (AUC)

29
ESTIMACIÓN DEL RENDIMIENTO

30
Estimación del Rendimiento

• ¿Cómo podemos generar una prueba lo


suficientemente confiable para determinar las
métricas de rendimiento de un modelo?
• ¿Cómo organizamos los datos para realizar el
entrenamiento y evaluar los modelos entrenados?

31
Estimación de Rendimiento

Conjunto de Entrenamiento del Aplicación del Estimación de


entrenamiento modelo modelo rendimiento

• Acc
Datos • Precision-Recall
• Specificity-Sensitivity
• ROC

Conjunto de
testeo

32
Hold out

• Los datos son aleatoriamente divididos en:


entrenamiento y testeo
• Las métricas de rendimiento son estimadas con el
conjunto de testeo

Conjunto de
entrenamiento
𝑁1 = 2ൗ3
En general se usa esta
división de los datos, pero
Datos 𝐷 = 𝑁1 + 𝑁2
dependerá de la base de
datos.
Conjunto de
testeo 𝑁2 = 1ൗ3

33
Random Sub-sampling

• Los datos son aleatoriamente divididos k veces en


entrenamiento y testeo
• Las métricas de rendimiento son estimadas como el
promedio de las métricas
Entrenamiento

K=1
Testeo Estimación desempeño

Datos

𝐷 = 𝑁1 + 𝑁2 Entrenamiento

K=20
Testeo Estimación desempeño

34
K-Fold Cross-Validation

• Los datos son aleatoriamente divididos en k


particiones de tamaños similares y mutuamente
excluyentes
• Las métricas de rendimiento son estimadas como el
promedio de las métricas de cada partición 𝐷𝑖

𝐷1

𝐷2

Datos

𝐷 = 𝐷1 + ⋯ + 𝐷𝑘 𝐷𝑘

35
K-Fold Cross-Validation (cont)

• Iteración i =1

Entrenamiento Testeo
𝐷1

𝐷2 𝐷1
𝐷2


Datos

𝐷𝑘
𝐷𝑘

𝐷 = 𝐷1 + ⋯ + 𝐷𝑘

36
K-Fold Cross-Validation (cont)

• Iteración i = 2

Entrenamiento Testeo
𝐷1

𝐷1 𝐷2
𝐷2

Datos
… …

𝐷𝑘
𝐷𝑘

𝐷 = 𝐷1 + ⋯ + 𝐷𝑘

37
K-Fold Cross-Validation (cont)

• Iteración i = k

𝐷1
Entrenamiento Testeo
𝐷1 𝐷𝑘
𝐷2


Datos

𝐷𝑘−1
𝐷𝑘
𝐷 = 𝐷1 + ⋯ + 𝐷𝑘

Recomendación: 10-fold cross-validation estratificada

38
Leave-one-out

• Caso especial de 𝑘-Fold Cross Validation


• Durante el testeo se usa solo una instancia
• El valor de particiones es el número de datos en el
set de entrenamiento, i.e., 𝑘 = # de datos

39

También podría gustarte