top of page

Matrices, Regresión y SVM en RapidMiner

Operador Correlation Matrix

Este operador determina la correlación entre todos los atributos y puede producir un vector de ponderaciones basado en estas correlaciones. La correlación es una técnica estadística que puede mostrar si los pares de atributos están relacionados y con qué intensidad.

matriz6.PNG

A continuación analizaremos el ejemplo "Matrix Correlation" provisto por RM, para ello, debemos ir a:

Operators ==> Matrix Correlation ==> Help ==> Jump to Tutorial ==> "Correlation matrix of the Golf data set"

Al hacer esto nos aparecerá el siguiente ejemplo, en donde podemos observar que se encuentra marcado "normalice weights". Solamente se le ha agregado un punto de control después del operador "Nominal to Binominal".

Análisis de Resultados

Primer Punto de Control: Retrieve del DataSet Golf

Al correr el modelo podemos observar en el primer punto de control después del Retrieve del DataSet Golf, el mismo cuenta con el atributo Play (Juega) que es binominal, Outlook (Clima), Temperatura y Humedad (ambos numéricos) y Wirnd (Viento) también binominal.

matriz7.PNG

Segundo Punto de Control: Nominal to Binominal

Este atributo convierto los atributos nominales a binominales, si hacemos clic sobre el, podemos observar que se seleccionaron los atributos Play y Wind, no el atributo Outlook, esto es porque este atributo puede tomar más de dos valores.

matriz8.PNG
matriz9.PNG

Como se observa, solo cambio el orden, pero los atributos Play y Wind se cambiaron de Nominales a Binominales.

Resultado del Operador Matriz de Correlación

En el resultado de este operador se muestra la matriz de correlación resultante.

Podemos ver que en la intersección siempre hay "1", ya que es la relación del atributo consigo mismo.

 También podemos observar que el atributo Outlook hay signos de pregunta, esto se debe a que no es un atributo binominal o numérico.

matriz10.PNG

Si incluyéramos el atributo Outlook en el operador "Nominal to Binominal" podríamos observar en la matriz de Correlación las diferentes combinaciones de dicho atributo. 

matriz11.PNG

Resultado del Operador Select by Weights

Es muy interesante el resultado de este operador, el mismo selecciona solo aquellos atributos del DataSet de entrada cuyos pesos satisfacen el criterio especificado con respecto a los pesos de entrada.

En nuestro caso podemos observar que hemos colocado en los parámetros que el peso sea mayor que 0.5.

matriz13.PNG

Y existen diferentes análisis que podemos hacer del resultado de dicho operador.

Primero, que el clima sea igual a soleado, no tiene ninguna correlación (es cero).

Segundo , si corre viento tiene una correlación muy fuerte, igual a 1.

Y finalmente la correlación de los demás atributos.

matriz12.PNG

Operador Covariance Matrix

Este operador es similar a la matriz de correlación, aunque muchas veces es de dificil interpretación.

Calcula la covarianza entre todos los atributos del DataSet de entrada y devuelve una matriz de covarianza que da una medida de cuánto cambian dos atributos juntos.

A continuación analizaremos el ejemplo "Covariance Matrix" provisto por RM, para ello, debemos ir a:

Operators ==> Covariance Matrix ==> Help ==> Jump to Tutorial ==> "Covariance matrix of the Polynomial data set".

matriz14.PNG

Análisis de Resultados

Punto de Control: Retrieve de Polynomial

Al correr el modelo podemos observar en el punto de control después del Retrieve del DataSet Polynomial que tiene un atributo definido como label y después otros cinco atributos numéricos: a1, a2, a3, a4 y a5.

matriz15.PNG

Resultado del Operador Covariance Matrix

Como resultado de este operador podemos ver la covarianza que existe entre los cinco atributos.

No debemos olvidar que el atributo excluido es el label.

matriz16.PNG

En los ejercicios que veremos a continuación trabajaremos con el operador de Validación Cruzada.

Como se vio previamente este operador realiza una validación simple, es decir, divide aleatoriamente el DataSet en un conjunto de entrenamiento y un conjunto de prueba y evalúa el modelo. Este operador realiza una validación dividida para estimar el desempeño de un operador de aprendizaje (generalmente en conjuntos de datos invisibles). Se utiliza para estimar la precisión con la que un modelo (aprendido por un operador de aprendizaje en particular) funcionará en la práctica.

El operador de validación cruzada es un operador anidado. Tiene dos subprocesos: un subproceso de entrenamiento y un subproceso de prueba. El subproceso de formación se utiliza para aprender o construir un modelo. Luego, el modelo entrenado se aplica en el subproceso de prueba. El rendimiento del modelo también se mide durante la fase de prueba.

La forma más sencilla es posicionarse en la pantalla principal o la parte central de los procesos o Main Process, hacer clic con el botón derecho.

Seleccionar "Insert Building Block" y elegir el tipo de validación cruzada, puede ser "Nominal Cross Validation" o "Numerical Cross Validation" dependiendo si la validación debe ser realizada para atributos nominales o atributos numéricos.

matriz34.PNG

Operador Logistic Regression

