Ejercicios: sesión 3 (Soluciones) Minería de datos II-Universidad Francisco de Vitoria Pablo Hidalgo (pablo.hidalgo@ufv.es) Ejercicio 1 La tabla siguiente recoge un conjunto de datos con seis observaciones, tres predictores (X1 , X2 , X3 ) y una variable objetivo cuantitativa (Y ). Obs. X1 X2 X3 Y 1 2 3 4 5 6 0 2 0 0 -1 1 3 0 4 5 0 1 0 0 3 12 0 0 1 1 1 0 0 1 Sobre este conjunto de datos se ha entrenado un modelo de bagging con 3 iteraciones o modelos (B = 3). Las observaciones que ha escogido cada muestra bootstrap son Muestra Observaciones 1 2 3 (3, 1, 3, 4, 1, 2) (2, 2, 1, 5, 6, 3) (6, 6, 6, 3, 1, 2) El árbol obtenido en cada iteración es fˆ1 (x) = ( 0.8 0.15 ( fˆ2 (x) = fˆ3 (x) = (a) (b) (c) (d) ( si x1 ≤ 0.5, x2 ≤ 2 y − 1 < x3 ≤ 3 en otro caso 0.4 0.25 si x1 ≤ 2, x2 ≤ 1 y x3 ≤ 4 en otro caso 0.6 0.5 si x1 ≤ 2, x2 ≤ 4 y x3 ≤ 11 en otro caso Representa gráficamente el árbol obtenido en cada iteración. Identifica las observaciones out-of-bag (OOB) para cada iteración del algoritmo. Calcula el RMSE de las observaciones OOB. ¿Cuál sería la predicción para el punto X1 = X2 = X3 = 0? 1 Solución (a) Representa gráficamente el árbol obtenido en cada iteración. La representación gráfica del modelo ( ˆ1 f (x) = 0.8 0.15 si x1 ≤ 0.5, x2 ≤ 2 y − 1 < x3 ≤ 3 en otro caso es La representación gráfica del modelo fˆ2 (x) = ( 0.4 0.25 si x1 ≤ 2, x2 ≤ 1 y x3 ≤ 4 en otro caso ( 0.6 0.5 si x1 ≤ 2, x2 ≤ 4 y x3 ≤ 11 en otro caso es La representación gráfica del modelo ˆ3 f (x) = es 2 (b) Identifica las observaciones out-of-bag (OOB) para cada iteración del algoritmo. Las observaciones out-of-bag (OOB) son aquellas en las que, dada una muestra bootstrap, se quedan sin entrar en la muestra. La primera muestra bootstrap escoge las observaciones (3, 1, 3, 4, 1, 2). Si las reordenamos y eliminamos los duplicados, las observaciones son (1, 2, 3, 4). Como el conjunto de datos original tiene 6 observaciones, las observaciones OOB son: (5, 6). Siguiendo el mismo procedimiento para todas las observaciones obtenemos Muestra Observaciones Observaciones únicas Observaciones OOB 1 2 3 (3, 1, 3, 4, 1, 2) (2, 2, 1, 5, 6, 3) (6, 6, 6, 3, 1, 2) (1, 2, 3, 4) (1, 2, 3, 5, 6) (1, 2, 3, 6) (5, 6) (4) (4, 5) (c) Calcula el RMSE de las observaciones OOB. En la teoría hemos visto que este error se calcula como RM SEOOB = sP − fˆOOB (xi ))2 |OOB| i∈OOB (yi Antes de calcularlo, vamos a explicar los componentes de la fórmula: • OOB: Se trata del conjunto de las observaciones que se han quedado fuera en, al menos, una de las muestras bootstrap. En este ejercicio, ese conjunto sería OOB = {4, 5, 6} • |OOB|: la notación | · | se refiere al tamaño de un conjunto, es decir, al número de elementos que contiene el conjunto. En nuestro caso, como OOB = {4, 5, 6}, tenemos que |OOB| = 3. • fˆOOB (xi ): se refiere al cálculo de la predicción para una observación que pertence al conjunto OOB. Solamente se calcula la predicción en aquellos modelos en los que esta observación sea OOB. Por ejemplo, la observación 4 pertenece al conjunto OOB pero solo ha quedado fuera de la muestra en los modelos 2 y 3. Por lo tanto, la predicción OOB para esta observación sería 3 fˆ2 (x4 ) + fˆ3 (x4 ) fˆOOB (x4 ) = 2 Por los valores de las variables predictoras de x4 , la predicción de cada modelo sería fˆ2 (x4 ) + fˆ3 (x4 ) 0.25 + 0.5 0.75 fˆOOB (x4 ) = = = = 0.375 2 2 2 Para el resto de observaciones Observación OOB 4 5 6 fˆ1 fˆ2 fˆ3 fˆOOB 0.8 0.15 0.25 - 0.5 0.6 - 0.375 0.7 0.15 Con estos cálculos ya podemos calcular el RMSE sobre las observaciones OOB: s RM SEOOB = (y4 − fˆOOB (x4 ))2 + (y5 − fˆOOB (x5 ))2 + (y6 − fˆOOB (x6 ))2 3 r (0 − 0.375)2 + (0 − 0.7)2 + (1 − 0.15)2 3 ≈ 0.672 = (d) ¿Cuál sería la predicción para el punto X1 = X2 = X3 = 0? Para dar la predicción debemos calcular fˆb ((0, 0, 0)) B 1 ˆ f ((0, 0, 0)) + fˆ2 ((0, 0, 0)) + fˆ3 ((0, 0, 0)) = 3 0.8 + 0.4 + 0.6 1.8 = = 3 3 = 0.6 fˆavg ((0, 0, 0)) = PB b=1 4