Clasificación (CLASIFICATION)

 

La predicción tiene como objetivo estimar el posible valor o comportamiento de una variable o un conjunto de variables a partir de un conjunto de datos, utilizando distintos tipos de métodos como  estadísticos de regresión lineal y no lineal [23], dependiendo del comportamiento de los datos, en el que se pretende aproximar la instancia de los datos a una figura estandarizada como una línea recta o curva, en algunos casos es necesario manipular los datos de origen para poderlos ajustar a los modelos de regresión. Otro tipo de métodos que es aplicable en ésta técnica es el empleo de árboles de decisión, los cuales utilizan una medida estadística conocida como Entropía, la cual sirve para medir el grado de desorden de un sistema, permitiendo diferenciar  los datos útiles, es decir los que generan información, de los datos inútiles o aquellos que producen desorden o desconocimiento del sistema. En el árbol de predicción la entropía permite establecer cual es el atributo que contribuye a generar mas información, dicho atributo se establece como nodo principal del árbol y a partir de ese nodo el proceso continua hasta tener una comprensión general del sistema, por lo tanto, la entropía aplicada al descubrimiento de conocimiento pretende aplacar el desconocimiento reduciendo la incertidumbre en el sistema, organizando los datos en información útil, como un modelo que toma la forma de un árbol jerarquizado.

Un ejemplo típico de la aplicación de éste tipo de técnicas es el marketing dirigido, sobre la tendencia de mercados, prediciendo el comportamiento de compra de los usuarios según sus gustos, cultura, economía, entre otras variables.

El proceso consiste en agrupar conjuntos de datos mutuamente excluyentes según una clase objetivo, estableciendo una distancia entre ellas. Si la clase objetivo es numérica, se toma la media y si la clase objetivo es nominal o categórica se toma la moda [12].

Hay muchos métodos que sirven para realizar clasificación [24], como tablas y arboles de decisión, inducción de reglas, clasificadores bayesianos, clasificadores basados en casos o ejemplos, algoritmos genéticos, lógica difusa y redes neuronales, sin embargo los arboles de decisión se presentan como un  modelo de fácil abstracción, en donde los atributos son los nodos y los valores de dichos atributos son las ramas, los cuales se organizan en base a la clase objetivo, así pues, las reglas de clasificación resultan de recorrer el árbol descendentemente, sin embargo, el árbol puede crecer mucho haciéndose complejo e incomprensible, por lo cual se hace necesario aplicar técnicas de poda, que permiten acotar el árbol suprimiendo hojas y reduciendo el modelo. Como ejemplo de algoritmo de esta tarea podemos referenciar a Sliq, IDE3 [25] [26] C4.5 [27] [5] y Mate [28].

MATE

 

Este algoritmo genera, por cada una de las tuplas de una relación, todas los posibles combinaciones formadas por los valores no nulos de los atributos pertenecientes a una lista de atributos denominados Atributos Condición, y el valor no nulo del atributo denominado Atributo Clase.

Mate empareja en cada partición todos los atributos condición con el atributo clase, lo que facilita el conteo y el posterior cálculo de las medidas de entropía y ganancia de información. Mate genera estas combinaciones, en una sola pasada sobre la tabla de entrenamiento (lo que redunda en la eficiencia del proceso de construcción del árbol de decisión).

C4.5

 

El algoritmo C4.5 genera un árbol de decisión a partir de los datos mediante particiones realizadas  recursivamente. El árbol se construye mediante la estrategia de profundidad-primero. El algoritmo considera todas las pruebas posibles que pueden dividir el conjunto de datos y  selecciona la prueba que resulta en la mayor ganancia de información en base a la métrica de la entropía.

 

SLIQ

 

SLIQ es un clasificador que usa árboles de decisión y que pude manejar tanto atributos numéricos como categóricos. También usa una técnica de pre-clasificación en la etapa de construcción del árbol para reducir el coste de la evaluación de particiones por atributos numéricos

SLIQ puede clasificar grandes bases de datos residentes en disco si utilizar memoria. Otra característica interesante es el uso de un nuevo algoritmo de poda que es poco costoso y produce árboles compactos y eficaces.

Poda del árbol:

El conjunto de datos puede generar mucho ruido el cual implicaría un crecimiento desmedido del árbol. Este hecho nos puede llevar a errores en la clasificación es decir, clasifica muy bien los datos de entrenamiento pero luego no sabe generalizar al  conjunto de prueba. Este  efecto indeseado. Es posible controlarlo configurando el numero de transacciones por nodo en la caja de texto Min rows by node y un umbral o limite de conocimiento de crecimiento threshold, es decir hasta que porcentaje se considera que el árbol debe crecer para alcanzar un modelo de conocimiento adecuado.

En el presente manual se explicará el procedimiento para aplicar el algoritmo de clasificación C4.5, anotando que para los otros algoritmos de clasificación (Mate y Sliq) el procedimiento es similar.

1.         Para utilizar el algoritmo de clasificación debe haberse realizado el proceso de selección, el cual se explicó en la etapa de Data cleaning (limpieza de datos).

 

2.         De la pestaña Data mining se selecciona el ícono correspondiente a C45 y con clic sostenido se lo lleva al área Drag and Drop.

 

3.         Una vez realizado el paso anterior se debe establecer la conexión con el objeto Selection que se encuentra en el área de Drag and drop.  Para esto se debe tomar con clic sostenido cualquiera de los 8 puntos que se encuentran alrededor del objeto Selection y llevarlo a cualquiera de los puntos de conexión del objeto C45.

 

