Ejemplo 16: Validación Wrapper

Así como en el aprendizaje, también es posible que ocurra overfitting (sobreajuste) durante el preprocesamiento. Para estimar la performance de generalización de un método de preprocesamiento, RapidMiner soporta varios operadores de validación para los pasos de preprocesamiento. La idea básica es la misma que para todos los otros operadores de validación con una ligera diferencia: el primer operador interno debe producir un conjunto de ejemplos transformado, el segundo debe producir un modelo de ese conjunto de datos transformado y el tercer operador debe producir un vector de performance de ese modelo
sobre un conjunto de prueba apartado y transformado de la misma forma.

Este es un proceso más complejo que muestra la capacidad de RapidMiner para construir procesos a partir de elementos ya conocidos. En este proceso, se utiliza una variante especial de un operador de validación cruzada para estimar la performance de una transformación del espacio de características, es decir, la simple selección de características forward en este caso.

El bloque de construcción completo de selección de características es ahora el primer operador interno de un WrapperXValidation que, al igual que la validación cruzada normal, utiliza un subconjunto para la
transformación del espacio de características y el aprendizaje basado en el conjunto de características determinado. Una segunda cadena de aplicadores se utiliza para estimar la performance sobre un conjunto
de pruebas que no fue utilizado para el aprendizaje y la selección de características. La performance estimada y un vector de pesos de atributos se devuelven como resultado.

Observe el MinMaxWrapper después del evaluador de performance interno. Este operador encapsula los criterios de performance dados de tal manera que no sólo los valores medios, sino también los valores
mínimos se calculan durante la validación cruzada. Arbitrariamente las combinaciones lineales ponderadas de las medias mínima y normal conducen a mejorar la capacidad de generalización. Sólo cambiar el parámetro weighting (ponderación) a 0,0 o desactivar el operador en el menú contextual o eliminarlo del proceso para ver el efecto. La performance disminuye rápidamente cuando se utiliza solamente la performance media como criterio de selección.

1. Agregar el operador Utility → Data Generation → Generate Data. Cambiar el nombre del mismo a “GeneradorConjEjs” y los valores de los parámetros target function a “sum”, number examples a 60, y number of attributes a 3.

2. Agregar el operador Utility → Data Generation → Add Noise. Cambiar el nombre del mismo a “GeneradorRuido” y el valor del parámetro random attributes a 3. Conectar la salida del operador GeneradorConjEjs (Generate Data) a la entrada exa de este operador.

3. Agregar el operador Evaluation → Validation → Wrapper-X-Validation y cambiar el nombre del mismo a “ValidaciónXWrapper”. Conectar la salida exa del operador GeneradorRuido (Add Noise) a la entrada exa de este operador, y las salidas per (performance vector out) y att (attribute weights out) de éste último a los conectores res del panel.

 

 

4. Hacer doble clic sobre el operador ValidaciónXWrapper (Wrapper-X-Validation). En el panel Attribute Weighting del nivel inferior, agregar el siguiente operador:

4.1 Agregar el operador Data Transformation → Attribute Set Reduction and Transformation → Selection → Optimization → Optimize Selection. Cambiar el nombre del mismo a “SelecciónCaracterísticas”. Conectar la entrada wei (weighting set source) del panel a la entrada exa de este operador y la salida wei (weights) del mismo al conector att (attribute weights sink) del panel. 

En el panel Model Building central, agregar el siguiente operador:

4.2 Agregar el operador Modeling → Classification and Regression → Support Vector Modeling → Support Vector Machine y cambiar el nombre del mismo a “Aprendiz”. Conectar la entrada tra del panel a la entrada tra de este operador y la salida mod del mismo al conector mod del panel.

En el panel Model Evaluation de la derecha, agregar los siguientes operadores: 

4.3 Modeling → Model Application → Apply Model. Cambiar el nombre del mismo a “AplicadorModelo” y conectar los puertos mod y tes del panel a las entradas mod y unl de este operador, respectivamente.

4.4 Evaluation → Performance Measurement → Classification and Regression → Performance (Regression) y cambiar el nombre del mismo a “EvaluaciónWrapper”. Quitar la tilde de la opción root mean squared error y tildar la opción squared error. Conectar la salida lab del operador AplicadorModelo (Apply Model) a la entradas lab de este operador y la salida per de éste último al conector per del panel.

 

 

5. Hacer doble clic sobre el operador SelecciónCaracterísticas (Optimize Selection) del panel izquierdo. 

En el panel Evaluation Process del nivel inferior, agregar el siguiente operador:

5.1 Evaluation → Validation → X-Validation. Cambiar el nombre del mismo a “ValidaciónXFS” y el valor del parámetro sampling type (tipo de muestreo) a “shuffled sampling”. Conectar la entrada exa del panel a la entrada tra de este operador y la salida ave (averagable 1) del mismo al conector per del panel 

 

 

6. Hacer doble clic sobre el operador ValidaciónXFS (X-Validation) anterior. En el panel Training del nivel inferior, agregar el siguiente operador:

6.1 Modeling → Classification and Regression → Support Vector Modeling → Support Vector Machine y cambiar el nombre del mismo a “AprendizFS”. Conectar la entrada tra del panel a la entrada tra de este operador y las salidas mod y wei del mismo a los conectores mod y thr del panel, respectivamente

En el panel Testing de la derecha, agregar los siguientes operadores:

6.2 Modeling → Model Application → Apply Model. Cambiar el nombre del mismo a “AplicadorModeloFS” y conectar los puertos mod y tes del panel a las entradas mod y unl de este operador, respectivamente.

6.3 Evaluation → Performance Measurement → Classification and Regression → Performance (Regression) y cambiar el nombre del mismo a “EvaluaciónFS”. Quitar la tilde de la opción root mean squared error y tildar la opción squared error. Conectar la salida lab del operador AplicadorModeloFS (Apply Model) a la entradas lab de este operador.

6.4 Evaluation → Performance Measurement → Performance (Min-Max) y cambiar el nombre del mismo a “FSMinMaxWrapper” y el parámetro mínimum weights a 0.5. Conectar la salida per del operador  EvaluaciónFS (Performance (Regression)) a la entradas per de este operador y la salida per de éste último al conector ave (averagable 1) del panel. Conectar además el puerto thr de este panel al conector ave
(averagable 2) del mismo.