Ejemplo 24: Umbral de Ponderación
Ejemplo 24: Umbral de Ponderación bernabeu_dario 10 Noviembre, 2010 - 10:50Este proceso intenta encontrar el mejor umbral de selección para los pesos proporcionados por un aprendiz de SVM. Los pesos y el conjunto de ejemplos se pasan a un optimizador de parámetros. El parámetro weight del operador de Selección se ha optimizado con una grid search. La performance de este umbral se evalúa con el bloque de construcción de validación cruzada. Por favor consulte los meta-procesos de
ejemplos anteriores para más detalles con respecto a los operadores de optimización de parámetros.
1. Agregar el operador Repository Access → Retrieve a la zona de trabajo y localizar el archivo //Samples/data/Weighting con el navegador del parámetro repository entry.
2. Agregar el operador Modeling → Classification and Regression → Support Vector Modeling → Support Vector Machine. Cambiar el nombre del mismo a “PesosIniciales” y quitar la tilde de la opción scale. Conectar la salida del operador Retrieve a la entrada tra de este operador.
3. Process Control → Parameter → Optimize Parameters (Grid). Cambiar el nombre del mismo a “GridOptimizaciónParámetros”. Conectar las salidas exa y wei del operador PesosIniciales (Support Vector Machine) a las entradas inp (input 1) e inp (input 2) de este operador, respectivamente, y las salidas per (performance), par (parameter) y res (result 1) de éste último conectores res del panel.
4. Hacer doble clic sobre el operador OptimizaciónParámetros (Optimize Parameters (Grid)). En el panel Optimization Process del nivel inferior mostrado, agregar los siguientes operadores:
4.1 Data Transformation → Attribute Set Reduction and Transformation → Selection → Select by Weights. Cambiar el nombre del mismo a “Selección” y el parámetro weight a 1.0. Conectar las entradas inp (input 1) e inp (input 2) del panel a las entradas exa y wei de este operador, respectivamente.
4.2 Evaluation → Validation → X-Validation. Cambiar el nombre del mismo a “XValidación”. Conectar la salida exa del operador Selección (Select by Weights) a la entrada tra de este operador y la salida ave (averagable 1) de este último al conector per del panel.
5. Hacer doble clic sobre el operador XValidación. En el panel Training del nivel inferior mostrado, agregar el siguiente operador:
5.1 Modeling → Classification and Regression → Support Vector Modeling → Support Vector Machine. Cambiar el nombre del mismo a “JMySVMAprendiz”. 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, repectivamente.
6. En el panel Testing de la derecha, agregar los siguientes operadores:
6.1 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.
6.2 Agregar el operador Evaluation → Performance Measurement → Classification and Regression → Performance (Classification). Cambiar el nombre del mismo a “PerformanceClasificación”, quitar la tilde de la opción “accuracy” y tildar la opción “classification 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 ave (averagable 2) del panel. También conectar la entrada thr (through 1) del panel a la salida ave (averagable 2) del mismo.
7. Volver al nivel superior (Proceso Principal), seleccionar el operador GridOptimizaciónParámetros y utilizar el editor (“Edit Parameter Settings...”) para seleccionar el parámetro weight del operador Selección
(Select by Weights):
8. Observar los íconos de advertencia en la parte inferior izquierda de algunos operadores. Al detener un instante el puntero del ratón en la entrada tra del operador PesosIniciales del proceso principal, RapidMiner muestra que hay un error debido a que la SVM no puede manejar etiquetas polinomiales. En la pestaña Problems de la parte inferior, hacer doble clic en la primera fila, debajo de la columna “Fixes” para seleccionar una de las 4 soluciones rápidas disponibles (“Convert label to binominal.”):
Resultados: