Ejemplo 17: YAGGA

Algunas veces la selección de características sola no es suficiente. En estos casos se deben realizar otras transformaciones del espacio de características. La generación de nuevos atributos a partir de los atributos dados amplía el espacio de características. Tal vez se pueda encontrar fácilmente una hipótesis en el espacio ampliado de características.

YAGGA (Yet Another Generating Genetic Algorithm) es un wrapper híbrido de selección/generación de características. La estimación de la performance se hace con un elemento interno de validación cruzada. Por
supuesto, otras formas de estimación de la performance también son posibles. La probabilidad de generación de características depende de la probabilidad para la eliminación de características. Esto asegura
que la longitud media de los conjuntos de características se mantenga hasta que los conjuntos de características más cortos o más largos demuestran ser mejores.

Cuando YAGGA termina la transformación, se construyeron nuevas características. En muchos casos, este conjunto óptimo de características debería utilizarse sobre otros datos, también. Por lo tanto, el conjunto
óptimo de atributos se escribe en un archivo. En el siguiente ejemplo veremos cómo se pueden utilizar estos archivos para transformar nuevos datos en la representación óptima de aprendizaje.

1. Agregar el operador Repository Access → Retrieve a la zona de trabajo y localizar el archivo //Samples/data/Polynomial con el navegador del parámetro repository entry.

2. Agregar el operador Data Transformation → Attribute Set Reduction and Transformation → Generation → Optimization → Optimize by Generation (YAGGA). Cambiar el nombre del mismo a “YAGGA” y los valores de los parámetros population size a 100, maximum number of generations a 10 y quitar la tilde de use plus. Conectar la salida del operador Retrieve a la entrada exa de este operador.

3. Agregar el operador Export → Attributes → Write Constructions. Cambiar el nombre del mismo a “GrabadorConstrucciones”. Con el navegador del parámetro attibute constructions file localizar la ubicación para un archivo que se va a denominar yagga.att. Conectar la salida exa del operador YAGGA (Optimize by Generation) a la entrada inp de este operador y la salida thr de este último al conector res del panel.

4. Agregar el operador Export → Attributes → Write Weights. Cambiar el nombre del mismo a “GrabadorPesos”. Con el navegador del parámetro attibute weights file localizar la ubicación para un archivo que se va a denominar yagga.wgt. Conectar la salida att del operador YAGGA a la entrada inp de este operador y la salida thr de este último a otro conector res del panel.

 

 

5. Hacer doble clic sobre el operador YAGGA. En el panel Evaluation Process del nivel inferior, agregar los siguientes operadores:

5.1 Evaluation → Validation → Split Validation y cambiar el nombre del mismo a “ValidaciónSimple”. Conectar la entrada exa del panel a la entrada tra (training) de este operador.

5.2 Utility → Logging → Log. Cambiar el nombre del mismo a “LogProceso”. Conectar la salida ave (averagable 1) del operador ValidaciónSimple (Split Validation) a la entrada thr (through 1) de este operador y la salida (through 1) del mismo, al conector per (performance) del panel. En el parámetro log de este operador editar la lista de parámetros para incluir los campos “generation”, “performance” y “best”: 

 

6. Hacer doble clic sobre el operador ValidaciónSimple. En el panel Training del nivel inferior, agregar el siguiente operador:

6.1 Modeling → Classification and Regression → Function Fitting → Linear Regression y cambiar el nombre del mismo a “Regresión Lineal”. Conectar la entrada tra y salida mod de este operador a los puertos tra y mod 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 “Aplicador” y conectar los puertos mod y tes del panel a las entradas mod y unl de este operador, respectivamente.

6.3 Agregar el operador Evaluation → Performance Measurement → Classification and Regression → Performance (Regression). Conectar la salida lab del operador Aplicador (Apply Model) a la entradas lab de este operador y la salida per de éste último al conector ave del panel.

 

 

7. Ejecutar el proceso. Se entrega como resultado el conjunto transformado de ejemplos de entrada, la estimación de la performance, y un vector de pesos.

8. Intente agregar un operador log (registro) de proceso. Debido a que YAGGA sólo permite un operador interno, hay que agregar una cadena de un solo operador (desde el grupo “core”) a YAGGA. Hacer clic
derecho sobre el operador de validación cruzada y seleccionar cortar y pegar la validación cruzada en la cadena agregada. Agregar un operador log de proceso en la cadena. Agregar los valores que desea graficar a
la lista de parámetros del operador log de proceso. Consultar el Tutorial RapidMiner para más explicaciones.

  • Una cadena de un solo operador para combinar varios operadores.
  • Corta un operador del árbol de operadores.
  • Pega un operador previamente cortado en la cadena de operadores seleccionada.