CROSS VALIDATION CLASIFICACIÓN
CLASE 23
IMT2200 INTRODUCCIÓN A CIENCIA DE DATOS 2021-2
15:10
ALGORITMOS DE REGRESIÓN
Modelo de
regresión Función Función de pérdida Hiper-
parámetro
kNN No hay
ℒ = 1 𝑛%
!"#
$
𝑦! − (𝑦! 2 k
Lineal 𝑌 = 𝛽&+ 𝛽#𝑋
ℒ 𝛽 =1 𝑛%
!"#
$
𝑦!− (𝑦! 2 =1 𝑛%
!"#
$
|𝑦! − 𝛽T𝑋𝑖|2 Multilineal 𝑌 = 𝛽&+ 𝛽#𝑋#+ ⋯ + 𝛽(𝑋(
Polinomial 𝑌 = 𝛽& + 𝛽#𝑋 + 𝛽)𝑋) + ⋯ + 𝛽*𝑋* M
Lasso Y = 𝛽𝑋 𝐿𝐿𝐴𝑆𝑆𝑂 𝛽 = #$∑!"#$ 𝑦!− 𝛽T𝑋𝑖 2+α ∑/"#* |𝛽/| α Ridge Y = 𝛽𝑋 𝐿𝑅𝑖𝑑𝑔𝑒 𝛽 = #$∑!"#$ |𝑦! − 𝛽T𝑋𝑖|2+α ∑/"#* 𝛽/2 α
Para un conjunto de datos dado, ¿qué modelo elegimos?
15:10
SELECCIÓN DE MODELOS
• Método para determinar la complejidad del modelo a utilizar, y/o el valor óptimo de los hiperparámetros
• El objetivo es seleccionar el modelo con mejor capacidad de generalización, es decir, de entregar predicciones correctas para nuevos datos.
• Para ello, se evalúa alguna métrica de rendimiento (MSE, R2, etc.) de los posibles modelos, y se elige aquél que optimiza la métrica para los datos de prueba:
Modelo 1
Modelo 2
Modelo n 𝒟!"#$%
𝒟!&'!
train
MSE1
test evaluación
𝒟!&'! MSE2
𝒟!&'! MSE3
Min(MSE)
.. . .. . .. .
Hiper-parámetros / features
15:10
SELECCIÓN DE MODELOS: GRID SEARCH
• Método para determinar la complejidad del modelo a utilizar, y/o el valor óptimo de los hiperparámetros
• El objetivo es seleccionar el modelo con mejor capacidad de generalización, es decir, de entregar predicciones correctas para nuevos datos.
• Para ello, se evalúa alguna métrica de rendimiento (MSE, R2, etc.) de los posibles modelos, y se elige aquél que optimiza la métrica para los datos de prueba:
Modelo 1
Modelo 2
Modelo n 𝒟!"#$%
𝒟!&'!
train
MSE1
test evaluación
𝒟!&'! MSE2
𝒟!&'! MSE3
Min(MSE)
.. . .. . .. .
Hiper-parámetros / features
15:10
VALIDACIÓN CRUZADA (CROSS VALIDATION, CV)
• Por otra parte, usar una única validación para seleccionar un modelo puede ser
problemático, ya que dependiendo de la partición de datos de entrenamiento / prueba, podemos llegar a distintos resultados.
• Ejemplo: 𝑌 = 𝛽( + 𝛽)𝑋 + 𝛽*𝑋*+ ⋯ + 𝛽+𝑋+
15:10
VALIDACIÓN CRUZADA (CROSS VALIDATION, CV)
k-fold cross validation:
• Los datos se dividen en k subconjuntos o
“folds”(k~5-10).
• Para cada iteración:
• Se entrena un modelo utilizando un fold como 𝒟!"#$%, y los otros como
𝒟!&'!.
• Se evalúa la precisión de la predicción para 𝒟!&'!.
• Finalmente, se calcula la precisión promediopara todas las iteraciones .
Validación cruzada èmétodo estadístico para evaluar la generalización de un modelo de manera más estable que usando un conjunto de datos de entrenamiento/prueba.
15:10
GRID-SEARCH CROSS-VALIDATION (GridSearchCV)
𝒟!"#$% 𝒟5675
𝒟589:; 𝒟5675
𝒟589:; 𝒟5675
𝒟589:; 𝒟5675 𝒟5675 𝒟589:;
Modelo 1
Modelo 2
Modelo n
Min(MSE)
MSE11
MSE21 MSE1 = 1 5-
,-.
/
MSE𝑘1
MSE51
..
MSE12
MSE22 MSE2 = 1 5-
,-.
/
MSE𝑘2
MSE
..
52MSE1n
MSE2n MSEn = 1 5 -
,-.
/
MSE𝑘𝑛
MSE5n
..
Selección del mejor modelo Precisión promedio para
cada modelo
.. .
Aprendizaje Supervisado Métodos de Clasificación
Clasificación kNN
15:10
CLASIFICACIÓN kNN
kNN para regresión èusamos como predictores, las observaciones disponibles (x,y) más similares a la observación (x) que queremos predecir.
!𝑦
7= 1 𝑘 &
89:
;
𝑦
7'𝑦
7'son los k vecinos más cercanos a
(𝑥𝑖, 𝑦
7)
15:10
CLASIFICACIÓN kNN
kNN para regresión èusamos como predictores, las observaciones disponibles (x,y) más similares a la observación (x) que queremos predecir.
!𝑦
7= 1 𝑘 &
89:
;
𝑦
7'𝑦
7'son los k vecinos más cercanos a
(𝑥𝑖, 𝑦
7)
15:10
CLASIFICACIÓN kNN
kNN para clasificación èclasificamos una observación específica, en base a las categorías de sus vecinos más cercanos.
Para un dato 𝑥0 :
1. Se calcula la distancia a todos los demás puntos 𝒙1:
𝐷2 𝒙1, 𝒙0 = -
3-.
4
𝑥1,3 − 𝑥0,3 2
2. Se identifican los k puntos del dataset de entrenamiento más cercanos a 𝑥0 è 𝒩0
𝒩(
15:10
CLASIFICACIÓN kNN
kNN para clasificación èclasificamos una observación específica, en base a las categorías de sus vecinos más cercanos.
𝒩(
3. Se estima la probabilidad condicional de la clase 𝑗, como la fracción de puntos en 𝒩0 cuya
respuestas son 𝑗
4. Se aplica la regla de Bayes y se clasifica la
observación de prueba 𝑥0 a la clase con la mayor probabilidad estimada.
𝑃 𝑌 = 𝑗 𝑋 = 𝑥0 = 1
𝑘 -
1∈𝒩,
𝐼(𝑦1 = 𝑗)
𝑘 = 3: para
𝑃(𝑌 = 𝐴|𝑋1, 𝑋2) = )-,𝑃 𝑌 = 𝐵 𝑋1,𝑋2 =*- è 𝑌 = 𝐵
15:10
CLASIFICACIÓN kNN: NORMALIZACIÓN
Si hay múltiples predictores: se define una medida de distancia multidimensional para identificar las observaciones más similares o “vecinos”.
• Distancia euclideana: 𝐷 𝒙1, 𝒙0 = ∑3-.4 𝑥1,3 − 𝑥0,3 2
• Si los predictores tienen diferentes escalas y variabilidad è se introducen efectos de escala en la medición de distancia.
• Por lo tanto, para 𝑝 > 1, es necesario estandarizar los predictores.
• Normalización z:se resta la media, y se divide por la desviación estándar.
𝑥89:;<= = 𝑥 − 𝜇 𝜎
15:10
CLASIFICACIÓN kNN: NORMALIZACIÓN
Ejemplo: Predicción de comportamiento de compra de clientes de una RS en base a su edad e ingresos.
Datos normalizados
15:10
CLASIFICACIÓN kNN: Ejemplo
Purchased=0 (Negative) Purchased=1 (Positive)
15:10
CLASIFICACIÓN: EVALUACIÓN DEL MODELO
Matriz de confusión: es usada para evaluar los resultados de la clasificación
• 𝑪𝒊,𝒋: número de observaciones que se sabe están en el grupo 𝑖, y son clasificadas en el grupo 𝑗
Real
0
𝑪𝟎,𝟎 Verdaderos
negativos (TN)
𝑪𝟎,𝟏
Falso positivo (FP)
1
𝑪𝟏,𝟎
Falso negativo (FN)
𝑪𝟏,𝟏 Verdaderos
positivos (TP)
0 1
Predicción
Accuracy/ Exactitud: fracción de aciertos (en el dataset de prueba)
accuracy = 𝑡𝑝 + 𝑡𝑛
𝑡𝑝 + 𝑓𝑝 + 𝑡𝑛 + 𝑓𝑛 Precision/Precisión:capacidad de no clasificar como “positivo” un negativo
precision = 𝑡𝑝 𝑡𝑝 + 𝑓𝑝
15:10
Matriz de confusión: es usada para evaluar los resultados de la clasificación
• 𝑪𝒊,𝒋: número de observaciones que se sabe están en el grupo 𝑖, y son clasificadas en el grupo 𝑗
CLASIFICACIÓN: EVALUACIÓN DEL MODELO
Recall / Sensibilidad: capacidad del clasificador de identificar todos los “positivos”
recall = 𝑡𝑝 𝑡𝑝 + 𝑓𝑛
F-score: promedio ponderado de precisión y recall
𝐹 = 2 ∗ B"&C$'$D%∗"&C#FF B"&C$'$D%G"&C#FF
Real
0
𝑪𝟎,𝟎 Verdaderos
negativos (TN)
𝑪𝟎,𝟏
Falso positivo (FP)
1
𝑪𝟏,𝟎
Falso negativo (FN)
𝑪𝟏,𝟏 Verdaderos
positivos (TP)
0 1
Predicción
15:10
CLASIFICACIÓN kNN: Ejemplo
Purchased=0 (Negative) Purchased=1 (Positive)