Este operador determina la correlación entre todos los atributos y produce un vector de ponderaciones basado en estas correlaciones. 

La implementación de Regresión logística puede manejar datos de entrenamiento con etiqueta binominal (o polinominal de 2 clases) y atributos de entidad tanto nominales como numéricos.

El resultado de este algoritmo puede depender del número de hilos utilizados. Diferentes configuraciones pueden dar lugar a salidas ligeramente diferentes.
 El operador inicia un clúster de H2O local de 1 nodo y ejecuta el algoritmo en él. Aunque usa un nodo, la ejecución es paralela. Puede establecer el nivel de paralelismo cambiando la configuración Configuración / Preferencias / General / Número de subprocesos. De forma predeterminada, utiliza el número recomendado de subprocesos para el sistema. Solo se inicia una instancia del clúster y permanece ejecutándose hasta que cierre RapidMiner Studio.

A continuación analizaremos el ejemplo "Logistic Regression" provisto por RM, para ello, debemos ir a:

Operators ==> Logistic Regression ==> Help ==> Jump to Tutorial ==> "Introduction to the Logistic Regression operator".

matriz35.PNG

Al hacer esto nos aparecerá el siguiente ejemplo, en donde en el proceso principal podemos observar que leemos del repositorio el DataSet "Sonar" y el operador de Validación Cruzada.

Vemos que el proceso principal se divide en dos subprocesos. En el subproceso Entrenamiento figura el operador "Logistic Regression".

matriz36.PNG

Resultados del Ejercicio con el Operador Logistic Regression

Como resultado del Operador Logistic Regression Model obtenemos información estadística de los 60 atributos (attribute_1 .. attribute 60) e intercept.

matriz38.PNG

Como resultado del Operador Performance podemos observar la matriz de confusión resultante. Vemos que los Verdaderos Positivos para los casos en lo que tiene que  predecir

matriz37.PNG

Roca es 16 y los Falsos Positivos donde tenía que predecir Roca es 5, obteniendo así una precisión del 76.19%.

Los Verdaderos Negativos para predecir Minas y eran Rocas son 13, y los Falsos Negativos para predecir Minas y efectivamente son Minas es 28. Por lo tanto logra una precisión de la clase del 68.29%.

En total el modelo obtiene una exactitud del 70,97%.

Operador Logistic Regression (SVM)

Este operador es un aprendiz de regresión logística, basado en la implementación Java interna de myKLR de Stefan Rueping. myKLR es una herramienta para la regresión logística de kernel a gran escala basada en el algoritmo de Keerthi et al (2003) y el código de mySVM. Este método de aprendizaje se puede utilizar tanto para la regresión como para la clasificación y proporciona un algoritmo rápido y otorga buenos resultados para aprendizaje. mySVM trabaja con funciones de pérdida lineales o cuadráticas e incluso asimétricas. Este operador admite varios tipos de kernel, incluidos punto, radial, polinomial, neural, anova, epachnenikov, combinación gaussiana y multicuadrico. 

A continuación analizaremos el ejemplo "Logistic Regression (SVM)" provisto por RM, para ello, debemos ir a:

Operators ==> Logistic Regression ==> Help ==> Jump to Tutorial ==> "Introduction to the Logistic Regression operator".

matriz39.PNG

Al hacer esto nos aparecerá el siguiente ejemplo, en donde en el proceso principal podemos observar que leemos del repositorio el DataSet "Sonar" y el operador de Validación Cruzada.

Vemos que el proceso principal se divide en dos subprocesos. En el subproceso Entrenamiento figura el operador "Logistic Regression (SVM)".

matriz40.PNG

Como se puede observar este ejemplo es muy similar al ejemplo visto previamente para "Logistic Regression", pero el lector debe percatarse que cambian los parámetros del mismo comparado con los parámetros de "Logistic Regression (SVM)" ya que internamente es otro algoritmo.

También es muy importante tener en cuenta que esta forma de trabajo cambiando solo el operador de aprendizaje en el subproceso de entrenamiento es muy utilizada. Por ejemplo podríamos poner un operador de aprendizaje de un árbol de decisión o una red neuronal o cualquiera de los que vimos previamente y podemos ir comparando los resultados.

Resultados del Ejercicio con el Operador Logistic Regression (SVM)

Como resultado del Operador Logistic Regression Model (SVM) obtenemos el peso de los 60 atributos (attribute_1 .. attribute 60).

matriz41.PNG

Como resultado del Operador Performance podemos observar la matriz de confusión resultante. Vemos que los Verdaderos Positivos para los casos en los

matriz42.PNG

que tiene que predecir Roca es 18 y los Falsos Positivos donde tenía que predecir Roca es 8, obteniendo así una precisión del 75%.

Los Verdaderos Negativos para predecir Minas y eran Rocas son 11, y los Falsos Negativos para predecir Minas y efectivamente son Minas es 27. Por lo tanto logra una precisión de la clase del 71.05%.

En total el modelo con SVM obtiene una exactitud del 72.58 a diferencia de Logistic Regression que conseguía una exactitud del 70,97%.

bottom of page