Rapid Miner
Rapid Miner
com/book/export/html/2945
Instalación:
Detalla como descargar, instalar y ejecutar RapidMiner.
Tutorial de RapidMiner 5.0:
Describe paso a paso los 26 ejemplos presentes en el tutorial online de RapidMiner.
Anexo: Descripción de los Operadores utilizados en el Tutorial de RM5:
Traducción basada en la wiki de RadipMiner, en donde se tratan 75 operadores.
Copyright © 2010 Leonardo M. Tito, Felipe Mullicundo. Se otorga permiso para copiar, distribuir
y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU,
Versión 1.3 o
cualquier otra versión posterior publicada por la Free Software Foundation. Una copia de la licencia
se puede encontrar aqui.
Instalación de RapidMiner
Para ejecutar rapidminer hay que seguir básicamente los pasos a continuación:·
Este tutorial muestra los conceptos básicos de RapidMiner y las configuraciones de procesos simples
1 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
que se pueden realizar. El usuario debe tener algún conocimiento en el dominio de minería de datos y
ETL.
Siempre que este tutorial haga referencia al “Tutorial de RapidMiner”, significa la versión
impresa disponible en [Link]
Es conveniente leer primero el capítulo del Tutorial de RapidMiner para una mejor motivación,
pero también puede hacer el intento de comenzar con el tutorial en línea sin leer la versión impresa. Por
favor lea los textos cuidadosamente e intente por lo menos los pasos sugeridos.
Por favor observe:
La mayor parte de RapidMiner proporciona información adicional si se detiene el puntero del ratón
algunos instantes sobre el elemento (tool tip texts). De esta forma también se describen todos los
operadores y
parámetros. Al final de este tutorial se presenta un anexo con las descripciones de los operadores
utilizados en el mismo y de los referenciados por éstos.
A continuación se presentarán una serie de ejemplos, cada uno de los cuales requiere que se cree un
Aquí se puede seleccionar el lugar del repositorio en donde se guardará el documento, así como
también el nombre que tendrá. O puede presionarse el botón “Cancel” para comenzar a trabajar sin
guardar el
documento momentáneamente.
2 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Este proceso comienza con la carga de datos. Después de finalizar el operador de entrada se realiza un típicopaso de
aprendizaje. Aquí se utiliza una implementación de un aprendiz de árbol de decisión que tambiénpuede manejar valores
numéricos (similar al muy conocido algoritmo C4.5).
Cada operador puede requerir algunas entradas y entrega algunas salidas. Estos tipos de entrada y salida sepasan entre los
operadores. En este ejemplo el primer operador "Input" no requiere ninguna entrada yentrega un conjunto de ejemplos como
salida. Este conjunto de ejemplos es tomado por el aprendiz, el cualentrega la salida final: el modelo aprendido.
Debido a que este flujo de datos es lineal, el diseño del proceso se denomina “cadena de operadores”. Másadelante veremos
procesos más sofisticados en la forma de árbol de operadores.
1. En el panel izquierdo seleccionar la pestaña “Operators”. Luego seleccionar el operador RepositoryAccess → Retrieve y
arrastrarlo a la zona de trabajo.
2. En la pestaña “Parameters” del panel derecho, utilizar el navegador a la derecha del parámetro repository entry para
localizar el archivo //Samples/data/Golf.
En esta imagen se muestran algunas de las vistas disponibles en RapidMiner. Para habilitar/deshabilitar las vistas, utilizar la
entrada del menú View → Show View y para restaurar la perspectiva por defecto,seleccionar View → Restore Default
Perpective.
3. En el panel izquierdo seleccionar el operador Modeling → Classification and Regression → TreeInduction → Decision
Tree y arrastrarlo a la zona de trabajo.
4. Conectar la salida del operador Retrieve a la entrada del operador Decision Tree, haciendo clic izquierdoen el
conector out (output, salida) del primero y luego otro clic en el conector tra (training set, conjunto deentrenamiento) del
segundo.
5. De la misma forma, conectar la salida mod (model, modelo) del operador Decision Tree al puerto res dela zona de trabajo.
3 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
6. Presionar el icono “ejecutar” en la barra de iconos de la parte superior del marco. El proceso debería comenzar y luego
de un corto tiempo el visor de mensajes de la parte inferior del marco muestra el mensajede que el proceso finalizó
correctamente. El marco principal cambia a la vista de "Resultados", que muestrael árbol de decisión aprendido (una
hipótesis que en RapidMiner se denomina Modelo).
7. Volver al modo edición ya sea por medio de la entrada del menú View → Perspectives → Design, el icono de la barra
de iconos, o presionando la tecla de función <F8>.
En este ejemplo se construyó un Modelo Predictivo para saber si se debería jugar o no al tenis, en base a los datos recogidos
de experiencias anteriores. Para ver estos datos hacer doble clic sobre la tabla “Golf” de lapestaña “Repositories” de la
derecha. Aparece otra pestaña entre las pestañas “Result Overview” y “Tree(Decision Tree)” de la vista de resultados,
denominada “ExampleSet (//Samples/data/Golf)”. Seleccionar laopción Data View.
4 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
La primera columna es el Identificador de Casos, la segunda es el Atributo Objetivo y las restantes son los Atributos
Predictores.
Ahora se puede utilizar este modelo para predecir si se debería jugar o no al tenis. Por ej., para la instancia:(Cielo = Soleado,
Temperatura = 82, Humedad = 90, Ventoso = Verdadero) la respuesta es NO.
8. Reemplazar el aprendiz por otro esquema de aprendizaje para tareas de clasificación. Hacer clic derechosobre el
operador Decision Tree y seleccionar Replace Operator → Modeling → Classification andRegression → Rule Induction →
Rule Induction. Después de ejecutar el proceso cambiado con esteejemplo, se presenta el Nuevo modelo:
IF Cielo = Cubierto THEN Sí
IF Temperatura 77.500 AND Ventoso = Falso AND Cielo ≤ = Lluvioso THEN Sí
IF Cielo = Lluvioso THEN No
IF Humedad > 77.500 THEN No ELSE Sí
5 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
El siguiente operador es el operador de minería de conjuntos de ítems frecuentes FPGrowth. Este operador calcula
eficientemente conjuntos de valores de atributos que ocurren juntos con frecuencia. A partir de estos así llamados conjuntos
de ítems frecuentes se calculan la mayoría de las reglas de confianza con el generador de reglas de asociación.
Nota: Para localizar más fácilmente un operador en el árbol de operadores, se puede escribir el nombre del mismo en el
cuadro [Filter] de la pestaña “Operators”.
1. Agregar el operador Retrieve en la zona de trabajo y localizar el archivo //Samples/data/Iris con el navegador del
parámetro repository entry.
2. Agregar el operador Utility → Subprocess. Cambiar el nombre del mismo a “Preprocesamiento” haciendo clic derecho y
seleccionando “Rename” o bien presionando la tecla <F2>.
3. Conectar la salida del operador Retrieve a la entrada del operador Preprocesamiento (Subprocess) y luego doble clic
sobre este último (observar que aparece un botón en la parte superior de este marco, al lado de “Process”, y que permite
alternar entre el proceso y los subprocesos). En el panel Nested Chain del subnivel, agregar los siguientes operadores:
3.1 Data Transformation → Type Conversion → Discretization → Discretize by Frequency. Cambiar el nombre del mismo a
“DiscretizaciónPorFrecuencias” y el parámetro number of bins (cantidad de intervalos) a 5, luego conectar la entrada in del
panel a la entrada exa (example set, conjunto de ejemplos) de este operador.
3.2 Data Transformation → Type Conversion → Discretization → Nominal to Binominal. Cambiar el nombre del mismo a
“Nominal2Binominal”, conectar la salida exa del operador anterior a la entrada exade este operador, y luego la salida exa de
éste al conector out del panel.
6 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
5. Ejecutar el proceso. El resultado se mostrará en un visor de reglas donde se puede seleccionar la conclusión deseada en
una lista de selección en el lado izquierdo. Como para todas las otras tablas disponibles en RapidMiner, se pueden ordenar
las columnas haciendo clic en la cabecera de la columna. Presionando CTRL durante estos clics permite la selección de
hasta 3 columnas para ordenar.
Ejemplo 3: Stacking
RapidMiner soporta Meta Aprendizaje incorporando uno o varios aprendices básicos como hijos en un operador de meta
aprendizaje padre. En este ejemplo se genera un conjunto de datos con el operador ExampleSetGenerator y se aplica una
versión mejorada de Stacking sobre este conjunto de datos. El operador Stacking contiene 4 operadores internos, el primero
es un aprendiz que debe aprender el modelo stacked de las predicciones de los otros 4 operadores hijos (aprendices
básicos). Otros esquemas de meta aprendizaje como Boosting o Bagging solo contienen un operador de apredizaje interno.
En ambos casos los parámetros de los esquemas de aprendizaje internos son establecidos directamente por los operadores
de aprendizaje básicos. No es necesario tratar con los diferentes estilos de parámetros para los operadores internos y los de
meta aprendizaje.
1. Agregar el operador Utility → Data Generation → Generate Data a la zona de trabajo. Cambiar el nombre del mismo a
“GeneradorConjEjs”.
2. En la pestaña “Parameters” seleccionar “simple polynomial classification” de la lista desplegable del parámetro target
function y cambiar el valor del parámetro number examples a 1000.
3. Agregar el operador Modeling → Classification and Regression → Meta Modeling → Stacking a la zona de trabajo.
4. Conectar la salida del operador GeneradorConjEjs (Generate Data) a la entrada tra del operador Stacking y la salida de
7 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Ejemplo 4: K-Medias
En muchos casos, no se puede definir ningún atributo objetivo (etiqueta) y los datos deben ser agrupados automáticamente.
Este procedimiento se denomina "Clustering". RapidMiner soporta un amplio rango de
esquemas de clustering que se pueden utilizar de la misma forma que cualquier otro esquema de aprendizaje. Esto incluye
la combinación con todos los operadores de preprocesamiento.
En este ejemplo, se carga el muy conocido conjunto de datos Iris (la etiqueta también se carga, pero sólo se utiliza para
visualización y comparación y no para construir los clusters). Uno de los esquemas más simples de clustering, denominado
KMeans, se aplica luego a este conjunto de datos. Después se realiza una reducción de dimensionalidad para que soporte
mejor la visualización del conjunto de datos en 2
dimensiones.
Sólo realiza el proceso y compara el resultado del clustering con la etiqueta original (por ej., en la vista gráfica del conjunto
de ejemplos). También se puede visualizar el modelo de cluster.
1. Agregar el operador Repository Access → Retrieve a la zona de trabajo y localizar el archivo //Samples/data/Iris con el
navegador del parámetro repository entry.
2. Agregar el operador Modeling → Clustering and Segmentation → k-Means. Cambiar el nombre del mismo a “KMedias” y el
parámetro k a 3. Conectar la salida del operador Retrieve a la entrada exa de este
operador y la salida clu (cluster model) de éste último al conector res del panel.
3. Agregar el operador Data Transformation → Attribute Set Reduction and Transformation → Transformation → Singular
Value Decomposition. Cambiar el nombre del mismo a “SVDReducción”.
Conectar la salida clu (clustered set) del operador KMedias (k-Means) a la entrada exa de este operador y los 3 puertos de
salida de éste último, exa (example set output), ori (original) y pre (preprocessing model), a conectores res del panel.
8 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
9 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
1. Agregar el operador Utility → Data Generation → Generate Data a la zona de trabajo. Cambiar el nombre del mismo a
“GeneradorConjEjs” y los valores de los parámetros target function a “sum classification” (seleccionar de la lista
desplegable), number examples a 200 y number of attributes a 2.
2. Agregar el operador Modeling → Classification and Regression → Support Vector Modeling → Support Vector Machine.
Cambiar el nombre del mismo a “AprendizJMySV” y el parámetro C a 10.0.
Conectar la salida del operador GeneradorConjEjs (Generate Data) a la entrada tra de este operador y la salida mod (model)
de éste último al puerto res.
Normalmente se emplea mucho tiempo de minería de datos para preprocesar los datos. RapidMiner ofrece varios operadores
para leer datos de muchas fuentes diferentes y también operadores para procesar datos y facilitar el aprendizaje.
En muchas aplicaciones los datos contienen valores faltantes. Uno de los operadores de preprocesamiento disponibles los
sustituye con el promedio / mín / máx del atributo. Otros operadores también pueden
manejar valores infinitos.
1. Agregar el operador Repository Access → Retrieve a la zona de trabajo y localizar el archivo //Samples/data/Labor-
Negotiations con el navegador del parámetro repository entry.
2. Agregar el operador Data Transformation → Data Cleansing → Replace Missing Values a la zona de trabajo. Cambiar el
nombre del mismo a “Preprocesamiento”. Conectar la salida del operador Retrieve a la entrada exa (example set input) del
operador Preprocesamiento (Replace Missing Values) y la salida exa (example set output) de éste último al puerto res.
3. En el cuadro de la derecha (Parameters) activar la opción “Expert Mode” haciendo clic en el icono . Este modo también
puede activarse/desactivarse presionando <F4> o en la barra de opciones superior con la opción “View → Expert Mode”.
El modo experto (Expert Mode) permite visualizar todos los atributos disponibles de cada operador.
4. Seleccionar el operador Preprocesamiento y hacer clic en el cuadro “Edit List(0)…” del parámetro columns para editar la lista
de parámetros. En la ventana del editor pulsar el botón “Add Entry”. En la lista
desplegable de la columna “attribute” especificar los atributos cuyos valores faltantes serán reemplazados: “wage-inc-1st” y
“wage-inc-3rd”. En la lista desplegable de la columna “replace with” seleccionar la
función que se utilizará para determinar el reemplazo de los valores faltantes de estos atributos: “minimum” y “maximum”,
respectivamente.
4. Seleccionar el operador Retrieve. La pestaña “Parameters” de la derecha muestra los parámetros de este operador. El
operador “Retrieve” sólo tiene el parámetro repository entry. Presionar <F7> o hacer
clic derecho en este operador y luego se seleccionar Breakpoint After ( ). Con esta acción se ha establecido un punto de
interrupción, es decir, el proceso detendrá su ejecución después de este operador.
5. Ejecutar el proceso presionando el botón “Play” (<F11>). Como puede observarse el proceso comienza y se detiene después
del punto de interrupción del operador “Retrieve”. En este momento RapidMiner
muestra la salida del operador “Retrieve” en la pestaña ExampleSet (Retrieve). La columna “Missings” indica la cantidad de
valores faltantes de un campo, por ej., el campo “pension” tiene 22 valores faltantes.
Cambiar de Meta Data View a Data View para observar los valores faltantes. En la tabla de datos se pueden encontrar algunos
signos de interrogación, que indican un valor faltante para una muestra (fila). El cuadro
“View Filter” en la esquina superior derecha de la pestaña permite filtrar el conjunto de datos mediante ciertos criterios. Probar
algunos filtros para ver qué muestras están completas y cuáles tienen valores faltantes.
6. Volver a la perspectiva de diseño (barra de menú: View/Perspectives/Design). Para sustituir los valores faltantes en los
datos seleccionamos el operador Prepocesamiento (Replace Missing Values). Debemos
11 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
asegurarnos que el modo experto este habilitado. El parámetro attribute filter type determina los atributos a los cuales se les
aplicará el preprocesador. El parámetro default determina el valor con el que será
reemplazado un valor faltante. Se pueden seleccionar varias opciones, por ej., el valor medio del atributo. Se pueden
concatenar varios operadores de preprocesamiento para sustituir diferentes atributos con diferentes tipos de valores por
defecto.
12 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
2. Agregar el operador Utility → Data Generation → Add Noise a la zona de trabajo. Cambiar el
nombre del mismo a “GeneradorRuido” y los valores de los parámetros random attributes a 3 (cantidad
de atributos
aleatorios a agregar), offset a 5.0 (desplazamiento agregado a los valores de cada atributo aleatorio) y
linear factor a 2.0 (factor lineal multiplicado por los valores de cada atributo aleatorio).
3. Conectar la salida del operador Retrieve a la entrada exa (example set input) del
operador GeneradorRuido (Add Noise) y la salida exa (example set output) de éste último al puerto res.
13 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
1. Agregar 2 operadores Utility → Data Generation → Generate Data a la zona de trabajo. Cambiar
el nombre de los mismos a “PriGeneradorConjEjs” y “SegGeneradorConjEjs”. Establecer el parámetro
target function (función objetivo) de ambos en “sum classification” y el parámetro number of attributes
(cantidad de atributos) en 5 y 10 respectivamente.
4. Agregar un operador Data Transformation → Set Operations → Join. Cambiar el nombre del mismo
a “UnirConjEjs” y quitar la tilde del parámetro remove double attributes (visible en modo experto).
5. Conectar las salidas exa (example set output) de los operadores PriGeneradorConjEjs
y SegGeneradorConjEjs a las entradas rig (right) y lef (left) del operador UnirConjsEjs
(Join), respectivamente, y la salida joi (join) de éste último al puerto res.
14 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
La validación cruzada divide los datos etiquetados en conjuntos de entrenamiento y de prueba. Los
modelos se aprenden sobre los datos de entrenamiento y se aplican sobre los datos de prueba. Los
errores de predicción se calculan y promedian para todos los subconjuntos. Este bloque de
construcción se puede utilizar como operador interno para varios wrappers (contenedores) como los
operadores de generación/selección de características.
Este es el primer ejemplo de un proceso más complejo. Los operadores construyen una estructura de
árbol. Por ahora esto es suficiente para aceptar que el operador de validación cruzada requiere un
conjunto de ejemplos como entrada y entrega un vector de valores de performance como salida.
Además gestiona la división en ejemplos de entrenamiento y de prueba. Los ejemplos de entrenamiento
se utilizan como entrada para el aprendiz de entrenamiento, el cual entrega un modelo. Este modelo y
los ejemplos de prueba forman la entrada de la cadena de aplicadores que entregan la performance
para este conjunto de prueba. Los resultados para todos los posibles conjuntos de prueba son
recogidos por el operador de validación cruzada. Finalmente se calcula el promedio y se entrega como
resultado.
Una de las cosas más difíciles para el principiante de RapidMiner es a menudo tener una idea del flujo
de datos. La solución es sorprendentemente simple: el flujo de datos se asemeja a una búsqueda
primero en profundidad a través de la estructura de árbol. Por ejemplo, después de procesar el conjunto
de entrenamiento con el primer hijo de la validación cruzada del modelo aprendido, se entrega al
segundo hijo (la cadena de aplicadores). Esta idea básica de flujo de datos es siempre la misma para
todos los procesos y pensar en este flujo será muy conveniente para el usuario experimentado.
2. Agregar el operador Evaluation → Validation → X-Validation. Cambiar el nombre del mismo a “XVal”
y el valor del parámetro sampling type (tipo de muestreo) a “shuffled sampling” (modo
experto). Conectar la salida del operador Retrieve a la entrada tra (training) de este operador y la salida
15 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
3. Hacer doble clic sobre el operador XVal (X-Validation). En el panel Training del nivel inferior,
agregar el siguiente operador:
3.1 Modeling → Classification and Regression → Support Vector Modeling → Support Vector Machine
(LibSVM). Cambiar el nombre del mismo a “Entrenamiento” y los valores de los parámetros svm type a
“epsilon-SVR”, kernel type a “poly” y C a 1000.0. Conectar la entrada tra (training) y salida mod (model)
de este operador a los puertos tra y mod del panel, respectivamente
3.2 Modeling → Model Application → Apply Model. Cambiar el nombre del mismo a “Prueba”
y conectar las entradas mod y tes del panel a las entradas mod y unl de este operador, respectivamente.
16 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
6. Sustituir la validación cruzada XVal por otros esquemas de evaluación y ejecutar el proceso con
ellos. Alternativamente, se puede verificar cómo funcionan otros aprendices sobre estos datos y
sustituir el operador de entrenamiento.
Un operador ThresholdFinder se puede utilizar para determinar el mejor umbral con respecto a los
pesos de la clase. El siguiente operador ThresholdApplier mapea las predicciones flexibles (confianzas)
a clasificaciones rígidas con respecto al valor del umbral determinado. El operador ThresholdFinder
también puede producir una curva ROC para varios umbrales. Esta es una buena visualización de la
performance de un esquema de aprendizaje. El proceso se detiene cada vez que se grafica la curva ROC
hasta que se pulsa el botón Ok (5 veces). El parámetro show_ROC_plot determina si el gráfico ROC se
debe mostrar para todos.
Se puede encontrar información adicional sobre los operadores de validación utilizados en este proceso
en el correspondiente directorio de ejemplos y, por supuesto, en la referencia de operadores del tutorial
de RapidMiner.
1. Agregar el operador Utility → Data Generation → Generate Data a la zona de trabajo. Cambiar
17 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
el nombre del mismo a “GeneradorConjEjs”. Establecer los parámetros target function (función objetivo)
en “random dots classification”, number examples (cantidad de ejemplos) en 500, number of
attributes (cantidad de atributos) en 2, attributes lower bound (límite inferior de los atributos) en 0.0 y
attributes upper bound (límite superior de los atributos) en 25.0.
2. Agregar el operador Evaluation → Validation → X-Validation. Cambiar el nombre del mismo a “XVal”
y el valor del parámetro number of validations (cantidad de validaciones) en 5. Conectar la salida del
operador GeneradorConjEjs (Generate Data) a la entrada tra (training) de este operador y la salida
ave (averagable, promediable) de este último al conector res (result) del panel.
3. Hacer doble clic sobre el operador XVal (X-Validation). En el panel Training del nivel inferior,
agregar el siguiente operador:
3.1 Modeling → Classification and Regression → Support Vector Modeling → Support Vector Machine
(LibSVM). Cambiar el nombre del mismo a “AprendizLibSVM” y el valor del parámetro gamma a 1.0.
Conectar la entrada tra (training) y salida mod (model) de este operador a los puertos tra y mod
del panel, respectivamente
3.2 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.
3.3 Modeling → Model Application → Thresholds → Find Threshold. Cambiar el nombre del mismo
a “BuscadorUmbral” y tildar la opción show roc plot (mostrar gráfico ROC), además de la opción
use example weights (utilizar pesos de las muestras), que está seleccionada por defecto. Conectar la
salida lab (labelled data, datos etiquetados) del operador AplicadorModelo (Apply Model) a la entrada
exa (example set) de este operador.
3.4 Modeling → Model Application → Thresholds → Apply Threshold. Cambiar el nombre del mismo
a “AplicadorUmbral”. Conectar las salidas exa (example set, conjunto de ejemplos) y thr (threshold,
umbral) del operador BuscadorUmbral (Find Threshold) a la entradas exa y thr de este operador,
respectivamente.
3.5 Evaluation → Performance Measurement → Performance. Conectar la salida exa (example set)
del operador AplicarModelo a la entradas lab (labelled data) de este operador y la salida per de éste
último al conector ave (averagable) del panel.
18 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
El aprendiz utilizado en este proceso realiza predicciones flexibles (soft) en lugar de clasificaciones
rígidas (crisp). Las confianzas de predicción entregadas por todos los aprendices de RapidMiner que
19 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
El operador ThresholdFinder se utiliza para determinar el mejor umbral con respecto a los pesos de la
clase. En este caso, una clasificación errónea de la primera clase (negativo) tendrá un costo 5 veces
mayor que el otro error.
Observe que se debe ejecutar un operador ModelApplier sobre el conjunto de prueba antes de que se
pueda encontrar un umbral. Debido a que este modelo debe ser aplicado de nuevo más tarde, el
aplicador del modelo guarda el modelo de entrada.
Los últimos pasos aplican el modelo y el umbral sobre el conjunto de datos en cuestión.
1. Agregar el operador Utility → Data Generation → Generate Data a la zona de trabajo. Cambiar
el nombre del mismo a “GeneradorConjEntren” y los parámetros target function a “polynomial
classification” y number of attributes a 20.
3. Agregar otro operador Utility → Data Generation → Generate Data. Cambiar el nombre del mismo
a “GeneradorConjPrueba” y los valores de los parámetros target function a “polynomial classification”
y number of attributes en 20.
4. Agregar el operador Modeling → Model Application → Apply Model y cambiar el nombre del mismo a
“PruebaModelo”. Conectar la salida mod del operador VecinosMásCercanos (k-NN) y la salida
del operador GeneradorConjPrueba (Generate Data) a las entradas mod (model) y unl (unlabelled data)
de este operador, respectivamente.
6. Agregar otro operador Utility → Data Generation → Generate Data. Cambiar el nombre del mismo
a “GeneradorConjAplic” y los valores de los parámetros target function a “polynomial
classification”, number examples a 200 y number of attributes a 20.
7. Agregar otro operador Modeling → Model Application → Apply Model y cambiar el nombre
del mismo a “AplicaciónModelo”. Conectar la salida mod del operador PruebaModelo y la salida del
operador GeneradorConjAplic (Generate Data) a las entradas mod y unl de este operador,
respectivamente.
20 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
PerformanceVector:
accuracy: 74.00%
ConfusionMatrix:
True: negative positive
negative: 86 35
positive: 17 62
precision: 78.48% (positive class:
positive)
ConfusionMatrix:
True: negative positive
negative: 86 35
positive: 17 62
recall: 63.92% (positive class: positive)
ConfusionMatrix:
True: negative positive
negative: 86 35
positive: 17 62
AUC (optimistic): 0.843 (positive class:
positive)
AUC: 0.797 (positive class: positive)
AUC (pessimistic): 0.750 (positive
class: positive)
21 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Este operador es parte del aprendiz, grupo Meta, y se denomina MetaCost. Se utiliza como cualquier
otro esquema de meta-aprendizaje y debe contener otro operador de aprendizaje interno, en este caso
se utiliza el
aprendiz de árbol de decisión.
La matriz de costos utilizada para el aprendizaje sensible al costo se puede definir mediante el editor
de matrices (en el operador MetaCost, presionar “Edit Matrix...” del parámetro cost matrix). El formato
básico
del parámetro cost matrix es [K11 K12 ... K1m, K21 K22 ... K2m, ... ; Kn1 ... Knm], por ejemplo, para
una matriz de costos de 2x2 de un problema de clasificación binaria es [0 1 ; 10 0]. Este ejemplo quiere
decir
que tanto los costos para los errores de predicción de la primera clase como para los de la segunda son
10 veces más altos que los otros tipos de errores.
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 “polynomial classification” y
number examples a 300.
3. Hacer doble clic sobre el operador Validación (X-Validation). En el panel Training del nivel
inferior, agregar el siguiente operador:
3.1 Modeling → Classification and Regression → Meta Modeling → MetaCost. Cambiar el nombre
del mismo a “MetaCosto” y utilizar el editor de matrices del parámetro cost matrix para ingresar los
valores de
la matriz de costos [0 1; 10 0]. , Conectar la entrada tra y salida mod de este operador a los puertos tra
y mod del panel, respectivamente.
22 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
3.2 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. Hacer doble clic sobre el operador MetaCosto (MetaCost). En el panel Learning Process del
nivel inferior, agregar el siguiente operador:
4.1 Modeling → Classification and Regression → Tree Induction → Decision Tree. Conectar la
entrada tra y la salida mod del mismo a los puertos tra y mod del panel, respectivamente.
Resultado:
PerformanceVector:
accuracy: 83.33% +/- 6.58% (mikro: 83.33%)
ConfusionMatrix:
True: negative positive
negative: 145 49
positive: 1 105
precision: 99.20% +/- 1.60% (mikro: 99.06%) (positive class:
positive)
ConfusionMatrix:
True: negative positive
negative: 145 49
positive: 1 105
recall: 68.28% +/- 13.00% (mikro: 68.18%) (positive class: positive)
ConfusionMatrix:
23 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
3. Agregar el operador Data Transformation → Attribute Set Reduction and Transformation → Principal
Component Analysis. Cambiar el nombre del mismo a “Componentes Principales” y conectar la salida
exa del operador Normalización (Normalize) a la entrada exa de este operador, y las salidas exa y pre a
sendos conectores res del panel.
Resultados:
24 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
2. Agregar el operador Data Transformation → Attribute Set Reduction and Transformation →Selection
→ Optimization → Optimize Selection. Cambiar el nombre del mismo a “SC” y conectar la salida del
operador Retrieve a la entrada exa de este operador, y las salidas exa (example set out), wei (weights) y
per (performance) a conectores res del panel.
25 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
3. Hacer doble clic sobre el operador SC (Optimize Selection). En el panel Evaluation Process del
nivel inferior, agregar los siguientes operadores:
3.2 Utility → Logging → Log. Cambiar el nombre del mismo a “LogProceso” y conectar la salida
ave (averagable 1) del operador XValidación (X-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” y “performance”:
4. Hacer doble clic sobre el operador Validación (X-Validation). En el panel Training del nivel
inferior, agregar el siguiente operador:
4.1 Modeling → Classification and Regression → Lazy Modeling → k-NN. Cambiar el nombre
del mismo a “VecinosCercanos” y el parámetro k a 5. Conectar la entrada tra y salida mod de este
operador a los puertos tra y mod del panel, respectivamente
4.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.
26 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
7. Seleccionar el operador de selección de características. Hacer clic derecho para abrir el menú
contextual y reemplazar el operador por otro esquema de selección de características (por ejemplo un
algoritmo
genético).
8. Observar la lista del operador de registro del proceso. Cada vez que se aplica recoge los
datos especificados. Consultar el Tutorial RapidMiner para más explicaciones. Después de cambiar el
operador de selección de características al enfoque de algoritmos genéticos, hay que especificar los
valores correctos. Utilizar el operador de registro de proceso para registrar los valores en línea.
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.
27 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
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.
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,
28 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
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.
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.
4.2 Agregar el operador Modeling → Classification and Regression → Support Vector Modeling
29 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
→ 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.
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.
5. Hacer doble clic sobre el operador SelecciónCaracterísticas (Optimize Selection) del panel izquierdo.
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
6.2 Modeling → Model Application → Apply Model. Cambiar el nombre del mismo
30 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
a “AplicadorModeloFS” y conectar los puertos mod y tes del panel a las entradas mod y unl de
este operador, respectivamente.
31 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
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 [Link]. 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 [Link]. 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.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”:
32 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
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
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.
33 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
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.
2. Agregar el operador Import → Attributes → Read Constructions. Cambiar el nombre del mismo
a “CargadorConstrucAtrib”. Con el navegador del parámetro attibute constructions file localizar el
archivo [Link]. Tildar la opción keep all. Conectar la salida del operador Retrieve a la entrada exa de
este operador.
34 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
3. Agregar el operador Import → Attributes → Read Weights. Cambiar el nombre del mismo
a “CargadorPesosAtributos”. Con el navegador del parámetro attibute weights file localizar el
archivo [Link].
35 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
panel.
4. Editar la lista de parámetros functions y agregar algunas otras funciones. Se pueden utilizar la
mayoría de las funciones matemáticas conocidas.
Como se puede observar, la estructura general del proceso es muy similar a los procesos de selección
y generación de características. En todos los casos se utiliza una cadena de validación interna como
bloque de construcción para estimar la performance. El operador padre ("EvolutionaryWeighting" en
este caso) realiza algunas operaciones sobre el conjunto de características que es evaluado por el
operador hijo (validación simple).
36 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
3.2 Utility → Logging → Log. Cambiar el nombre del mismo a “LogProceso” y 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 “Generación”,
“MejorPerf” y “Performance”:
37 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
4. Hacer doble clic sobre el operador ValidaciónSimple. En el panel Training del nivel inferior, agregar
el siguiente operador:
4.1 Modeling → Classification and Regression → Lazy Modeling → k-NN. Cambiar el nombre
del mismo a “VecinosCercanos”. Conectar la entrada tra y salida mod de este operador a los puertos tra
y mod del panel, respectivamente
4.2 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.
5. Ejecutar el proceso. Cambiar a la vista “Result” y utilizar el graficador en línea. Presionar el icono
“stop” de la barra de iconos para detener el proceso. El operador actual finalizará su operación en
segundo plano y puede durar algún tiempo hasta que el proceso sea detenido completamente. Aunque
puede cambiar el proceso actual y reiniciarlo, se ejecutará más lento hasta que el proceso anterior sea
detenido completamente.
38 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
que algunas de las columnas están marcadas con un color amarillento, por ejemplo, por un rectángulo
alrededor o directamente en el gráfico. Estas marcas amarillas indican el peso de los atributos
correspondientes y el color es más intenso si el peso correspondiente es mayor.
Este proceso demuestra la capacidad de RapidMiner para presentar varios resultados mediante
la combinación de ellos. Por supuesto, todavía se puede tener una vista de la tabla de pesos o las
diferentes vistas gráficas de los pesos de los atributos.
2. Agregar el operador Modeling → Attribute Weighting → Weight by Chi Squared Statistic. Cambiar el
nombre del mismo a “PonderaciónChiCuadrado”. Conectar la salida del operador Retrieve a la
entrada exa de este operador y las salidas wei y exa de este último a conectores res del panel.
La validación cruzada interna estima la performance para cada conjunto de parámetros. En este
proceso se afinan 2 parámetros de la SVM. El resultado puede ser graficado en 3D (utilizando gnuplot) o
en modo de
color.
39 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
2. Process Control → Parameter → Optimize Parameters (Grid). Cambiar el nombre del mismo
a “OptimizaciónParámetros”. Conectar la salida del operador Retrieve a la entradas inp (input 1) de
este operador y la salida per de éste último al conector res del panel.
4.1 Evaluation → Validation → X-Validation. Cambiar el nombre del mismo a “Validación” y el valor del
parámetro sampling type (tipo de muestreo) a “shuffled sampling”. Conectar la entrada inp del panel a la
entrada tra de este operador.
4.2 Utility → Logging → Log. Conectar la salida ave (averagable 1) del operador Validación
(XValidation) a la entrada thr (through 1) de este operador y la salida (through 1) del mismo, al conector
per (performance) del panel.
5. Hacer doble clic sobre el operador Validación (X-Validation). En el panel Training del nivel
inferior, agregar el siguiente operador:
5.1 Modeling → Classification and Regression → Support Vector Modeling → Support Vector Machine
(LibSVM). Cambiar el nombre del mismo a “Entrenamiento” y los valores de los parámetros svm type a
“epsilon-SVR”, kernel type a “poly”, degree a 5 y C a 250.0. Conectar la entrada tra (training) y salida mod
(model) de este operador a los puertos tra y mod del panel, respectivamente
40 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
5.2 Modeling → Model Application → Apply Model. Cambiar el nombre del mismo a “Prueba”
y conectar las entradas mod y tes del panel a las entradas mod y unl de este operador, respectivamente.
6. Subir un nivel. Seleccionar el operador Log y editar la lista de parámetros para incluir los campos
“C”, “grado” y “absoluto” de la siguiente manera:
41 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
9. Editar la lista de parámetros del operador ParameterOptimization para encontrar otro conjunto
de parámetros.
2. Process Control → Parameter → Optimize Parameters (Grid). Cambiar el nombre del mismo
a “GridOptimizaciónParámetros”. Conectar la salida del operador Retrieve a la entradas inp (input 1) de
este operador y las salidas per (performance) y par (parameter) de éste último conectores res del panel.
42 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
3.1 Process Control → Branch → Select Subprocess. Cambiar el nombre del mismo
a “OperadorHabilitador” y el valor del parámetro select which a 2. Conectar la entrada inp del panel a
la entrada inp (input 1) de este operador.
3.2 Evaluation → Validation → X-Validation. Cambiar el nombre del mismo a “XValidación” y el valor del
parámetro number of validations a 5. Conectar la salida out (output 1) del operador OperadorHabilitador
(Select Subprocess) a la entrada tra de este operador.
3.3 Utility → Logging → Log. Conectar la salida ave (averagable 1) del operador XValidación
(XValidation) 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 “habilitar_normalización” y “performance”:
4. Hacer doble clic sobre el operador OperadorHabilitador. En el panel Selection 1 del nivel
inferior mostrado, agregar el siguiente operador:
4.2 En el panel Selection 2 de la derecha sólo conectar los puertos inp y out del mismo.
43 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
5. Subir un nivel y 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 → Bayesian Modeling → Naive Bayes. Conectar
la entrada tra y salida mod del mismo a los puertos tra y mod del panel, respectivamente.
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.
Conjunto de Parámetros:
Performance:
PerformanceVector [
-----accuracy: 85.20% +/- 4.12% (mikro: 85.20%)
ConfusionMatrix:
True: 0 1
0: 104 16
44 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
1: 21 109
-----precision: 84.18% +/- 4.81% (mikro: 83.85%) (positive class: 1)
ConfusionMatrix:
True: 0 1
0: 104 16
1: 21 109
-----recall: 87.20% +/- 8.54% (mikro: 87.20%) (positive class: 1)
ConfusionMatrix:
True: 0 1
0: 104 16
1: 21 109
-----AUC (optimistic): 0.934 +/- 0.026 (mikro: 0.934) (positive class: 1)
-----AUC: 0.934 +/- 0.026 (mikro: 0.934) (positive class: 1)
-----AUC (pessimistic): 0.934 +/- 0.026 (mikro: 0.934) (positive class: 1)
]
OperadorHabilitador.select_which = 1
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.
45 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
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:
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.
46 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
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:
47 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Suponemos que se han obtenido varios vectores de performance y se desea compararlos. En este
proceso se utiliza el mismo conjunto de datos para las validaciones cruzadas (de ahí el IOMultiplier) y
para estimar la performance de un esquema de aprendizaje lineal y una RBF basada en SVM.
1. Agregar el operador Utility → Data Generation → Generate Data a la zona de trabajo. Cambiar
el nombre del mismo a “GeneradorConjEjs” y los valores de los parámetros target function a “one
variable non linear”, number examples a 80, number of attributes a 1, attributes lower bound a -40.0 y
attributes upper bound a 30.0.
2. Agregar el operador Process Control → Multiply. Cambiar el nombre del mismo a “ESMultiplicador_1”
y conectar la salida del operador GeneradorConjEjs (Generate Data) a la entrada de este operador.
48 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
4. Agregar otro operador Evaluation → Validation → X-Validation. Cambiar el nombre del mismo
a “XValidación (2)” y el parámetro sampling type a “shuffled sampling”. Conectar la salida out (output 2)
del operador ESMultiplicador_1 a la entrada tra de este operador.
7. Hacer doble clic sobre el operador XValidación. En el panel Training del nivel inferior, agregar
el siguiente operador:
7.1 Modeling → Classification and Regression → Support Vector Modeling → Support Vector Machine
(LibSVM). Cambiar el nombre del mismo a “LibSVMAprendiz” y los valores de los parámetros svm type
a “nu-SVR”, kernel type a “poly” y C a 10000.0. Conectar la entrada tra (training) y salida mod (model) de
este operador a los puertos tra y mod del panel, respectivamente
8.1 Modeling → Model Application → Apply Model. Cambiar el nombre del mismo a “AplicadorModelo”
y conectar las entradas mod y tes del panel a las entradas mod y unl de este operador, respectivamente.
49 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
9. Subir un nivel (Proceso Principal) y hacer doble clic sobre el operador XValidación (2). En el
panel Training del nivel inferior, agregar el siguiente operador:
9.1 Modeling → Classification and Regression → Function Fitting → Linear Regression. Cambiar
el nombre del mismo a “RegresiónLineal” y conectar la entrada tra (training) y salida mod (model)
del mismo a los puertos tra y mod del panel, respectivamente.
10.1 Modeling → Model Application → Apply Model. Cambiar el nombre del mismo a “AplicadorModelo
(2)” y conectar las entradas mod y tes del panel a las entradas mod y unl de este operador,
respectivamente.
11. Ejecutar el proceso y comparar los resultados: las probabilidades de una diferencia significativa
son iguales, porque sólo se crearon 2 vectores de performance. En este caso, la SVM es probablemente
más
adecuada para el conjunto de datos en cuestión debido a que los valores medios reales probablemente
son diferentes.
12. Observar que los vectores de performance como todos los demás objetos que se pueden pasar
entre los operadores de RapidMiner se pueden escribir en y cargar desde un archivo.
50 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
La primera cadena de operadores sólo encapsula una secuencia de operadores que producen datos en
un formato específico. Posteriormente, el ValueIterator itera sobre todos los valores posibles del
atributo
especificado, y almacena el valor actual en la macro %{loop_value}. Esta macro se utiliza luego dentro
del ExampleFilter seguido por una agregación para calcular la media de otro atributo de acuerdo a los
grupos
definidos por el primero. Luego se utiliza otra definición de macro, %{current_average}, para leer la
media y posteriormente se la emplea en el AttributeConstruction. A continuación, todos los conjuntos de
datos
resultantes, uno por cada grupo, se fusionarán al finalizar el bucle.
1. Agregar el operador Utility → Subprocess a la zona de trabajo. Cambiar el nombre del mismo
a “GenerarDatos”.
2. Agregar el operador Process Control → Loop → Loop Values. Cambiar el nombre del mismo
a “IteradorValores”. Conectar la salida out del operador GeneradorDatos (Subprocess) a la entrada exa
de este operador.
51 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
4. Hacer doble clic sobre el operador GenerarDatos (Subprocess). En el panel Nested Chain del
nivel inferior, agregar los siguientes operadores:
4.1 Agregar el operador Utility → Data Generation → Generate Data a la zona de trabajo. Cambiar
el nombre del mismo a “GeneradorConjEjs” y los valores de los parámetros target function a “sum”,
number
examples a 12, y number of attributes a 2.
4.2 Agregar el operador Data Transformation → Attribute Set Reduction and Transformation
→ Selection → Select Attributes. Cambiar el nombre del mismo a “FiltroAtributos”. Conectar la salida
out del operador GeneradorConjEjs (Generate Data) a la entrada exa de este operador y cambiar los
valores de los parámetros attribute filter type a “regular_expression” y regular expresion a “label”, este
último con ayuda del editor de expresiones regulares. Además tildar las opciones invert selection e
include special attributes.
4.3 Agregar el operador Data Transformation → Attribute Set Reduction and Transformation
→ Selection → Work on Subset. Cambiar el nombre del mismo a “PreProcSubConjAtrib”. Conectar la
salida exa del operador FiltroAtributos (Select Attributes) a la entrada exa de este operador y cambiar
los valores de los parámetros attribute filetr type a “regular_expression” y regular expresion a “att1”, este
último con ayuda del editor de expresiones regulares.
4.4 Agregar el operador Data Transformation → Sorting → Sort. Cambiar el nombre del mismo
a “Ordenar”. Conectar la salida exa del operador PreProcSubConjAtrib (Work on Subset) a la entrada
exa de este operador y la salida exa de este último al conector out del panel. Seleccionar “att1” de la
lista de valores para el parámetro attribute name.
5. Hacer doble clic sobre el operador PreProcSubConjAtrib. En el panel Subset Process del nivel
inferior, agregar el siguiente operador:
52 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
nombre del mismo a “DiscretizaciónFrecuencias”. Conectar la entrada y salida exa de este operador a
los conectores de entrada y salida exa del panel, respectivamente. Cambiar los valores de los
parámetros number of bins a 2 y range name type (modo experto) a “short”.
6. Volver al proceso principal y hacer doble clic sobre el operador IteradorValores (Loop Values). En
el panel Iteration del nivel inferior, agregar los siguientes operadores:
6.1 Data Transformation → Filtering → Filter Examples. Cambiar el nombre del mismo
a “FiltroMuestras”. Conectar la entrada exa del panel a la entrada exa de este operador. Cambiar los
valores de los parámetros condition class a “attribute_value_filter”, parameter string a “att1 =
%{loop_value}”.
53 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Conclusión
¡Felicitaciones!
Ha terminado el tutorial en línea de RapidMiner. Usted debería ser capaz de realizar muchas de las posibles definiciones de
procesos. Ahora, usted conoce los bloques de construcción más importantes de las posibles definiciones de procesos de
minería de datos. Por supuesto, estos bloques de construcción se pueden anidar arbitrariamente en RapidMiner siempre que
sus tipos de entrada y salida sean adecuados. Para una referencia de todos los operadores, por favor consulte el Tutorial
RapidMiner. También compruebe las configuraciones de los otros procesos de los ejemplos que se pueden encontrar en el
directorio Sample de RapidMiner.
Hemos agregado muchos pasos de preprocesamiento conocidos y operadores de aprendizaje a RapidMiner. También se
pueden manejar la mayoría de los formatos de datos. Si usted necesita adaptar RapidMiner
debería leer el capítulo del Tutorial de RapidMiner que describe la creación de operadores y el mecanismo de extensión.
RapidMiner se puede ampliar fácilmente. Que se divierta!
Tener en cuenta que se puede simular la conocida cláusula HAVING del SQL mediante un
operador adicional ExampleFilter a continuación de éste.
54 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
ejemplo durante la aplicación de este operador, estas variables serán asignadas con los pesos de los
atributos de los ejemplos.
Tener en cuenta que hay algunas restricciones para los nombres de los atributos para permitir que este
operador trabaje correctamente:
Si estas condiciones no se cumplen, se deben cambiar los nombres de antemano, por ejemplo con
el operador Rename. Al cambiar varios atributos siguiendo un esquema determinado, puede resultar útil
el operador Rename by Replacing.
Expresiones soportadas
Adición: +
Sustracción: -
Multiplicación: *
División: /
Potencia: ^
Módulo: %
Menor que: <
Mayor que: >
Menor o Igual: <=
Mayor o Igual: >=
Igual: ==
No Igual: !=
Not Booleano: !
And Booleano: &&
Or Booleano: ||
Seno: sin(x)
Coseno: cos(x)
Tangente: tan(x)
Arco Seno: asin(x)
Arco Coseno: acos(x)
Arco Tangente: atan(x)
Arco Tangente (con 2 parámetros): atan2(x,y)
Seno Hiperbólico: sinh(x)
55 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Redondeo: round(x)
Redondeo a p decimales: round(x,p)
Piso: floor(x)
Techo: ceil(x)
Media: avg(x,y,z...)
Mínimo: min(x,y,z...)
Máximo: max(x,y,z...)
Junto a los atributos y las operaciones y funciones antes mencionadas, este operador también soporta
las constantes pi y e si esto se especifica por el parámetro correspondiente “use standard constants”
(por defecto: true). También se pueden utilizar cadenas en las fórmulas (por ejemplo, en una fórmula
ifcondicional), pero los valores de cadena tienen que estar encerrados entre comillas dobles (").
Ejemplos
a1+sin(a2*a3)
if (att1>5, att2*att3,-abs(att1))
56 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Así se garantiza que la longitud del vector de características pueda aumentar y disminuir. En promedio
se mantendrá su longitud original, a menos que los individuos más cortos o más largos resulten tener
una mejor aptitud. Dado que este operador no contiene algoritmos para extraer características de series
de valores, se limita solamente a conjuntos de ejemplos con atributos individuales. Para la
extracción (automática) de características de series de valores, se debería utilizar el complemento de
serie de valores para RapidMiner escrito por Ingo Mierswa. Está disponible en [Link]
Selección Forward
1. Crea una población inicial con n individuos donde n es la cantidad de atributos del conjunto
de ejemplos de entrada. Cada individuo utilizará exactamente una de las características.
2. Evalúa los atributos del conjunto y selecciona sólo los k mejores.
57 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
3. Para cada uno de los k atributos del conjunto realiza: Si hay j atributos no utilizados, hace j copias del
conjunto de atributos y agrega exactamente uno de los atributos anteriormente no utilizados al conjunto
de atributos.
4. Mientras mejore la performance en las últimas p iteraciones se volverá al paso 2.
Eliminación Backward
El parámetro k puede ser especificado por el parámetro keep_best, el parámetro p puede ser
especificado por el parámetro generations_without_improval. Estos parámetros tienen valores por
defecto 1, lo que significa que se utilizan los algoritmos de selección estándar. Utilizando otros valores
aumenta el tiempo de ejecución, pero podría ayudar a evitar extremos locales en la búsqueda del
óptimo global.
girar la ruleta. Los algoritmos genéticos son algoritmos de optimización/búsqueda de propósito general
que son convenientes en caso de poco o ningún conocimiento del problema.
58 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
1. Genera una población inicial compuesta por population_size individuos. Cada atributo se
habilita con una probabilidad p_initialize.
2. Para todos los individuos de la población:
1. Realizan la mutación, es decir, definen los atributos utilizados o no utilizados
con probabilidad p_mutation y viceversa.
2. Seleccionan dos individuos de la población y realizan la cruza con probabilidad
p_crossover. El tipo de cruza se puede seleccionar mediante crossover_type.
3. Realiza la selección, mapea todos los individuos a secciones de una ruleta, cuyo tamaño
es proporcional a la aptitud del individuo y extrae population_size individuos al azar, en función de
sus probabilidades.
4. Mientras mejora la aptitud, vuelve al paso 2.
Si el conjunto de ejemplos contiene atributos de series de valores con bloques de números, todo el
bloque
59 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
atributos nominales y todos los atributos numéricos que tienen un valor mayor que 6 en cada
ejemplo. Se puede realizar una combinación de condiciones: “> 6 && < 11” o “<= 5 || < 0”. Pero && y
|| no se deben mezclar.
Este operador también es capaz de entregar los resultados adicionales del operador interno si así lo
desea.
Posteriormente, los atributos originales restantes son agregados al conjunto de ejemplos resultante si
el parámetro keep_subset_only se establece en false (por defecto).
Observe que este operador es muy potente y se puede utilizar para crear nuevos esquemas
de preprocesamiento combinándolo con otros operadores de preprocesamiento. Sin embargo, hay
dos restricciones importantes (entre algunas otras): en primer lugar, debido a que el resultado interno
se combinará con el resto del conjunto de ejemplos de entrada, el número de ejemplos (puntos de
datos) no se permite cambiar dentro del preprocesamiento del subconjunto. En segundo lugar, los
cambios de rol de los atributos no serán entregados al exterior debido a que internamente todos los
atributos especiales serán cambiados a regular para los operadores internos y los cambios de rol no se
pueden entregar posteriormente.
60 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Se pueden aplicar filtros arbitrarios especificando una implementación de Condition y una cadena
de parámetro. Los usuarios pueden implementar sus propias condiciones escribiendo una subclase de
la clase anterior e implementando un constructor de 2 argumentos que toma un Conjunto de Ejemplos y
una cadena de parámetro. Esta cadena de parámetro se especifica mediante el parámetro
parameter_string. En lugar de utilizar una de las condiciones predefinidas, los usuarios pueden definir
sus propias implementaciones con el nombre de clase completamente adecuado.
Para unknown_attributes la cadena de parámetro debe estar vacía. Este filtro elimina todos los ejemplos
que contienen atributos con valores faltantes o ilegales. Para unknown_label la cadena de parámetro
también
debe estar vacía. Este filtro elimina todos los ejemplos con un valor de etiqueta desconocido.
61 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
de entrada. Por favor, tener en cuenta que los nombres de atributos tienen que ser únicos.
Aunque sea renombrado, un atributo mantiene su rol. Por ejemplo, si se cambia el nombre de un
atributo “etiqueta” con rol label a “color”, el atributo resultante “color” todavía tendrá el rol label. Para
cambiar un rol, consultar Set Role.
El rol objetivo indica si el atributo es un atributo regular (utilizado por los operadores de aprendizaje) o
un atributo especial (por ejemplo, un atributo label o id). Los siguientes tipos de atributos objetivos
son posibles:
regular: solo los atributos regulares se utilizan como variables de entrada para las tareas
de aprendizaje.
id: el atributo id para el conjunto de ejemplos.
label: atributo objetivo para el aprendizaje.
prediction: atributo pronosticado, es decir, las predicciones de un esquema de aprendizaje.
cluster: indica la pertenencia a un grupo (cluster).
weight: indica el peso del ejemplo.
batch: indica la pertenencia a un lote (batch) de ejemplos.
Los usuarios también pueden definir tipos de atributos propios simplemente usando el nombre
deseado.
¡Tener en cuenta que los roles tienen que ser únicos! Si se asigna un rol no regular por segunda vez,
hará que el primer atributo sea eliminado del Conjunto de Ejemplos. Si se desea conservar este atributo,
hay que cambiar primero su rol.
62 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
tabla de ejemplos que contiene todas las filas de datos. Tener en cuenta que la nueva tabla de ejemplos
se
construye en la memoria y por lo tanto este operador podría no ser aplicable a la fusión de enormes
tablas de conjuntos de datos de una base de datos. En ese caso se deberían utilizar otras herramientas
de
preprocesamiento con tablas agregadas, unidas y fusionadas en una sola tabla que luego es utilizada
por RapidMiner.
Todos los conjuntos de ejemplos de entrada deben proporcionar la misma estructura de atributos.
Esto significa que todos los conjuntos de ejemplos deben tener la misma cantidad de atributos
(especiales) y los
mismos nombres de atributos. Si esto es cierto este operador simplemente combina todos los
conjuntos de ejemplos agregando todos los ejemplos de todas las tablas en un nuevo conjunto que
luego se devuelve.
Tener en cuenta que este control para atributos dobles sólo se aplicará para los atributos regulares.
Los atributos especiales del segundo conjunto de ejemplos de entrada que no existen en el primer
conjunto de
ejemplos simplemente serán agregados. Si ya existen, simplemente son omitidos.
63 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
cada atributo simple). Omite todos los atributos especiales, incluyendo la etiqueta. Observe que es
posible obtener intervalos con diferentes cantidades de ejemplos. Esto puede ocurrir, si los valores de
los atributos no son únicos, ya que el algoritmo no puede separar entre ejemplos con el mismo valor.
64 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Todos los criterios de performance se pueden activar utilizando parámetros booleanos. Sus valores
pueden ser consultados por un operador ProcessLog usando los mismos nombres. El criterio principal
se utiliza
para las comparaciones y debe ser especificado sólo para procesos donde se comparan los vectores
de performance, por ejemplo, selección de características u otras configuraciones de procesos de meta
optimización. Si no se selecciona ningún criterio principal, se asumirá que el criterio principal es el
primer criterio del vector de performance resultante.
Este operador espera un Conjunto de Ejemplos de prueba como entrada, que contiene un atributo con el
rol label (etiqueta) y otro con el rol prediction (predicción). Consultar el operador Set Role para más
detalles.
Sobre la base de estos dos atributos se calcula un Vector de Performance, que contiene los valores de
los criterios de performance.
65 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Todos los criterios de performance se pueden activar utilizando parámetros booleanos. Sus valores
pueden ser consultados por un operador ProcessLog usando los mismos nombres. El criterio principal
se utiliza para las comparaciones y debe ser especificado sólo para procesos donde se comparan los
vectores de performance, por ejemplo, selección de atributos u otras configuraciones de procesos de
meta optimización.
Si no se selecciona ningún criterio principal, se asumirá que el criterio principal es el primer criterio
del vector de performance resultante.
Todos los criterios de performance se pueden activar utilizando parámetros booleanos. Sus valores
pueden ser consultados por un operador ProcessLog usando los mismos nombres. El criterio principal
se utiliza
para las comparaciones y debe ser especificado sólo para procesos donde se comparan los vectores
de performance, por ejemplo, selección de características u otras configuraciones de procesos de
meta optimización. Si no se selecciona ningún criterio principal, se asumirá que el criterio principal es el
primer criterio del vector de performance resultante.
Para realizar cálculos de performance más sofisticados, debe utilizar los operadores
anteriormente mencionados. Si ninguno de ellos se adapta a sus necesidades, usted podría escribir su
66 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Este operador espera un Conjunto de Ejemplos de prueba como entrada, que contenga un atributo con
el rol label (etiqueta) y otro con el rol prediction (predicción). Consultar el operador Set Role para más
detalles.
Sobre la base de estos dos atributos se calcula un Vector de Performance, que contiene los valores de
los criterios de performance. Si un Vector de Performance fue alimentado en la entrada performance,
sus
valores se mantienen si no contiene nuevos criterios. De lo contrario, los valores son promediados con
los valores antiguos y los nuevos.
Accuracy.
Precision.
Recall.
AUC (optimista).
AUC (neutral).
AUC (pesimista).
Accuracy.
Kappa statistic.
Root Mean Squared Error (Raíz cuadrada del error cuadrático medio).
Mean Squared Error (Error cuadrático medio).
67 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
de performance. Si ya se dio un vector de performance de entrada, éste se utiliza para mantener los
valores de performance.
68 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Este operador de validación proporciona varios valores que se pueden registrar mediante un operador
Log de proceso. Todos los operadores de estimación de performance de RapidMiner facilitan el acceso
a los valores medios calculados durante la estimación. Debido a que el operador no puede asegurar los
nombres de los criterios entregados, el operador Log de proceso puede acceder a los valores a través
de nombres genéricos de valores:
performance: el valor del criterio principal calculado por este operador de validación.
performance1: el valor del primer criterio del vector de performance calculado.
performance2: el valor del segundo criterio del vector de performance calculado.
performance3: el valor del tercer criterio del vector de performance calculado.
para el criterio principal, también se puede acceder a la varianza y la desviación estándar en su
caso.
El subproceso Training debe devolver un modelo, que suele ser entrenado con la entrada ExampleSet.
El subproceso Training debe devolver un Vector de Performance. Este se suele generar aplicando el
modelo y
midiendo su performance. Se pueden pasar objetos adicionales desde el subproceso Training al Testing
a través de los puertos.
Al igual que los otros esquemas de validación, la validación cruzada de RapidMiner puede utilizar
varios tipos de muestreo para construir los subconjuntos. Linear sampling (muestreo lineal)
simplemente divide el
conjunto de ejemplos en particiones sin cambiar el orden de los ejemplos. Shuffled sampling
(muestreo mezclado) crea subconjuntos aleatorios a partir de los datos. Stratified sampling (muestreo
estratificado)
crea subconjuntos aleatorios y asegura que la distribución de clases en los subconjuntos sea igual que
en todo el conjunto de ejemplos. Para tener particiones aleatorias independientes del proceso anterior,
se podría
utilizar una semilla aleatoria local. Ver los parámetros para más detalles.
El operador de validación cruzada proporciona varios valores que se pueden registrar por medio de un
Log. Por supuesto, se puede registrar la cantidad actual de iteraciones, lo que podría ser útil para los
operadores
ProcessLog encapsulados en una validación cruzada. Además de esto, todos los operadores de
estimación de performance de RapidMiner facilitan el acceso a los valores medios calculados durante
la estimación.
Debido a que el operador no puede asegurar los nombres de los criterios entregados, el
operador ProcessLog puede acceder a los valores por medio de nombres genéricos de valores:
performance: el valor del criterio principal calculado por este operador de validación.
performance1: el valor del primer criterio del vector de performance calculado.
performance2: el valor del segundo criterio del vector de performance calculado.
performance3: el valor del tercer criterio del vector de performance calculado.
para el criterio principal, también se puede acceder a la varianza y la desviación estándar en su
69 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
caso.
Lee los pesos de todos los atributos de un conjunto de ejemplos desde un archivo y crea un nuevo
objeto IO AttributeWeights. Este objeto se puede utilizar para ampliar los valores de un conjunto de
ejemplos con la
ayuda del operador Aplicador de Pesos de Atributos.
Para generar conjuntos de elementos frecuentes, se puede utilizar, por ejemplo, el operador FP-Growth.
El resultado será un conjunto de elementos frecuentes que se puede utilizar como entrada para este
operador.
Observe que el conjunto de datos dado sólo puede contener atributos binominales, es decir,
atributos nominales con sólo 2 valores diferentes. Sólo tiene que utilizar los operadores de
preprocesamiento para transformar el conjunto de datos. Los operadores necesarios son los
operadores de discretización para cambiar los tipos de valores de los atributos numéricos a nominales
y el operador Nominal2Binominal para
transformar los atributos nominales en binominales / binarios.
Los conjuntos de elementos frecuentes son extraídos de las entradas positivas de la base de datos, es
decir, de los valores nominales definidos como positivos en la base de datos. Si se utiliza un archivo de
descripción de atributo (.aml) para el operador ExampleSource este corresponde al segundo valor que
se define a través de los atributos de clase o etiquetas de valor interno.
Si sus datos no especifican las entradas positivas correctamente, puede configurarlos utilizando el
parámetro positive_value. ¡Esto sólo funciona si todos sus atributos contienen este valor!
71 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Este operador tiene dos modos básicos de trabajo: encontrar al menos la cantidad especificada de
conjuntos de elementos con mayor soporte, sin tener en cuenta el min_support (por defecto) o
encontrar todos los
conjuntos de elementos con soporte mayor que min_support.
72 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Este operador utiliza una matriz de costos dada para obtener las predicciones de label según los costos
de clasificación. El método usado por este operador es similar al MetaCost según lo descrito por Pedro
Domingos.
Además one-class brinda la posibilidad de aprender a partir de sólo una clase de ejemplos y luego
probar si nuevos ejemplos coinciden con los conocidos. En comparación con los otros aprendices de
SVM, el libsvm
también soporta aprendizaje interno multiclase y la estimación de probabilidad basada en la escala de
Platt para valores de confianza adecuados después de aplicar el modelo aprendido sobre un conjunto
de datos de
clasificación.
73 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
de decisión son potentes métodos de clasificación, que con frecuencia también se pueden entender
fácilmente. Para clasificar un ejemplo, se recorre el árbol desde arriba hacia abajo. Cada nodo de un
árbol de decisión se etiqueta con un atributo. El valor del ejemplo para este atributo determina cuál de
los arcos resultantes se toma. Para atributos nominales, hay un arco que sale por cada valor posible del
atributo, y para atributos numéricos los arcos salientes se etiquetan con intervalos disjuntos.
Este aprendiz de árbol de decisión funciona de forma similar a C4.5 de Quinlan o CART. En
términos generales, el algoritmo de árbol de inducción trabaja de la siguiente manera. Cuando se crea
un nuevo nodo
en un momento determinado, se elige un atributo para maximizar el poder discriminativo de ese nodo
con respecto a los ejemplos asignados al subárbol particular. Este poder discriminativo se mide por un
criterio
que puede ser seleccionado por el usuario (obtener información, tasa de ganancia, índice de Gini, etc.)
Por último, se poda el árbol, es decir, se quitan las hojas que no aumentan el poder discriminativo de
todo el árbol.
Por favor, prestar atención al hecho de que la aplicación de los modelos necesitará los mismos
atributos durante la aplicación sobre un Conjunto de Ejemplos que cuando formaron parte del Conjunto
de Ejemplos en él fueron entrenados. Algunos cambios menores como la adición de atributos serían
posibles, pero podrían causar graves errores de cálculo. Por favor, asegúrese de que la cantidad de
atributos, el orden, el tipo y el rol son consistentes durante el entrenamiento y la aplicación.
Si el modelo admite vistas, es posible crear una vista en lugar de cambiar los datos subyacentes.
Para indicar al operador Apply Model que la haga, sólo hay que habilitar el parámetro create view. La
transformación que normalmente sería realizada directamente sobre los datos, en este caso será
calculada cada vez que se requiera un valor y el resultado se devuelve sin cambiar los datos. Por favor,
tener en cuenta que no todos los modelos soportan vistas.
Si se tiene que aplicar varios modelos en fila, como por ejemplo cuando se tiene que aplicar
algunos modelos de preprocesamiento antes de aplicar un modelo de predicción, entonces se podrían
74 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
agrupar los
modelos. Esto es posible utilizando el operador Group Models de forma conveniente.
Tener en cuenta que los modelos de entrada se agregan en orden inverso, es decir, el último modelo
creado, que suele ser el primero al inicio del objeto IO, se agregará a la cola como el último modelo del
modelo combinado del grupo.
75 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
ModelGrouper.
El usuario puede especificar con un parámetro si este bucle debe iterar sobre todas las características o
sólo sobre las características con un tipo de valor específico, es decir, sólo sobre características
numéricas o
sobre características nominales. También se puede especificar una expresión regular que se utiliza
como filtro, es decir, los operadores internos sólo se aplican para nombres de características que
coinciden con la
expresión de filtro.
Se puede acceder al valor actual del bucle con el nombre de la macro especificada.
76 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
paso] (por ejemplo [10; 25; 5]). De forma alternativa, se puede utilizar un patrón de valores de red (grid),
por ejemplo: [inicio; fin; no_steps; escale], donde escale identifica el tipo del patrón.
El operador devuelve un Conjunto óptimo de Parámetros que también se puede guardar en un archivo
con un Grabador de Conjunto de Parámetros. Este conjunto de parámetros se puede leer en otro proceso
utilizando un Cargador de Conjunto de Parámetros.
nombre_operator.nombre_parámetro = valor
Además del conjunto de parámetros, devuelve todos los resultados internos generados durante la
ejecución que entregó la mejor performance.
Por favor consulte la sección Procesos Avanzados / Análisis de Parámetros y Performance para un
ejemplo de aplicación. Otros esquemas de optimización de parámetros como el Operador de
Optimización Evolutiva
de Parámetros también pueden ser útiles si no se conocen totalmente los mejores rangos y
dependencias. Otro operador que funciona de forma similar a este operador de optimización
parámetros es el operador de Iteración de Parámetros. A diferencia del operador de optimización, este
operador simplemente recorre todas las combinaciones de parámetros. Esto podría ser especialmente
útil para los fines de graficación.
77 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
operadores del mismo tipo, usualmente un aprendiz. Un aprendiz puede ser un operador interno del
Operador de Optimización de Parámetros y se puede denominar “Aprendiz”, mientras que un segundo
aprendiz del mismo tipo denominado “AprendizOptimo” sigue la optimización de parámetros y debe
utilizar el conjunto óptimo de parámetros encontrados por la optimización.
Para hacer que el ParameterSetter establezca los parámetros óptimos del operador correcto, hay
que especificar su nombre. Cada parámetro de la lista de parámetros name_map mapea el nombre de
un operador que se utilizó durante la optimización (en este caso es el "Aprendiz") a un operador que
ahora debe utilizar estos parámetros (en este caso es el “AprendizOptimo”).
El único parámetro repository_entry referencia una entrada del repositorio que se devolverá como salida
de este operador. Las ubicaciones de los repositorios se resuelven en relación a la carpeta del
repositorio que contiene al proceso actual. Las carpetas del repositorio están separadas mediante una
barra inclinada (/), “..” hace referencia a la carpeta padre. Una barra inclinada inicial hace referencia a la
carpeta raíz del repositorio que contiene al proceso actual. Una doble barra inclinada inicial se interpreta
como una ruta absoluta que comienza con el nombre de un repositorio.
“MisDatos” busca una entrada “MisDatos” en la misma carpeta que contiene el proceso actual.
“.. /entrada/MisDatos” busca una entrada “MisDatos”, ubicada en la carpeta “entrada” próxima a
la carpeta que contiene el proceso actual.
“/datos/Modelo” busca una entrada “Modelo” en la carpeta “datos” de nivel superior en
el repositorio que contiene al proceso actual.
78 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Los parámetros de la lista log se interpretan de la siguiente manera: El parámetro key da el mismo
nombre para el nombre de columna (por ejemplo, para su uso en el graficador). El parámetro value
especifica de
dónde recuperar el valor. Esto se explica mejor con un ejemplo:
Cada vez que se aplica el operador ProcessLog, todos los valores y parámetros especificados por la
lista log se recogen y se almacenan en una fila de datos. Al finalizar el proceso, el operador escribe las
filas de datos recopiladas en un archivo (si se especifica). En el modo de GUI, 2D o 3D, se generan
automáticamente los gráficos y se muestran en el visor de resultados. Por favor consultar la sección
Procesos Avanzados / Análisis de Parámetros y Performance para un ejemplo de aplicación.
Macros
79 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
Una macro definida se puede utilizar luego en todos los operadores sucesivos como valor de parámetro
para los parámetros. Una macro entonces debe estar encerrada entre “%(” y “)”.
%{process_name}: se sustituye por el nombre del proceso (sin ruta de acceso y extensión) .
%{process_file}: se sustituye por el nombre de archivo del proceso (con extensión).
%{process_path}: se sustituye por la ruta absoluta completa del archivo del proceso.
Además de éstas el usuario puede definir arbitrariamente otras macros que serán sustituídas por
cadenasn arbitrarias durante la ejecución del proceso. Tener en cuenta que también existen algunas
macros cortas, por ejemplo, %{a} para el número de veces que se aplicó el operador actual.
Tener en cuenta además que otros operadores como muchos de los operadores de bucle como Loop
Values o Loop Attributes también agregan macros específicas.
Hay que definir el nombre de la macro (sin encerrar entre corchetes) y el valor de la macro. La
macro definida luego se puede utilizar en todos los operadores sucesivos como valor del parámetro.
Una macro
debe entonces estar encerrada por “MACRO_START” y “MACRO_END”.
Además de éstas el usuario puede definir arbitrariamente otras macros que serán sustituídas por
cadenas arbitrarias durante la ejecución del proceso. Tener en cuenta que también existen algunas
macros cortas, por
ejemplo, MACRO_STARTaMACRO_END para el número de veces que se aplicó el operador actual.
Por favor, consultar la sección sobre macros en el tutorial de RapidMiner. Tener en cuenta además que
otros
operadores como el FeatureIterator también agregan macros específicas.
80 de 81 10-06-2017 20:28
RapidMiner: Tutorial online + Operadores [Link]
cantidad de vistas o copias de los datos. Internamente, este operador simplemente invoca la
recolección de basura del lenguaje de programación Java subyacente.
Bibliografia
RapidMiner online Tutorial. RapidMiner 5.0.
Wiki de RapidMiner
81 de 81 10-06-2017 20:28