top of page

3.1 Arboles de Decisión en RM

rapidminer.png

Operador Decision Tree

Este operador genera un modelo de árbol de decisión, que se puede utilizar para clasificación y regresión. 

Para obtener el ejemplo, debemos ir a:

Repository ==> Samples ==> processes ==> 01_Learner ==> 01_Decision_Tree, hacemos doble clic en este último y podemos observar el ejemplo.

arbol11.PNG

Operador Retrieve Golf

Este operador recupera la tabla Golf del repositorio interno, es importante destacar que el atributo Play (atributo que indica si se juega o no) es el label u objetivo de este DataSet.

arbol24.PNG

Parámetro Gain Ratio

Como se puede observar arriba el criterio elegido es gain_ratio o Tasa de Ganancia.

arbol12.PNG

Esta tasa de Ganancia se obtiene de la Ganancia de Información (la cual favorece a los atributos con muchos valores) dividido el Split Information, el cual es el valor proporcional a la cantidad de cortes que realiza el atributo.

Gráfico del árbol de decisión

Al realizar la corrida, se puede observar como resultado el árbol de decisión, en donde en la raiz del mismo se eligió el atributo Outlook o Ambiente.

arbol23.PNG

Y la descripción gráfica del árbol.

arbol26.PNG

Operador ID3

Este operador utiliza un árbol de decisión ID3 sin podar a partir de datos nominales para su clasificación.

Para ello se debe insertar el operador Read Excel e ID3 tal como se muestra en la imagen a continuación.

arbol28.PNG

Descargue el archivo Golf.xls que se muestra a continuación

En el operador Read Excel, debemos elegir Import Configuration Wizard ..., ahí le indicamos el archivo Golf.xls que acabamos de descargar, elijamos la hoja Golf_Nominal (observe que todos los atributos son nominales, en especial este operador trabaja solo con atributos nominales), excluimos el atributo Nº y definimos el atributo Juega como label.

asociacion32.PNG
arbol29.PNG

Se obtiene un resultado similar al operador Decision Tree que se mostró arriba.

arbol30.PNG

Esto se debe principalmente porque se usó el mismo Criterio: Information_Gain.

¿Qué ocurre si en el ejemplo anterior cambiamos el criterio?

¿Qué ocurriría si cambiamos el criterio en el ejemplo anterior por Gaint_Ratio?

Los resultados que se obtienen son diferentes tal como puede observarse.

arbol31.PNG
arbol32.PNG

¿Cómo puedo saber cuando un parámetro o un operador es mejor que otro?

Se hace a través del operador Performance

Este operador se utiliza para la evaluación del desempeño. Ofrece una lista de valores de criterios de rendimiento. Estos criterios de rendimiento se determinan automáticamente para adaptarse al tipo de tarea de aprendizaje.

Supongamos que en el modelo anterior queremos evaluar el rendimiento. Insertamos los siguientes operadores con las correspondientes conexiones.

arbol33.PNG

Aquí aparecen unos operadores nuevos que a continuación explicaremos:

Operador Split Data

Este operador divide el conjunto de registros del DataSet que recibe como entrada en los subconjuntos indicados con los tamaños relativos especificados.

En nuestro caso, nos dirigimos a Parámetros ==> Edit Enumeration ...

arbol34.PNG

Agregamos dos subconjuntos, el primero con 0.8, es decir con el 80% de los registros y el segundo con 0.2 o el 20%

arbol35.PNG

Puede observarse en el gráfico de arriba, que el operador Split Data recibe una sola entrada y tiene dos salidas, la primera corresponde al primer subconjunto del 80% y la segunda al segundo subconjunto del 20%. 

Operador Apply Model

Este operador aplica un modelo del DataSet que recibe como entrada.

En el gráfico puede observarse que recibe dos entradas. La primera del operador ID3 y la segunda del segundo subconjunto

Operador Performance

Este operador como se dijo arriba se utiliza para la evaluación del desempeño. Recibe una entrada de Apply Model y genera dos salidas, tal como se mostrará a continuación.

arbol36.PNG

Análisis de la Performance

Ahora indagaremos los resultados obtenidos:

El primer resultado es el que habíamos visto previamente al aplicar el operador ID3 con el parámetro information_gain.

arbol37.PNG

El segundo resultado nos muestra la tabla final con columnas o atributos adicionales de confianza.

arbol38.PNG

El tercer resultado (y el mas significativo), nos señala la eficiencia del modelo, en este caso es del 100% (recordemos que estamos trabajando con pocos datos y lo que queremos probar es el operador Performance).

arbol39.PNG

Análisis del operador Performance cambiando los parámetros de ID3

¿Qué ocurre si cambiamos los parámetros del operador ID3? 

Primero si definimos como criterio Gain_Ratio se observa que la exactitud del modelo sigue siendo del 100%.

arbol40.PNG
arbol41.PNG

Pero si cambiamos el criterio por accuracy la exactitud del modelo que se obtiene es del 33,33%.

arbol42.PNG
arbol43.PNG

Así como en este caso cambiamos los parámetros se puede cambiar también los operadores de arboles de decisión para obtener en algunos casos una mayor exactitud del modelo.

Operador Random Forest

Como se dijo previamente Random Forest genera un conjunto de árboles que son usados para realizar clasificación y Regresión.

A continuación analizaremos el ejemplo de Random Forest, para ello, debemos ir a:

Operators ==> Random Forest ==> Help ==> Jump to Tutorial ==> "Generating a set of random trees using the random forest Operator".

Al hacer esto nos aparecerá el siguiente ejemplo, en donde podemos observar que se 10 árboles y el criterio que se utiliza es Gain_Ratio.

arbol46.PNG

Como se puede observar el segundo resultado que se genera es el Modelo Random Forest en donde se generan 10 árboles, en la imagen se muestra el primer árbol.

arbol47.PNG
arbol48.PNG

Y como tercer resultado se muestra una tabla con los pesos finales obtenidos para cada atributo.

bottom of page