4.         Ahora se debe dar clic derecho sobre el objeto Selection y del menú de opciones que se despliega seleccionar la opción Configure… Con la cual se desplegará una ventana de opciones.


 

5.         En la ventana de configuración se debe establecer para la poda (Pruning) del árbol el porcentaje mínimo de filas por nodo (Min Rows by Node).

 

6.         Así mismo, se debe establecer el porcentaje para el umbral (Threshold) de la poda.

 

7.         Igualmente, en esta ventana se debe configurar el porcentaje de entrenamiento para el modelo (Set size).

 

8.         Una vez configurados los anteriores parámetros se puede dar clic al botón Accept que dejará listo el algoritmo para ser ejecutado.

 

9.         Posteriormente a la configuración, se tiene que hacer clic derecho sobre el elemento C45 y del menú de opciones Run… con lo cual se ejecutará el procedimiento de Clasificación C45.

 

 

 

 

Luego de ejecutado el procedimiento se procede a visualizar los resultados, para lo cual se ha establecido mostrar las diferentes opciones de visualización que tienen los algoritmos de clasificación, por cuanto, observaremos en los pasos una vocal en cada número de paso que identificará al visualizador seleccionado.

10a. Luego de haber ejecutado el algoritmo de clasificación, se debe cambiar a la pestaña Views. De esta, tomamos el ícono correspondiente a Text Tree y con clic sostenido se lo lleva al área de Drag and Drop.

11a. Una vez realizado el paso anterior se debe establecer la conexión con el objeto C45. Para esto se debe tomar con clic sostenido cualquiera de los 8 puntos que se encuentran alrededor del objeto de datos y llevarlo a cualquiera de los puntos de conexión del elemento Text Tree.

12a. Luego damos clic derecho sobre el objeto Text Tree y de las opciones seleccionamos Run… que ejecutará el procedimiento de visualización.

13a.  Luego volvemos a dar clic derecho sobre el objeto Text Tree y de las opciones seleccionamos View… que desplegará la ventana de resultados.

 

 

14a. En la ventana de resultados se nos presentan la información correspondiente al porcentaje de confiabilidad del árbol en la parte superior (Confidence Tree). Por debajo de ésta, se encuentran dos pestañas, la primera denominada Text Tree que muestra el árbol de clasificación organizado en formato texto. Aquí se pueden ver las reglas de clasificación que generó el algoritmo.  Este resultado lo podemos guardar a través del botón Save Tree.

15a. De igual manera, en la misma ventana en la pestaña Rules se puede observar una grilla que muestra el conjunto de reglas que se encuentran en el árbol junto con información de las clases que comprende la regla y el porcentaje de confianza de la misma.

 

 

 

 

10b. Ahora veremos el procedimiento para visualizar los resultados de los algoritmos de clasificación mediante el visualizador Hieralchical Tree. De esta manera tomamos el ícono correspondiente a Hieralchical Tree y con clic sostenido se lo lleva al área de Drag and Drop.

11b. Una vez realizado el paso anterior se debe establecer la conexión con el objeto C45. Para esto se debe tomar con clic sostenido cualquiera de los 8 puntos que se encuentran alrededor del objeto de datos y llevarlo a cualquiera de los puntos de conexión del elemento Hieralchical Tree.

12b. Luego damos clic derecho sobre el objeto Hieralchical Tree y de las opciones seleccionamos Run… que ejecutará el procedimiento de visualización.

13b.  Luego volvemos a dar clic derecho sobre el objeto Hieralchical Tree y de las opciones seleccionamos View… que desplegará la ventana de resultados.

 

 

 

14b. En la ventana de resultados se nos presentan la información correspondiente al porcentaje de confiabilidad del árbol en la parte superior (Confidence Tree). Por debajo de ésta, se encuentran dos pestañas, la primera denominada Hieralchical Tree que muestra el árbol de clasificación organizado en jerarquica. Aquí se pueden ver las reglas de clasificación que generó el algoritmo. Además, se puede expandir o colapsar las reglas mediante los botones Expand All y Collapse All respectivamente.


 

15b. De igual manera, en la misma ventana en la pestaña Rules se puede observar una grilla que muestra el conjunto de reglas que se encuentran en el árbol junto con información de las clases que comprende la regla y el porcentaje de confianza de la misma.

 

 

10c. Ahora veremos el procedimiento para visualizar los resultados de los algoritmos de clasificación mediante el visualizador Weka Tree. De esta manera tomamos el ícono correspondiente a Weka Tree y con clic sostenido se lo lleva al área de Drag and Drop.

 11c. Una vez realizado el paso anterior se debe establecer la conexión con el objeto C45. Para esto se debe tomar con clic sostenido cualquiera de los 8 puntos que se encuentran alrededor del objeto de datos y llevarlo a cualquiera de los puntos de conexión del elemento Weka Tree.

12c. Luego damos clic derecho sobre el objeto Hieralchical Tree y de las opciones seleccionamos Run… que ejecutará el procedimiento de visualización.

13c.  Luego volvemos a dar clic derecho sobre el objeto Weka Tree y de las opciones seleccionamos View… que desplegará la ventana de resultados.

 

 

 

 14c. En la ventana de resultados se nos presentan la información correspondiente al porcentaje de confiabilidad del árbol en la parte superior (Confidence Tree). Por debajo de ésta, se encuentran dos pestañas, la primera denominada Weka Tree que muestra el árbol de clasificación organizado en modo gráfico similar a un árbol.

15c. De igual manera, en la misma ventana en la pestaña Rules se puede observar una grilla que muestra el conjunto de reglas que se encuentran en el árbol junto con información de las clases que comprende la regla y el porcentaje de confianza de la misma.