Ejemplo 15: Selección Multiobjetivos

Este es otro enfoque muy simple de selección genética de características. Debido a otro esquema de selección, el operador de selección de características no sólo intenta maximizar la performance entregada
por el evaluador del conjunto de características, sino que también intenta minimizar el número de características. El resultado es un gráfico de Pareto diagramado durante la optimización.

Después de finalizada la optimización, el usuario puede hacer doble clic en las soluciones óptimas de Pareto y ver qué conjunto de características está representado por un punto. El gráfico de Pareto no sólo brinda una mejor comprensión de la cantidad total de características necesarias, sino también la compensación entre la cantidad de características y el rendimiento, y un ranking de características.

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 classification”, number examples a 200, y number of attributes a 10.

2. Agregar el operador Utility → Data Generation → Add Noise. Cambiar el nombre del mismo a “GeneradorRuido” y los valores de los parámetros random attributes a 10 y label noise a 0.0. Conectar la salida del operador GeneradorConjEjs (Generate Data) a la entrada exa de este operador.

3. Agregar el operador Data Transformation → Attribute Set Reduction and Transformation → Selection → Optimization → Optimize Selection (Evolutionary). Cambiar el nombre del mismo a “AlgoritmoGenético” y los valores de los parámetros population size (tamaño de la población) a 30 y máximum number of generations a 15. Conectar la salida exa del operador GeneardorRuido (Add Noise) a la entrada exa de este operador, y las salidas exa (example set out), wei (weights) y per (performance) a conectores res del panel.

 

4. Hacer doble clic sobre el operador AlgoritmoGenético (Optimize Selection (Evolutionary)). En el panel Evaluation Process del nivel inferior, agregar los siguientes operadores: 

4.1 Evaluation → Attributes → Performance (CFS). Cambiar el nombre del mismo a “EvaluadorConjCaractsCFS” y conectar la entrada exa del panel a la entrada exa de este operador.

4.2 Evaluation → Attributes → Performance (Attribute Count) y cambiar el nombre del mismo a “ContadorAtributos”. Conectar las salidas per y exa del operador EvaluadorConjCaractsCFS (Performance (CFS)) a las entradas per y exa de este operador, respectivamente, y la salida per de éste último al conector per del panel.