Universidad Nacional de Misiones Facultad de Ciencias Exactas Químicas y Naturales Tesis de Grado Licenciatura en Sistemas de Información COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Autor: José David PANCHUK Directores: Dr. Ramón GARCÍA-MARTÍNEZ (UNLa) y Lic. Sebastian MARTINS (UNLa) Año 2015 COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN JOSÉ DAVID PANCHUK COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS AGRADECIMIENTOS Al Dr. Ramón García-Martínez y al Lic. Sebastian Martins por ayudarme y guiarme con paciencia durante el desarrollo de esta tesis. A mi familia por la paciencia y confianza que invirtieron en mí y por apoyarme siempre. A la Facultad de Ciencias Exactas Químicas y Naturales de la Universidad Nacional de Misiones por la excelente formación brindada durante estos años. A mis amigos por acompañarme durante todos estos años de aprendizaje. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN JOSÉ DAVID PANCHUK COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN JOSÉ DAVID PANCHUK COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS RESUMEN La presente tesis estudia el comportamiento de la integración de algoritmos de agrupamiento e inducción en el marco del proceso de explotación de información de descubrimiento de reglas de pertenencia a grupos, con la característica de que se utilizaran distintos tipos de dominios experimentales, definidos mediante la variación de los parámetros que conforman los distintos experimentos, con el fin de estudiar cómo estos afectan a los resultados obtenidos por las distintas combinaciones de algoritmos y lograr determinar cuáles de estas combinaciones funciona mejor para cada tipo de complejidad. Palabras Claves: algoritmos, agrupamiento, inducción, explotación de información, reglas, dominios, complejidad. ABSTRACT This thesis studies the behavior of the integration of clustering and induction algorithms in the context of the information mining process of the discovery of group membership rules, with the characteristic that different types of experimental domains will be used, defined by varying the parameters that are part of the various experiments, in order to study how they affect the results obtained by different combinations of algorithms and establish which of these combinations work best for each type of complexity. Keywords: algorithms, clustering, induction, information mining, rules, domains, complexity. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN JOSÉ DAVID PANCHUK COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS ÍNDICE 1. Introducción .......................................................................................................................................... 1 1.1. Contexto de la Tesis ....................................................................................................................... 1 1.2. Objetivos de la Tesis ...................................................................................................................... 1 1.2.1. Objetivos Generales ................................................................................................................ 1 1.2.2. Objetivos Específicos .............................................................................................................. 2 1.2.3. Metodología de Desarrollo...................................................................................................... 2 1.3. Visión General de la Tesis ............................................................................................................. 3 2. Estado de la Cuestión ............................................................................................................................ 5 2.1. Procesos de Explotación de Información ....................................................................................... 5 2.1.1. Descubrimiento de Reglas de Comportamiento...................................................................... 5 2.1.2. Descubrimiento de Grupos...................................................................................................... 6 2.1.3. Ponderación de Interdependencia de Atributos ...................................................................... 7 2.1.4. Descubrimiento de Reglas de Pertenencia a Pertenencia a Grupos ........................................ 8 2.1.5. Ponderación de Reglas de Comportamiento o de Pertenencia a Grupos ................................ 9 2.2. Algoritmos de Agrupamiento....................................................................................................... 11 2.2.1. Introducción a los Algoritmos de Agrupamiento .................................................................. 11 2.2.2. Algoritmo SOM .................................................................................................................... 12 2.2.3. Algoritmo EM ....................................................................................................................... 13 2.2.4. Algoritmo KMeans ............................................................................................................... 14 2.2.5. Algoritmo Farthest First ........................................................................................................ 15 2.2.6. Algoritmo NNC o KNN ........................................................................................................ 16 2.3. Algoritmos de Inducción .............................................................................................................. 17 2.3.1. Introducción a los Algoritmos de Inducción ......................................................................... 18 TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN i JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 2.3.2. Algoritmos de la Familia TDIDT.......................................................................................... 19 2.3.3. Algoritmo AQ15 ................................................................................................................... 21 2.3.4. Algoritmo CN2 ..................................................................................................................... 22 2.3.5. Algoritmo PART ................................................................................................................... 24 2.3.6. Algoritmo Apriori ................................................................................................................. 25 2.4. Complejidad del Dominio ............................................................................................................ 26 2.5. Cubrimiento de Reglas ................................................................................................................. 30 3. Descripción del Problema ................................................................................................................... 33 3.1. Delimitación del problema de investigación ................................................................................ 33 3.2. Resumen de las preguntas de investigación ................................................................................. 34 4. Materiales y Métodos .......................................................................................................................... 35 4.1. Método de Experimentación ........................................................................................................ 35 4.2. Herramienta de Experimentación................................................................................................. 35 4.2.1. Introducción .......................................................................................................................... 35 4.2.2. Funcionalidades .................................................................................................................... 36 4.2.3. Dinámica Completa de la Herramienta ................................................................................. 48 5. Experimentos ...................................................................................................................................... 49 5.1. Introducción ................................................................................................................................. 49 5.2. Diseño Experimental .................................................................................................................... 49 5.2.1. Características de las Experiencias Realizadas ..................................................................... 49 5.2.2. Presentación de las Variables a Utilizar ................................................................................ 50 5.2.3. Panorama General de la Ejecución de las Experiencias ....................................................... 51 5.3. Resultados Obtenidos ................................................................................................................... 55 5.3.1. Formato de los Resultados .................................................................................................... 55 5.3.2 Matriz de Valores Finales Promedios .................................................................................... 55 TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN ii JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 6. Conclusiones ....................................................................................................................................... 59 6.1. Análisis Comparativo de los Resultados Obtenidos .................................................................... 59 6.2. Conclusiones Finales.................................................................................................................... 63 6.3. Futuras Líneas de Trabajo ............................................................................................................ 64 7. REFERENCIAS .................................................................................................................................. 67 A. Metodología ....................................................................................................................................... 71 A.1. Requerimientos ........................................................................................................................... 71 A.2. Análisis ........................................................................................................................................ 72 A.2.1. Casos de Uso ........................................................................................................................ 72 A.2.2. Diagramas de Secuencia ...................................................................................................... 74 A.3. Diseño ......................................................................................................................................... 76 A.3.1. Diagrama de Clases .............................................................................................................. 76 A.3.1. Descripción de Clases .......................................................................................................... 77 B. Manual de Usuario ............................................................................................................................. 79 B.1. Introducción................................................................................................................................. 79 B.1.1. Componentes de la Herramienta .......................................................................................... 79 B.1.2. Plataforma y Lenguaje.......................................................................................................... 79 B.1.3. Librerías Utilizadas .............................................................................................................. 80 B.2. Instalación y Configuración ........................................................................................................ 81 B.2.1. Requerimientos ..................................................................................................................... 81 B.2.2. Configuración ....................................................................................................................... 81 B.3. Uso de la Herramienta ................................................................................................................. 82 B.3.1. Generación de Dominio........................................................................................................ 83 B.3.2. Experiencia Simple............................................................................................................... 85 B.3.3. Experimentación Completa .................................................................................................. 87 TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN iii JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN iv JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS ÍNDICE DE FIGURAS Figura 2. 1 - Proceso de Descubrimiento de Reglas de Comportamiento. [Britos & García-Martínez, 2009] ......................................................................................................................................................... 6 Figura 2. 2 - Proceso de Descubrimiento de Grupos. [Britos & García-Martínez, 2009]........................ 7 Figura 2. 3 - Proceso de Ponderación de Interdependencia de Atributos. [Britos & García-Martínez, 2009] ......................................................................................................................................................... 8 Figura 2. 4 - Proceso de Descubrimiento de Reglas de Pertenencia a Grupos. [Britos & GarcíaMartínez, 2009] ......................................................................................................................................... 9 Figura 2. 5 - Proceso de Ponderación de Reglas de Comportamiento o de Pertenencia a Grupos. [Britos & García-Martínez, 2009]........................................................................................................... 10 Figura 2. 6 - Algoritmo de entrenamiento para red SOM. [Mehrotra et al, 1997]. ................................ 13 Figura 2. 7 - Algoritmo EM. .................................................................................................................... 14 Figura 2. 8 - Algoritmo KMeans. ............................................................................................................ 15 Figura 2. 9 - Algoritmo Farthest First. [Hochbaum y Shmoys, 1985]. .................................................. 16 Figura 2. 10 - Algoritmo de Agrupamiento NNC. [Bubeck & Von Luxberg, 2009]............................... 17 Figura 2. 11 - Pseudocódigo para la creación de árboles TDIDT. [López Nocera, 2012; Kogan Zahavi, 2007] ....................................................................................................................................................... 20 Figura 2. 12 - Pseudocódigo Algoritmo AQ15. [Afify, 2004] ................................................................ 22 Figura 2. 13 - Pseudocódigo Algoritmo CN2. [Clark y Niblett, 1989] ................................................... 23 Figura 2. 14 - Pseudocódigo para Crear un Árbol Parcial a Partir de un Conjunto de Ejemplos. [Frank & Witten, 1998] ...................................................................................................................................... 25 Figura 2. 15 - Algoritmo Apiori. [Wu et al, 2007] .................................................................................. 26 Figura 2. 16 - Grafica que representa el estudio de dominios variando la cantidad de clases que los rigen, para distinta cantidad de atributos que tienen los ejemplos. [Kogan Zahavi, 2007]................... 28 Figura 2. 17- Ejemplo de Diagrama de Kiviat. [Lopez Nocera, 2012, Figura 4.26 pp: 97] ................... 29 Figura 2. 18 - Ejemplo de cubrimiento ideal. ......................................................................................... 30 Figura 2. 19 - Ejemplo de cubrimiento donde las condiciones entre reglas son diferentes. [Kogan Zahavi, 2007] .......................................................................................................................................... 30 TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN v JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Figura 2. 20 - Ejemplos donde el mismo valor se repite varias veces. [Kogan Zahavi, 2007] ............... 31 Figura 4. 1 - Sección de carga de los parámetros del dominio………………………………………….38 Figura 4. 2 - Formato de Reglas Generadas. .......................................................................................... 39 Figura 4. 3 - Conjunto de Atributos y Valores Posibles.......................................................................... 39 Figura 4. 4 - Conjunto de Atributos y Valores Posibles Acotados para Reglas. .................................... 40 Figura 4. 5 - Generación de una regla. ................................................................................................... 41 Figura 4. 6 - Ejemplos Generados a Partir de una Regla....................................................................... 42 Figura 4. 7 - Contrastación de reglas iguales. ........................................................................................ 45 Figura 4. 8 - Contrastación de reglas más generales y específicas. ....................................................... 47 Figura 4. 9 - Dinámica completa del banco de pruebas. [Kogan Zahavi, 2007] .................................... 48 Figura 6. 1 - Resultados Obtenidos para las Combinaciones de KMeans a Través de Todas las Complejidades…………………………………………………………………………………………..60 Figura 6. 2 - Resultados Obtenidos para las Combinaciones de EM a Través de Todas las Complejidades ......................................................................................................................................... 61 Figura 6. 3 - Resultados Obtenidos para las Combinaciones de Farthest First a Través de Todas las Complejidades ......................................................................................................................................... 61 Figura 6. 4 - Resultados Obtenidos para las Combinaciones de SOM a Través de Todas las Complejidades ......................................................................................................................................... 62 Figura 6. 5 - Resultados Obtenidos para las Combinaciones de KNN a Través de Todas las Complejidades ......................................................................................................................................... 62 Figura A. 1 – Diagrama de Casos de Uso con Alto nivel de abstracción....…………………………...72 Figura A. 2 – Diagrama de Casos de Uso Específico. ........................................................................... 73 Figura A. 3 – Diagrama de Secuencia Experiencia Simple. ................................................................... 74 Figura A. 4 – Diagrama de Secuencia Experiencia Completa. .............................................................. 75 Figura A. 5 – Diagrama de Clases. ........................................................................................................ 76 Figura B. 1 – Ventana Principal Herramienta………………………………………………………….82 Figura B. 2 – Ventana Generación de Dominio...................................................................................... 83 TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN vi JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Figura B. 3 – Ejemplo Contenido Archivo arff. ...................................................................................... 84 Figura B. 4 – Ventana Experiencia Simple. ............................................................................................ 85 Figura B. 5 – Resultados Experiencia Simple. ........................................................................................ 86 Figura B. 6 – Resultados Experiencia Simple II. .................................................................................... 86 Figura B. 7 – Ventana Experimentación Completa. ............................................................................... 87 Figura B. 8 – Ventana Experimentación Completa con Filtro de Complejidad. .................................... 88 Figura B. 9 – Ventana Experimentación Completa con Variación de Atributos. ................................... 89 Figura B. 10 – Resultados Ventana Experimentación Completa. ........................................................... 90 Figura B. 11 – Resultados Ventana Experimentación Completa II. ....................................................... 90 Figura B. 12 – Tabla Escenarios. ........................................................................................................... 91 Figura B. 13 – Tabla Resultados............................................................................................................. 91 TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN vii JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN viii JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS ÍNDICE DE TABLAS Tabla 5. 1 - Ejemplos Definición de Escenarios. .................................................................................... 51 Tabla 5. 2 - Matriz de Relación entre el Tipo de Complejidad y las Variables Independientes ............ 52 Tabla 5. 3 - Tabla de Valores .................................................................................................................. 52 Tabla 5. 4 - Matriz de Relación entre el Tipo de Complejidad y las Variables Independientes con el Rango de Variación Definido ................................................................................................................. 53 Tabla 5. 5 - Resultados Promedios Complejidad Simple ........................................................................ 55 Tabla 5. 6 - Resultados Promedios Complejidad Media ........................................................................ 56 Tabla 5. 7 - Resultados Promedios Complejidad Oscilante ................................................................... 56 Tabla 5. 8 - Resultados Promedios Complejidad Compleja ................................................................... 57 Tabla 5. 9 - Resultados Promedios Complejidad Hipercompleja ........................................................... 57 Tabla 6. 1 - Resultados Promedios de Cada Combinación a Través de Todas las Complejidades........63 TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN ix JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN x JOSÉ DAVID PANCHUK ÍNDICE COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS GLOSARIO DE ACRÓNIMOS Acrónimo Significado Apriori Algoritmo de Inducción Apriori AQ15 Algoritmo de Inducción AQ15 C4.5 Algoritmo de Inducción C4.5 CN2 Algoritmo de Inducción CN2 EM Algoritmo de Agrupamiento EM FARTHEST FIRST Algoritmo de Agrupamiento FARTHEST FIRST GNU-GPL GNU General Public License ID3 Algoritmo de Inducción Induction of Decision Trees J48 Implementación en Java del Algoritmo de Inducción C4.5 JAR Archivo de Java (Java Archive) JDBC Conectividad a la Base de Datos de Java (Java Database Conectivity) JDK Kit de Desarrollo de Java (Java Development Kit) KMeans Algoritmo de Agrupamiento K-Medias KNN NNC Algoritmo de Clasificación de los K vecinos más Próximos (K-Nearest Neighbour) Algoritmo de Agrupamiento del Vecino más Próximo (Nearest Neighbour) PART Algoritmo de Inducción PART SOM Mapas Auto-Organizados de Kohonen (Self Organizing Maps) SQL Lenguaje de Consulta Estructurado (Structured Query Language) TDIDT WEKA Inducción de Arboles de Decisión (Top Down Induction of Decision Trees) Entorno Weikato para el Análisis de Conocimiento (Weikato Enviroment for Knowledge Analysis) TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN xi JOSÉ DAVID PANCHUK ÍNDICE WWW COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Red de Informática Mundial (World Wide Web) TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN xii JOSÉ DAVID PANCHUK INTRODUCCION COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 1. Introducción En este capítulo se plantea el contexto de la tesis (Sección 1.1), se establece su objetivo (Sección 1.2), y finalmente se resume la estructura de la tesis (Sección 1.3). 1.1. Contexto de la Tesis Un procedimiento común en la minería de datos inteligente es tomar un conjunto de datos a estudiar, aplicar un algoritmo de agrupamiento para separarlo en grupos y sobre cada uno de estos grupos aplicar un algoritmo de inducción para obtener reglas que caractericen su conformación, lo que se conoce como descubrimiento de reglas de pertenencia a grupos, una de las hipótesis con las que trabajan estos algoritmos es que la complejidad del dominio sobre cuya información se trabaja, no incide sobre la calidad de los patrones obtenidos. En [Lopez Nocera, 2012] se realizaron experimentos cuyos resultados indican que la calidad de los patrones que se obtienen difiere en función de la complejidad de los dominios a los cuales se aplica y de los algoritmos que se utilizan en el proceso, este trabajo realizado por Lopez Nocera, estaba a su vez basado en [Kogan, 2007] donde se diseñó un experimento para analizar el rendimiento del proceso de descubrimiento de conocimiento para un determinado par de algoritmos. El tema elegido para esta investigación está basado en los trabajos nombrados anteriormente y busca profundizar en el tema, lo que implica tomar la caracterización de dominios propuesta por Lopez Nocera y el modelo de experimentación propuesto por Kogan. 1.2. Objetivos de la Tesis Se presentan aquí los objetivos del presente trabajo, que se clasifican en generales (Sección 1.2.1) y específicos (Sección 1.2.2), a su vez se presenta la Metodología de Desarrollo (Sección 1.2.3). 1.2.1. Objetivos Generales El objetivo de este trabajo es analizar cómo se comporta la integración de algoritmos de agrupamiento e inducción al ser aplicados sobre distintos tipos de complejidades del dominio con el fin de obtener reglas de pertenencia a grupos de calidad. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 1 JOSÉ DAVID PANCHUK INTRODUCCION COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Para esto se busca evaluar la calidad de las reglas obtenidas sobre cada tipo de dominio y compararlas entre sí para conocer cuál es la mejor combinación de algoritmos de agrupamiento e inducción en cada tipo de dominio. 1.2.2. Objetivos Específicos A continuación se detallan los objetivos específicos que se desprenden de los objetivos generales presentados anteriormente. 1. Estudiar y comprender los conceptos de agrupamiento e inducción de reglas. 2. Investigar y estudiar los trabajos realizados en el área por otros autores. 3. Estudiar y refinar definiciones necesarias planteadas en trabajos anteriores, como el cubrimiento de una regla original por una descubierta mediante inducción y el concepto de complejidad de dominios. 4. Investigar y estudiar los distintos algoritmos de agrupamiento e inducción de reglas utilizados en trabajos anteriores, e incrementar el estudio a través de la implementación de nuevos algoritmos. 5. Diseñar e implementar una herramienta software donde llevar a cabo las experiencias. 6. Replicar las experiencias llevadas a cabo en trabajos anteriores mediante la realización de experimentos que involucren los mismos algoritmos de agrupamiento e inducción aplicados sobre los mismos tipos de complejidades del dominio definidos en ellos. 7. Extender el universo de estudio mediante la realización de nuevas experiencias utilizando nuevos algoritmos de agrupamiento e inducción. 1.2.3. Metodología de Desarrollo El presente trabajo se ha planificado en cuatro etapas bien definidas que se explican en las secciones siguientes, Etapa I (Sección 1.2.3.1), Etapa 2 (Sección 1.2.3.2), Etapa 3 (Sección 1.2.3.3) y Etapa 4 (Sección 1.2.3.4) 1.2.3.1. Etapa I Esta primera etapa se centra en la obtención de información de distintas fuentes, por ejemplo: internet, libros, papers, y otras tesis con el objetivo de formar una base teórica sobre los distintos procesos de TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 2 JOSÉ DAVID PANCHUK INTRODUCCION COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS explotación de información y los algoritmos de agrupamiento e inducción a utilizar, y de esta manera conformar el estado del arte del presente trabajo. 1.2.3.2. Etapa 2 En esta etapa se lleva a cabo el diseño y desarrollo de la herramienta software utilizada para realizar los experimentos de esta investigación, esta herramienta automatiza cada una de las etapas que conforman un experimento y simplifica la configuración y ejecución de estos. 1.2.3.3. Etapa 3 En esta etapa se incluye el diseño de las experiencias de laboratorio y la realización de las mismas mediante su carga y ejecución en la herramienta desarrollada especifica desarrollada en la etapa previa. 1.2.3.4. Etapa 4 En esta etapa se lleva a cabo el análisis de las experiencias realizadas mediante el procesamiento e interpretación de los datos obtenidos a partir de los experimentos realizados, a su vez a partir de este análisis se obtuvieron las conclusiones y se elaboró el informe final, incluyendo los aportes que se derivaron del trabajo y las futuras líneas de investigación que surgen del mismo. 1.3. Visión General de la Tesis La estructura de la tesis comienza con una introducción donde se plantea el contexto, se establecen los objetivos generales y específicos, y se da una visión general de la misma. En el capítulo Estado de la Cuestión (Capitulo 2) se describen las características de los algoritmos de agrupamiento e inducción utilizados durante la fase experimental del presente trabajo, a su vez se presentan distintas teoría y técnicas que son concurrentes con los objetivos de esta tesis, se presenta una base teórica sobre los procesos de explotación de información, la complejidad del dominio y el proceso de cubrimiento de reglas. En el capítulo Descripción del Problema (Sección 3) se caracteriza el problema que da lugar a la presente investigación y se proponen las preguntas de investigación a ser respondidas en la presente tesis. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 3 JOSÉ DAVID PANCHUK INTRODUCCION COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS En el capítulo materiales y métodos (Sección 4) se define la herramienta utilizada para realizar las experiencias, se nombran y definen sus funcionalidades y su funcionamiento interno. En el capítulo Experimentación (Sección 5) se describe el diseño experimental, se definen las características de las experiencias realizadas y las variables utilizadas, se describen las experiencias realizadas y se muestran los resultados obtenidos a partir de la realización de las experiencias El trabajo finaliza con el capítulo Conclusiones (Sección 6) donde se detallan las conclusiones generales que se alcanzaron, incluyendo las respuestas a las preguntas de investigación formuladas en el capítulo 3, y se enuncian las futuras líneas de investigación, posteriormente se detallan las Referencias Bibliográficas (Sección 7) utilizadas y por último se incluyen los apéndices A (Metodología) y B (Manual de Usuario) a la investigación. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 4 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 2. Estado de la Cuestión En este capítulo se presenta el estado de la cuestión sobre distintas teorías y técnicas que son concurrentes con los objetivos de esta tesis. La Explotación de Información es una sub-disciplina de los Sistemas de Información, que brinda a la Inteligencia de Negocio las herramientas para la trasformación de información en conocimiento [García-Martínez et al, 2015] y se define como la búsqueda de patrones interesantes y de reglas importantes, previamente desconocidas, en grandes cantidades de información almacenada en distintos medios [Martins, 2013]. Un proceso de Explotación de Información consiste en un grupo de tareas relacionadas que se realizan con el objetivo de obtener información útil y significativa a partir de grandes cantidades de datos, para esto, estos procesos se valen de la utilización de algoritmos de Minería de Datos (Data Mining) [García-Martínez et al, 2015; Martins, 2013], en este capítulo se provee una introducción a los procesos de explotación de información (Sección 2.1) y luego se da una descripción de los algoritmos de Minería de Datos que se utilizan en esta investigación, separándolos en algoritmos de agrupamiento (Sección 2.2) y algoritmos de inducción (Sección 2.3), A continuación de estos, se describe el concepto de complejidad del dominio (Sección 2.4) que sirve como base para la experimentación realizada en este trabajo y por último se describe el cubrimiento de reglas (Sección 2.5) como técnica que se usa para determinar el resultado de cada experimento. 2.1. Procesos de Explotación de Información Para los problemas de inteligencia de negocio, Britos & García-Martínez [2009] proponen cinco procesos de explotación de información que se describen en las siguientes secciones: Descubrimiento de reglas de comportamiento (Sección 2.1.1), descubrimiento de grupos (Sección 2.1.2), descubrimiento de atributos significativos (Sección 2.1.3), descubrimientos de reglas de pertenencia a grupos (Sección 2.1.4) y ponderación de reglas de comportamiento o de pertenencia a grupos (Sección 2.1.5). 2.1.1. Descubrimiento de Reglas de Comportamiento El proceso de descubrimiento de reglas de comportamiento es aplicable cuando el objetivo es conocer cuáles son las condiciones que determinan cierto resultado en el dominio del problema, para aplicar TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 5 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS este proceso, el primer paso es identificar todas las fuentes de información, e integrarlas en una sola a la se llamara “datos integrados”, a partir de estos datos integrados el siguiente paso es identificar el atributo clase de los mismos, por último se aplica un algoritmo de inducción al atributo clase identificado para obtener las reglas que definen el comportamiento de dicha clase. Este proceso es útil en situaciones donde por ejemplo, se desea identificar las características del local más visitado por los clientes, o cuales son los rasgos de estos clientes [Britos & García-Martínez, 2009]. A continuación en la Figura 2.1 puede observarse el proceso de descubrimiento de reglas de comportamiento completo. Figura 2. 1 - Proceso de Descubrimiento de Reglas de Comportamiento. [Britos & García-Martínez, 2009] 2.1.2. Descubrimiento de Grupos El proceso de descubrimiento de grupos se utiliza cuando se desea identificar una partición determinada en la información disponible sobre un dominio del problema, para el descubrimiento de grupos a partir de la información de un dominio cuando no se posee ningún criterio de agrupamiento se propone la utilización de Mapas Auto Organizados de Kohonen (SOM) [Britos & García-Martínez, 2009], el uso de este algoritmo permite descubrir si el dominio del problema puede dividirse en grupos que representen una partición significativa. Los pasos del proceso de descubrimiento de grupos son los siguientes pueden observarse en la Figura 2.2, al igual que en el proceso de explotación de información descripto anteriormente, en primer lugar se integran todas las fuentes de información identificadas en una sola llamada “datos integrados”, a estos datos se aplica SOM con el objetivo de obtener distintos grupos (grupos identificados) que representan una partición significativa, para cada grupo identificado se genera un archivo. Algunos TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 6 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS ejemplos de problemas donde se podría aplicar este proceso de explotación de información son: la identificación de segmentos de clientes, la identificación de grupos sociales con características similares o la identificación de grupos de estudiantes con características homogéneas. Figura 2. 2 - Proceso de Descubrimiento de Grupos. [Britos & García-Martínez, 2009] 2.1.3. Ponderación de Interdependencia de Atributos Este proceso se aplica con el objetivo de identificar cuáles son los factores de mayor incidencia o frecuencia de ocurrencia sobre un determinado resultado del problema. Para ponderar en qué medida la variación de los valores de cierto atributo afectan los valores de un atributo clase se propone utilizar Redes Bayesianas [Britos & García-Martínez, 2009], el uso de Redes Bayesianas tiene como fin determinar si existe una interdependencia entre los atributos que forman el dominio del problema. El proceso de ponderación de interdependencia de atributos completo puede observarse en la Figura 2.3, para aplicar este proceso de explotación de información, el primer paso consiste en identificar y luego integrar todas las fuentes de información en una sola llamada “datos integrados” a partir de los cuales se procede a identificar el atributo clase de los mismos, el siguiente paso es aplicar el aprendizaje estructural de las Redes Bayesianas al archivo con atributo clase identificado para obtener el árbol de aprendizaje, al cual se le aplica el aprendizaje predictivo de las Redes bayesianas para obtener el árbol de ponderación de interdependencias que tiene como raíz el atributo clase y como nodos a los otros atributos junto con su incidencia sobre el atributo clase. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 7 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Figura 2. 3 - Proceso de Ponderación de Interdependencia de Atributos. [Britos & García-Martínez, 2009] 2.1.4. Descubrimiento de Reglas de Pertenencia a Pertenencia a Grupos El proceso de descubrimiento de reglas de pertenencia a grupos aplica cuando se requiere identificar cuáles son las condiciones de pertenencia de cada una de las clases en una partición desconocida “a priori”, pero presente en la masa de información disponible sobre el dominio del problema. Para el descubrimiento de reglas de pertenencia a grupos se propone la utilización de algoritmos de agrupamiento para el hallazgo de los grupos existentes, y una vez identificados estos, la utilización de algoritmos de inducción para establecer las reglas de pertenencia a cada uno [Britos & GarcíaMartínez, 2009]. En este trabajo se hace uso de este proceso de explotación de información. El proceso de descubrimiento de reglas de pertenencia a grupos puede observarse en la Figura 2.4, en ese caso se utiliza el algoritmo SOM para realizar el agrupamiento y algoritmos de la familia TDIDT para la inducción de reglas. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 8 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS El proceso es el mismo para cualesquiera sean los algoritmos de agrupamiento e inducción que se deseen utilizar, por ejemplos, además de SOM se podría pensar en utilizar algoritmos como KMeans y FARTHEST FIRST, y además de los algoritmos ID3 y C4.5 de la familia TDIDT se podrían aplicar los algoritmos CN2, AQ15 o PART. Figura 2. 4 - Proceso de Descubrimiento de Reglas de Pertenencia a Grupos. [Britos & García-Martínez, 2009] 2.1.5. Ponderación de Reglas de Comportamiento o de Pertenencia a Grupos Este tipo de proceso de explotación de información puede aplicarse cuando se desea determinar cuáles son las condiciones que inciden en mayor medida sobre la obtención de un determinado resultado en el dominio del problema ya sean que inciden sobre un determinado comportamiento o las que mejor definen la pertenencia a un grupo. El procedimiento para la ponderación de reglas de comportamiento o de pertenencia a grupos, cambia dependiendo si hay clases/grupos identificados o no: Cuando hay clases/grupos identificados el procedimiento es el siguiente, al igual que en el resto de los procesos de información, se toman todas las fuentes de información y se unen, formando una sola fuente de datos llamada “datos integrados”, en estos datos se utilizan algoritmos de TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 9 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS inducción para descubrir las reglas de comportamiento de cada atributo clase y luego se utilizan redes bayesianas para establecer cuál de los atributos definidos como antecedentes de las reglas tiene mayor incidencia sobre el atributo definido como consecuente. Figura 2. 5 - Proceso de Ponderación de Reglas de Comportamiento o de Pertenencia a Grupos. [Britos & García-Martínez, 2009] TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 10 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Cuando no existen clases/grupos identificados, se aplica sobre los datos integrados mapas auto organizados (SOM), el resultado de esto son particiones del conjunto de datos que se llamaran grupos identificados, para cada uno de estos se generara un archivo, y este conjunto de archivos recibirá el nombre de grupos ordenados, el atributo “grupo” de cada grupo ordenado se identifica como el atributo clase de dicho grupo, constituyéndose este en un archivo con atributo clase identificado, el siguiente paso es aplicar redes bayesianas, por lo tanto se aplica el aprendizaje estructural para obtener el árbol de aprendizaje, y a este se le aplica el aprendizaje predictivo para obtener el árbol de ponderación de interdependencias, que tendrá como raíz al atributo grupo y como nodos hojas a los otros atributos con su incidencia sobre el atributo grupo. En la Figura 2.5 pueden observarse los pasos completos para las dos posibilidades descriptas. 2.2. Algoritmos de Agrupamiento En esta sección se hace primero una introducción teórica a los algoritmos de agrupamiento (Sección 2.2.1) y luego se procede a describir cada uno de los algoritmos de agrupamiento utilizados en la investigación, SOM (Sección 2.2.2), EM (Sección 2.2.3), Kmeans (Sección 2.2.4), Farthest First (Sección 2.2.5) y CNN (Sección 2.2.6). 2.2.1. Introducción a los Algoritmos de Agrupamiento El proceso de agrupar objetos físicos o abstractos en clases de objetos similares es llamado agrupamiento o clasificación no supervisada, esta técnica ayuda a construir particiones significativas de un conjunto grande de objetos utilizando distintos métodos para descomponer un sistema a gran escala en componentes más pequeños para simplificar diseño e implementación [Chen et al., 1996]. Como una tarea de minería de datos, el agrupamiento de datos, es el proceso de agrupar datos similares en colecciones o “clusters”, la similitud entre los datos puede medirse mediante funciones de distancia especificadas por usuarios o expertos. El objetivo es encontrar clusters de alta calidad que sean escalables a grandes bases de datos y a data warehouses multidimensionales [Paola Britos et al., 2005; Chen et al., 1996]. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 11 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 2.2.2. Algoritmo SOM Los Modelos SOM (Self-Organizing Maps) son mapas de redes neuronales artificiales propuestas por Kohonen [1982]. El algoritmo de aprendizaje del SOM está basado en el aprendizaje no supervisado y competitivo, lo cual quiere decir que no se necesita intervención humana durante el mismo y que se necesita saber muy poco sobre las características de la información de entrada, podríamos utilizar SOM para clasificar datos sin saber a qué clase pertenecen los mismos. El mismo provee un mapa topológico de datos que se representan en varias dimensiones utilizando unidades de mapa (las neuronas) simplificando el problema, la neurona tiene las mismas dimensiones que los vectores de entrada (datos de entrada), es decir que es n-dimensional. Las neuronas están conectadas a las neuronas adyacentes por una relación de vecinos. Esta dicta la topología, o la estructura, del mapa; usualmente, las neuronas están conectadas unas con otras en una topología hexagonal o rectangular [López Nocera, 2012; Kogan Zahavi, 2007]. En el algoritmo básico del SOM, las relaciones topológicas y el número de neuronas son fijos desde el comienzo, este número de neuronas determina la escala o granularidad del modelo resultante, la selección de la granularidad afecta la certeza y la capacidad de generalizar del modelo, debe tenerse en cuenta que la granularidad y la generalización son objetivos contradictorios, mejorando el primero se pierde el segundo y viceversa, esto se debe a que si aumentamos el primero se obtendrán muchos más grupos para poder clasificar los datos de entrada, evitando que se pueda generalizar el espacio en clases más abarcativas, de manera inversa, si se generaliza demasiado se puede perder información que caracterice a un grupo específico que quede incluido en otro por la falta de granularidad[López Nocera, 2012; Kogan Zahavi, 2007]. Los datos que alimentan al SOM incluyen toda la información que toma la red, por lo tanto es importante realizar un pre procesamiento de los mismos, ya que si se presenta información errónea, el resultado final será erróneo o de mala calidad, SOM debe eliminar el ruido y los errores en los datos, por lo cual se debe trabajar con un subconjunto de los datos y estos deben ser relevantes para el modelo a analizar, comúnmente los componentes de los datos de entrada se normalizan para tener una escala de 0 a 1, esto asegura que por cada componente, la diferencia entre dos muestras contribuye con un valor TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 12 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS igual a la distancia medida calculada entre una muestra de entrada y un patrón dados[López Nocera, 2012; Kogan Zahavi, 2007]. SOM debe pasar por un proceso de entrenamiento, este es un proceso iterativo a través del tiempo que requiere un esfuerzo computacional importante, consta de muestras del conjunto de datos de entrada que van ingresando a la red para que la misma los aprenda, el aprendizaje propiamente dicho, consiste en elegir una neurona ganadora por medio de una medida de similitud y actualizar, en consecuencia los valores de los patrones en el vecindario de la misma, este proceso se repite varias veces en forma iterativa para poder ir refinando (y acotando) el error y acercar como ya se dijo las neuronas a una representación más adecuada de los datos de entrada. El último paso es la validación del modelo, la validación significa que el modelo debe ser probado para asegurar que devuelve valores razonables y certeros [López Nocera, 2012; Kogan Zahavi, 2007]. La Figura 2.6 muestra el algoritmo de entrenamiento para la red SOM de Kohonen. Figura 2. 6 - Algoritmo de entrenamiento para red SOM. [Mehrotra et al, 1997]. 2.2.3. Algoritmo EM El algoritmo Expectation-Maximization (EM), es un importante algoritmo de minería de datos, el cual encuentra estimaciones de máxima probabilidad para los parámetros, en problemas donde algunas variables son desconocidas, casos espaciales del algoritmo datan de varias décadas atrás y su uso ha TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 13 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS crecido mucho desde que su extensa aplicabilidad y generalidad fue discutida por Dempster, Laird y Rubin en 1977 [Dempster et al, 1977; Neal & Hinton, 1998; Sharma et al, 2012]. En cada iteración del algoritmo EM hay dos pasos, llamados el paso expectación (Expectation step o Estep) y el paso de maximización (Maximization Step o M-step), en el paso expectación, se computa la expectación de la probabilidad logarítmica evaluada usando el estimado actual para los parámetros y en el paso de maximización se computan los parámetros maximizando la probabilidad logarítmica esperada encontrada en el paso anterior. Cada iteración mejora la verdadera probabilidad o la deja sin alterar si es que el máximo local ya fue alcanzado [McLachlan & Krishnan, 2008; Neal & Hinton, 1998; Sharma et al, 2012]. La figura 2.7 ilustra el algoritmo EM con los pasos de expectación y maximización. Figura 2. 7 - Algoritmo EM. 2.2.4. Algoritmo KMeans El algoritmo KMeans (K Medias) es un método simple e iterativo para particionar un conjunto de datos en un numero k de clusters definidos por el usuario [Wu et al, 2007], este algoritmo es uno de los más utilizados para hacer clustering. En primer lugar se debe especificar por adelantado cuantos clusters se van a crear. Este es el parámetro k, para lo cual se seleccionan k elementos aleatoriamente, que representan el centro o media de cada cluster, a continuación cada una de las instancias (ejemplos), es asignada al centro del cluster más cercano de acuerdo con la distancia euclidiana que le separa de él. Para cada uno de los clusters así construidos se calcula el centroide de todas sus instancias. Estos centroides son tomados como los TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 14 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS nuevos centros de sus respectivos clusters. Finalmente se repite el proceso completo con los nuevos centros de los clusters. La iteración continúa hasta que se repite la asignación de los mismos ejemplos a los mismos clusters, ya que los puntos centrales de los clusters se han estabilizado y permanecerán invariables después de cada iteración. El algoritmo KMeans como se describió anteriormente, puede verse en la figura 2.8. Para obtener los centroides iniciales se pueden usar distintas técnicas las cuales incluyen, calcular la media o moda según se trate de atributos numéricos o simbólicos, obtener una muestra aleatoria del conjunto de datos, o establecerlos como la solución del agrupamiento de un subconjunto de los dato, entre otras. [Wu et al, 2007]. Figura 2. 8 - Algoritmo KMeans. 2.2.5. Algoritmo Farthest First El algoritmo Farthest First (Primero el más Lejano) propuesto por Hochbaum y Shmoys [1985] es una variante de KMeans y utiliza el mismo procedimiento [Vadeyar & Yogish, 2014], con la diferencia TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 15 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS que Farthest First establece cada centro de cluster en el punto más alejado de los centros de clusters existentes, este punto debe estar dentro del área de datos. Los puntos que están más lejos son agrupados primero, esta característica del algoritmo aumenta la velocidad del proceso de agrupamiento en muchas situaciones ya que menos reajuste y reasignación es necesario [Sehagl & Garg, 2014; Revathl & Nalini, 2013], el algoritmo Farthest First puede esquematizarse como se muestra en la figura 2.9. Figura 2. 9 - Algoritmo Farthest First. [Hochbaum y Shmoys, 1985]. 2.2.6. Algoritmo NNC o KNN El algoritmo KNN (K-Nearest Neighbour) es una variación del algoritmo del vecino más próximo NNC (Nearest Neighbour Cluster), la idea detrás de estos algoritmos es la siguiente, si se cuantifica la similitud entre el ejemplo a clasificar y cada uno de los ejemplos de entrenamiento, la mayor de esas similitudes medidas es la que estará indicando a que clase o categoría se debe asignar el ejemplo a clasificar. Desde un punto de vista más práctico, el algoritmo del vecino más próximo puede aplicarse con cualquier programa de recuperación de tipo best match [Figuerola et al, 2004; López Nocera, 2012]. NNC se basa entonces en localizar el ejemplo más similar o parecido al que se desea clasificar, para esto no hay más que utilizar ese ejemplo como si fuera una consulta sobre la colección de entrenamiento, una vez localizado el ejemplo de entrenamiento más similar, se sabe a qué categoría pertenece y por ende a que categoría se debe asignar el ejemplo a clasificar. Su variante KNN en cambio, consiste en tomar los k ejemplos más parecidos, en lugar de solo el primero, como en esos k ejemplos los habrá, presumiblemente de varias categorías, se suman los coeficientes de cada uno de los ejemplos de cada una de ellas, la que más puntos acumule será la candidata idónea [Figuerola et al, 2004; López Nocera, 2012]. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 16 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Figura 2. 10 - Algoritmo de Agrupamiento NNC. [Bubeck & Von Luxberg, 2009] La Figura 2.10 provee un resumen de alto nivel del algoritmo de Agrupamiento NNC, dada una muestra finita X1,…,Xn ∈ Rd, el numero K de clusters a construir y un número m tal que K ≤ m ≪ n, de manera aleatoria se selecciona un subconjunto de m “puntos semilla” Xs1,…, Xsm, y se asignan todos los otros puntos de datos a su “punto semilla” más cercano, para cada punto semilla j = 1,…,m se define un conjunto Zj como el subconjunto de puntos de datos cuyo punto semilla más cercano es Xsj, en otras palabras los conjuntos Z1,…,Zm son las celdas Voronoi inducidas por las semillas Xs1,…, Xsm, todas las particiones de Xn que son constantes en todos los conjuntos Z1,…,Zm definen las funciones f a partir de las cuales se define el conjunto Fn de todas las funciones, el último paso consiste en evaluar la función de calidad Qn (f) para cada f perteneciente al conjunto Fn y seleccionar la solución [Bubeck & Von Luxberg, 2009]. 2.3. Algoritmos de Inducción En esta sección se hace primero una introducción teórica a los algoritmos de inducción (Sección 2.3.1) y luego se procede a describir cada uno de los algoritmos de agrupamiento utilizados en la investigación, comenzando con una descripción de los algoritmos de la familia TDIDT (Sección 2.3.2), los algoritmos ID3 (Sección 2.3.2.1) y J48 (Sección 2.3.2.2), y se continua con el resto de los TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 17 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS algoritmos de inducción utilizados, AQ15 (Sección 2.3.3), CN2 (Sección 2.3.4), PART (Sección 2.3.5) y A Priori (Sección 2.3.6). 2.3.1. Introducción a los Algoritmos de Inducción La inducción de reglas es una de las técnicas más usadas para extraer conocimientos a partir de datos ya que la representación de conocimiento mediante reglas si/entonces (if/then) es muy intuitiva y puede ser fácilmente entendible por los expertos del problema o dominio [Pappa & Freitas, 2004]. Los algoritmos de inducción de reglas, como la mayoría de los descubridores de conceptos, fueron diseñados para adquirir conceptos generales de un set de ejemplos de entrenamiento, en el contexto de la tarea de clasificación, cada ejemplo de entrenamiento es representado por un conjunto de atributos predictores y un atributo objetivo (o clase), el algoritmo trata de encontrar relaciones entre los atributos predictores y el atributo objetivo, en el caso de los algoritmos de inducción de reglas, el modelo de clasificación es representado por un conjunto de reglas, una regla tiene el formato SI condición1 Y condición2 ENTONCES consecuencia, donde las condiciones en el antecedente son descritas por asociaciones entre los atributos y sus valores y la consecuencia representa el valor previsto para el atributo objetivo [Pappa & Freitas, 2004]. Investigación sobre los algoritmos de inducción de reglas se ha llevado a cabo por más de 30 años, durante este tiempo muchos algoritmos de inducción han sido desarrollados, la mayoría de ellos sigue una de las tres estrategias más comunes para inducir reglas a partir de datos. La primer estrategia consiste en la generación de un árbol de decisión, usando la estrategia de dividir y conquistar (divide and conquer), y luego extraer una regla por cada hoja en el árbol, esta estrategia es usada por ejemplo por el algoritmo C4.5, la segunda estrategia es separar y conquistar (separete y conquer) también conocida como cubrimiento secuencial, que consiste en aprender una regla a partir de un conjunto de datos, remover del conjunto los ejemplos que son cubiertos por la regla y recursivamente aprender otra regla que cubra los ejemplos restantes, hasta que todos o casi todos los ejemplos son cubiertos, esta estrategia es utiliza en algoritmos como AQ15 y CN2, la tercer estrategia es utilizar algoritmos evolutivos como algoritmos genéticos y programación genética para extraer reglas a partir de los datos [Pappa & Freitas, 2004; Pappa & Freitas, 2006]. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 18 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 2.3.2. Algoritmos de la Familia TDIDT La familia de los Top Down Induction Trees (TDIDT) pertenece a los métodos inductivos del aprendizaje automático, que aprenden a partir de ejemplos preclasificados , en minería de datos, se utiliza para modelar las clasificaciones en los datos mediante arboles de decisión, los arboles TDIDT, a los cuales pertenecen los generados por los algoritmos ID3 y C4.5, se construyeron a partir del método de Hunt que incluye calcular la ganancia de información, la poda de árboles generados y la aplicación del principio de longitud de descripción mínima. [Quinlan, 1986; López Nocera, 2012; Kogan Zahavi, 2007] La estructura de este método para construir un árbol de decisión a partir de un conjunto de datos de entrenamiento se detalla a continuación. Con varias clases, existen tres posibilidades: a) En la primera posibilidad, el conjunto contiene uno o más casos, todos pertenecientes a una única clase. En este caso, el árbol de decisión para el conjunto es una hoja identificando la clase. b) Si el conjunto de datos no contiene ningún caso, el árbol de decisión es una hoja, pero la clase asociada debe ser determinada por información que no pertenezca al conjunto. c) La última posibilidad es que el conjunto contenga casos pertenecientes a varias clases, la idea consiste en refinarlo en subconjuntos de casos que tiendan o parezcan tender hacia una colección de casos pertenecientes a una única clase, se elige una prueba basada sobre una única variable, que tiene uno o más resultados, mutuamente excluyentes, y el conjunto se particiona en subconjuntos donde cada uno contiene todos los casos del conjunto que tienen un resultado dado para la prueba elegida. El árbol de decisión para el conjunto consiste en un nodo de decisión identificando la prueba, con una rama para cada resultado posible. El mecanismo de construcción del árbol se aplica a cada subconjunto de datos de entrenamiento, para que la iesima rama lleve al árbol de decisión construido por el subconjunto de datos de entrenamiento correspondiente a ella. En los casos en los cuales el conjunto contiene ejemplos pertenecientes a distintas clases, se realiza una prueba sobre las distintas variables y se realiza una partición según la mejor variable. Para encontrar esta mejor variable, se utiliza la teoría de la información, que sostiene que la información se maximiza TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 19 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS cuando la entropía se minimiza, la entropía determina la condición de azarosidad o desestructuración de un conjunto [López Nocera, 2012; Kogan Zahavi, 2007]. La figura 2.11 muestra el pseudocódigo para la creación de árboles TDIDT, ya sea para el algoritmo ID3 o C4.5. Figura 2. 11 - Pseudocódigo para la creación de árboles TDIDT. [López Nocera, 2012; Kogan Zahavi, 2007] Es común realizar la poda de los arboles generados, debido principalmente a razones como la sobre generalización, la evaluación de variables poco importantes o significativas y el gran tamaño del árbol obtenido, existen dos enfoques para podar árboles, la pre-poda (pre-pruning) y la post-poda (postpruning), en el primer caso se detiene el crecimiento del árbol cuando la ganancia de información producida al dividir un conjunto no supera un umbral determinado, mientras que en la post-poda se podan algunas ramas del árbol una vez que este se terminó de construir [López Nocera, 2012; Kogan Zahavi, 2007]. 2.3.2.1. Algoritmo ID3 El algoritmos ID3 (Induction Decision Trees) fue desarrollado en los años ochenta por Quinlan, es un sistema de aprendizaje supervisado que construye arboles de decisión a partir de un conjunto de ejemplos, estos ejemplos son tuplas compuestas por varios atributos y una única clase, el dominio de TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 20 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS cada atributo de estas tuplas está limitado a un conjunto de valores [Servente, 2002], los dominios de los atributos y de las clases deben ser discretos. El objetivo de ID3 es crear una descripción eficiente de un conjunto de datos mediante la utilización de una árbol de decisión, dados datos consistentes, el árbol resultante describirá el conjunto de entrada a la perfección, además el árbol puede ser utilizado para predecir los valores de nuevos datos, asumiendo siempre que el conjunto de datos sobre el cual se trabaja es representativo de la totalidad de los datos [López Nocera, 2012; Kogan Zahavi, 2007]. 2.3.2.2. Algoritmo J48 El algoritmo J48 es la implementación en lenguaje JAVA del algoritmo C4.5 propuesto por Quinlan [1993], es una extensión del ID3 que permite trabajar con valores continuos para los atributos, 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 (depth-first). 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. Para cada atributo discreto se considera una prueba con n resultados. Siendo n el número de valores posibles que puede tomar el atributo, para cada atributo continuo, se realiza una prueba binaria sobre cada uno de los valores que toma el atributo en los datos [Servente, 2002]. 2.3.3. Algoritmo AQ15 El Algoritmo AQ15 fue desarrollado por Michalski et al [1986], es un sistema de aprendizaje inductivo que genera reglas de decisión, donde el antecedente es una forma lógica, tiene como característica la inducción constructiva (constructive induction), es decir, el uso de conocimientos del dominio para generar nuevos atributos que no están presentes en los datos de entrada, al igual que el algoritmo ID3, AQ15 está diseñado para la generación de reglas fuertes, para cada clase se construye una regla que cubre todos los ejemplos positivos y ningún ejemplo negativo, se soluciona el problema de las ejemplos incompletos o inconsistentes mediante un pre o post procesamiento, en el post procesamiento, además, se reduce de forma drástica la cantidad de reglas generadas mediante el truncamiento de reglas, el cual no afecta la precisión de las reglas obtenidas [Servente, 2002]. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 21 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS La figura 2.12 muestra el pseudocódigo para el algoritmo AQ15, las reglas de decisión de AQ15 estan representadas como expresiones en el sistema de lógica de valores variables (Variable-Valued Logic System), un selector relaciona un atributo a un valor o a una disyunción de valores usando un operador relacional, un selector o una conjunción de selectores forma un Complejo (complex), un cubrimiento (cover) es una disyunción de complejos describiendo todas las instancias positivas y ninguna instancia negativa de un concepto, el cubrimiento define la parte condicional de una regla de decisión [Afify, 2004]. Figura 2. 12 - Pseudocódigo Algoritmo AQ15. [Afify, 2004] 2.3.4. Algoritmo CN2 El algoritmo CN2 fue desarrollado por Clark y Niblett [1989], es una adaptación del AQ15, el objetivo del CN2 es incorporar el manejo de datos ruidosos al algoritmo ya que AQ15 elimina los ruidos TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 22 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS mediante pre y post procesamiento y ni durante la ejecución del algoritmo, CN2 combina entonces las técnicas de poda utilizadas en el ID3, con las técnicas de reglas condicionales utilizadas en el AQ15. El CN2 genera reglas simples y comprensivas en dominios donde los datos pueden tener ruido, construye reglas probabilísticas, es decir, el antecedente en cada regla cubre ejemplos positivos de una clase, pero también puede cubrir ejemplos de otra clase en menor número. De esta forma no restringe el espacio de búsqueda únicamente a aquellas inferibles a partir de los ejemplos [Servente, 2002]. La figura 2.13 muestra el pseudocódigo del algoritmo CN2, al ser una adaptación de AQ15 tiene muchas cosas en común con este, como por ejemplo el uso de complejos (complex) y el uso del método STAR para aprendizaje inductivo. Figura 2. 13 - Pseudocódigo Algoritmo CN2. [Clark y Niblett, 1989] TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 23 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 2.3.5. Algoritmo PART El algoritmo PART fue propuesto por Frank y Witten [1998], se caracteriza por combinar dos grandes paradigmas para la creación de reglas, la creación de reglas a partir de árboles de decisión y la utilización de la técnica de aprendizaje de reglas “separar-y-conquistar”, y por no utilizar una técnica de optimización global para descartar o ajustar reglas individuales para que trabajen mejor juntas. PART está basado en los algoritmos C4.5 y RIPPER y combina dos de los enfoques más utilizados para la generación de reglas, los arboles de decisión utilizados por el algoritmo C4.5 y el enfoque “separar-y-conquistar” utilizado por RIPPER. C4.5 comienza generando un árbol de decisión que luego transforma en un conjunto de reglas, y termina realizando una simplificación sobre estas reglas para hacerlas más precisas, RIPPER primero determina cual es la reglas más poderosa del conjunto de datos y separa los ejemplos que son cubiertos por ella, luego repite el proceso sobre los ejemplos restantes, ambos algoritmos realizan un proceso de optimización global sobre el conjunto de reglas inducido inicialmente, en el caso de C4.5 debido a que el conjunto de reglas inicial obtenido a partir de un árbol de decisión es excesivamente grande y redundante y en el caso de RIPPER para incrementar la precisión del conjunto de reglas revisando o reemplazando reglas individuales. Por otro lado PART busca la combinación de los dos enfoques para evitar sus respectivos problemas, no necesita realizar una optimización global sobre el conjunto de reglas obtenido inicialmente y esta simplificación representa una de sus mayores ventajas. PART adopta la estrategia “separar-y-conquistar” en la manera que crea una regla, remueve las instancias que cubre y continua creando reglas recursivamente para las instancias restantes, pero difiere de este enfoque en la manera en la que las reglas son creadas, en esencia para hacer una única regla un árbol de decisión podado es construido para el conjunto de instancias actuales y la hoja con el mayor cubrimiento es transformada en una regla, luego el árbol es descartado, realizando estos pasos recursivamente [Frank & Witten, 1998]. La idea principal detrás de PART es construir arboles de decisión “parciales” en lugar de árboles enteros y completamente explorados, un árbol de decisión parcial es un árbol de decisión ordinario que contiene ramas a subárboles indefinidos, para generarlo se integran las operaciones de construcción y podado para poder encontrar un subárbol “estable” que ya no pueda ser simplificado, una vez que este subárbol es encontrado se para la construcción del árbol y se lee una sola regla [Frank & Witten, 1998] en la figura 2.14 se muestra el pseudocódigo para crear un árbol de decisión parcial a partir de un conjunto de ejemplos. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 24 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Figura 2. 14 - Pseudocódigo para Crear un Árbol Parcial a Partir de un Conjunto de Ejemplos. [Frank & Witten, 1998] 2.3.6. Algoritmo Apriori Uno de los enfoques de minería de datos más populares es encontrar conjuntos de elementos frecuentes en un conjunto de datos de transacciones y luego derivar reglas de asociación, encontrar estos conjuntos de elementos frecuentes, es decir, conjuntos de elementos con una frecuencia igual o mayor al soporte mínimo especificado por el usuario no es una tarea trivial debido a su explosión combinacional, una vez que los conjunto de elementos frecuentes son encontrados, es bastante sencillo generar reglas de asociación con una confianza igual o mayor a la confianza mínima especificada por el usuario [Wu et al, 2007]. Apriori, propuesto por Agrawal y Srikant [1994], es un algoritmo para encontrar conjuntos de elementos frecuentes usando generación de candidatos, está caracterizado como un algoritmo de búsqueda completa de nivel utilizando anti monotonicidad de los conjuntos de elementos, “si un conjunto de elementos no es frecuente, ninguno de sus superconjuntos es frecuente”. Por convención A priori asume que los elementos dentro de una transacción o conjunto de elementos están ordenados en orden lexicográfico. La figura 2.15 muestra el algoritmo A priori, Si el set de conjuntos de elementos frecuentes de tamaño k se denota como Fk y sus candidatos como Ck, Apriori primero escanea la base de datos y busca los conjuntos de elementos frecuentes con tamaño 1 acumulando la cuenta para cada elemento y recolectando aquellos que satisfacen el requerimiento mínimo, luego itera en los siguientes tres pasos y extrae los conjuntos de elementos frecuentes [Wu et al, 2007]. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 25 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS a) Genera Ck+1, candidatos de conjuntos de elementos frecuentes de tamaño k + 1, de los conjuntos de elementos frecuentes de tamaño k. b) Recorre la base de datos y calcula el soporte de cada candidato. c) Agrega aquellos conjuntos de elementos que satisfagan el soporte mínimo requerido para Fk+1. Figura 2. 15 - Algoritmo Apiori. [Wu et al, 2007] A priori consigue un buen rendimiento al reducir el tamaño de los conjuntos de candidatos mediante la implementación de un proceso de podado de los candidatos iniciales obtenidos durante el primer paso, pero en situaciones donde los conjuntos de elementos sean demasiado frecuentes, los conjuntos de elementos sean excesivamente grandes o el soporte mínimo establecido sea muy bajo, sufre por el costo de generar un gran número de conjuntos de candidatos. [Wu et al, 2007]. 2.4. Complejidad del Dominio En minería de datos se parte del supuesto de que los dominios a los cuales se aplican los algoritmos son equivalentes o indistinguibles entre sí a efectos experimentales, en su investigación Lopez Nocera [2012] refuta esta hipótesis para el caso del proceso de explotación de información de reglas de pertenecía a grupos y propone una caracterización de los dominios posibles en función de los parámetros que los rigen. De acuerdo a Lopez Nocera [2012], la complejidad de un dominio viene dada por las variables que intervienen en el, en su caso: la cantidad de clases, la cantidad de reglas que definen la pertenencia a TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 26 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS cada clase, la cantidad de atributos que puede tener cada regla, la cantidad de valores distintos que puede tener cada atributo y el porcentaje de reglas correctamente cubiertas. A partir de la observación del comportamiento de estas variables por Lopez Nocera mediante el análisis de los gráficos obtenidos por Kogan [2007] en sus experimentos sobre la integración de algoritmos de agrupamiento e inducción, define la siguiente clasificación de dominios basada en su complejidad: complejidad simple, complejidad mediana, complejidad oscilante, complejidad compleja y complejidad hipercompleja. El procedimiento de análisis de gráficos utilizado por Lopez Nocera es el siguiente, por cada uno de los 18 gráficos obtenidos por Kogan Zahavi [2007], se estudia como varía la cantidad de reglas descubiertas correctamente en relación a los valores que tomen las dos parámetros que se analicen en el gráfico, y se representa esta relación mediante una esquematización del tipo “(↑, =, ↓)”, lo que permite agrupar los gráficos en distintas categorías en función de la complejidad del dominio subyacente, por ejemplo, la Figura 2.16 es una reproducción de un gráfico extraído del Capítulo 5, Sección 6 de Kogan Zahavi [2007] y que se estudia en Lopez Nocera [2012] Capitulo 4, Sección 4.2, de la siguiente manera, cuando aumenta el valor del parámetro Class Possible Values es decir cantidad de clases “(↑)” en el eje X, y se mantiene fijo el parámetro attributes number es decir cantidad de atributos “(=)” eligiendo solo una de las curvas de nivel del gráfico, se observa que disminuye el porcentaje de reglas descubiertas correctamente “(↓)” a medida que aumenta el valor del eje X, obteniéndose así la primer esquematización, (↑, =,↓) que se lee como “cuando aumenta el parámetro (↑) y se mantiene fijo el valor de las series (=), el porcentaje de reglas correctamente cubiertas disminuye (↓). Otros posibles análisis del grafico son tomar como constante el parámetro class possible values (=) por ejemplo con el valor numérico 2 y decir que a medida que aumenta el valor del parámetro attributes number (↑), disminuye el porcentaje de reglas descubiertas correctamente (↓), representándose de la siguiente manera: (=, ↑, ↓), o ver la situación al revés diciendo que tomando como constante el parámetro class possible values (=) y disminuyendo el valor del parámetro attributes number (↓), aumenta el porcentaje de reglas descubiertas correctamente (↑). Representándose como (=, ↓, ↑). Las representaciones obtenidas: (↑, =, ↓); (=, ↑, ↓); (=, ↓, ↑), representan el comportamiento del gráfico. Lopez Nocera continúa el procedimiento analizando el resto de los gráficos y agrupando los que se comporten de la misma manera, formando así grupos que describan el tipo de complejidad. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 27 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Figura 2. 16 - Grafica que representa el estudio de dominios variando la cantidad de clases que los rigen, para distinta cantidad de atributos que tienen los ejemplos. [Kogan Zahavi, 2007] Lopez Nocera define cuatro grupos: A, B, C, y D a partir del análisis de los gráficos y en base a estos grupos se definen cuatro tipos de complejidad del dominio (uno para cada grupo) más un tipo de complejidad que puede estar incluido en cualquiera de los grupos: Complejidad Simple: cuando el aumento de la cantidad de ejemplos por regla mejora el cubrimiento de reglas, independientemente de los parámetros que se utilicen. Complejidad Mediana: cuando se tienen pocos atributos y pocas clases o pocas clases y pocas reglas por clase. Complejidad Oscilante: son dominios en los que intervienen como parámetros características asociadas a los ejemplos (cantidad de atributos por ejemplo, cantidad de ejemplos por regla, etc.) y provocan un comportamiento ambiguo, dispar y poco predecible. Complejidad Compleja: son los dominios cuyos ejemplos poseen pocos atributos y muchos valores posibles por atributo o inversamente, con muchos atributos y pocos valores posibles por atributo. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 28 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Complejidad Hipercompleja: cuando los dominios tengan como parámetro la cantidad de valores que puede tomar un atributo, el número de atributos, la cantidad de reglas por clase o la cantidad de clases y se observe una gran fluctuación en los valores de estos parámetros, generando oscilaciones importantes en las curvas que se grafiquen. Una vez obtenidos sus resultados experimentales, Lopez Nocera utiliza los llamados diagramas de Kiviat para la visualización y estudio de los resultados obtenidos para cada par de algoritmos de agrupamiento e inducción utilizados, estos diagramas permiten visualizar las relaciones entre datos afectados por múltiples variables. En la Figura 2.17 puede observarse un ejemplo de diagrama de Kviat extraído del trabajo de Lopez Nocera, en el cada una de las 27 variables representan los distintos escenarios que se utilizaron para las pruebas, cada escenario contiene una variación en los valores de sus parámetros, y pertenece a uno de los tipos de dominios definidos anteriormente, los números del 0 al 100 en el interior de la figura representan los valores que toma la variable de interés del estudio, es decir, el porcentaje de reglas correctamente cubiertas, de esta manera resulta fácil determinar cuáles escenarios presentaron mejores y peores resultados. Figura 2. 17- Ejemplo de Diagrama de Kiviat. [Lopez Nocera, 2012, Figura 4.26 pp: 97] TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 29 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 2.5. Cubrimiento de Reglas En Kogan Zahavi [2007] se define el siguiente criterio de cubrimiento de una regla de pertenencia a grupo sobre otra, “comparando cada uno de los atributos de las reglas entre sí, se debe cumplir para todos los atributos que, si la regla a cubrir impone condiciones y la regla que cubre también lo hace, las condiciones deben ser las mismas.” En la Figura 2.18 se muestra un ejemplo de cubrimiento ideal, de acuerdo al criterio expuesto anteriormente, se cuenta con seis atributos y sobre dos de estos se imponen condiciones, los atributos sobre los que se imponen condiciones y sus respectivos valores son los mismos tanto para la regla que cubre como para la regla a cubrir. Figura 2. 18 - Ejemplo de cubrimiento ideal. Además de lo expuesto anteriormente, se debe tener en cuenta la siguiente situación, en la figura 2.19 se muestra un ejemplo de cubrimiento donde las condiciones impuestas sobre la regla a cubrir no son exactamente las mismas que las observadas en la regla que cubre, la regla que cubre no impone condiciones sobre el 2° atributo, mientras que la regla a cubrir si lo hace, esto no es problema ya que se dice que la regla a cubrir es “más específica” que la regla que cubre y se toma como cubierta, a pesar de que la regla que cubre este imponiendo condiciones sobre el 6° atributo y la regla a cubrir no. Figura 2. 19 - Ejemplo de cubrimiento donde las condiciones entre reglas son diferentes. [Kogan Zahavi, 2007] TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 30 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS El motivo por el cual se realiza esta concesión es que, de acuerdo a lo observado de forma experimental por Kogan Zahavi [2007], la determinación al azar de los valores de los atributos libres puede arrojar ejemplos en los cuales se repite varias veces el mismo valor, lo que puede provocar que el algoritmo de inducción utilizado genere una regla que tenga como condición que un atributo tome esos valores repetidos como se muestra en la figura 2.20. Figura 2. 20 - Ejemplos donde el mismo valor se repite varias veces. [Kogan Zahavi, 2007] La regla descubierta no impone condiciones sobre el 2° atributo porque quizás haciéndolo sobre el 4° ya logro determinar un grupo de ejemplos. Sin embargo, la coincidencia de que el 6° atributo de los ejemplos haya tomado el mismo valor para todos ellos, bien pudo haber provocado que la regla descubierta imponga condiciones sobre este atributo ya que no hay manera de controlar dicha coincidencia y diferenciarla de un patrón intencionado. De no realizarse esta concesión sobre el cubrimiento de reglas el análisis de la cantidad de reglas cubiertas correctamente, no sería preciso [Kogan Zahavi, 2007]. Debido a lo expuesto anteriormente, el proceso utilizado para determinar el cubrimiento de una regla original por reglas descubiertas es el siguiente: 1. Para cada una de las reglas originales, se toma del conjunto de reglas descubiertas aquellas que la cubren. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 31 JOSÉ DAVID PANCHUK ESTADO DE LA CUESTIÓN COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 2. Se suma la cantidad de ejemplos que responden al conjunto de reglas descubiertas. 3. Si la suma de ejemplos computada en el paso 2 está comprendida entre la cantidad de ejemplos que se sabe se generaron para la regla original y esta cantidad sumada a una desviación, se considera que la regla original ha sido correctamente cubierta. La 3ra condición responde a dos criterios, que las reglas descubiertas deben cubrir al menos la misma cantidad de ejemplos que la original, y que es posible aceptar una desviación en la cantidad de ejemplos cubiertos [Kogan Zahavi, 2007]. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 32 JOSÉ DAVID PANCHUK DESCRIPCIÓN DEL PROBLEMA COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 3. Descripción del Problema En este capítulo se presenta una descripción del problema a resolver (sección 3.1) y se realiza un resumen de las preguntas de investigación identificadas (sección 3.2). 3.1. Delimitación del problema de investigación Los procesos de explotación de información utilizan distintos algoritmos de minería de datos para obtener patrones de conocimiento a partir de los ejemplos (instancias) que se tienen sobre el dominio del problema [Britos & García-martínez, 2009], una de las hipótesis con las que trabajan estos algoritmos es que la complejidad del dominio sobre cuya información se trabaja, no incide sobre la calidad de los patrones obtenidos; esta hipótesis fue refutada por Lopez Nocera [2012] en oportunidad de su tesis de magister donde demostró que para el caso del proceso de explotación de información de reglas de pertenecía a grupos, la calidad de los patrones que se obtienen difiere en función de la complejidad de los dominios a los cuales se aplica y de los algoritmos que se utilizan en el proceso [López Nocera & Garcia-Martinez, 2012]. Este trabajo de investigación busca conocer como varía el comportamiento conjunto de los algoritmos de agrupamiento e inducción en función de la complejidad del dominio sobre la que se apliquen, para lograr esto, Se toma como base para el estudio llevado a cabo en el presente trabajo la caracterización de dominios propuesta por Lopez Nocera, y el modelo de experimentación para estudiar la integración de algoritmos de agrupamiento e inducción más el método para medir la calidad de las reglas obtenidas propuesto por Ariel Kogan Zahavi [2007] para su tesis de grado en ingeniería. Se ha elegido profundizar las siguientes líneas de investigación planteadas en los trabajos previos: a) Extender el universo de conocimiento mediante la aplicación al problema de nuevos algoritmos de agrupamiento e inducción, lo que llevara a un aumento de la cantidad de combinaciones de algoritmos posibles. b) Comparar los resultados obtenidos a partir de las experiencias con el objetivo de encontrar las combinaciones de algoritmos que mejor trabajen con los tipos de dominio definidos en la investigación de Lopez Nocera. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 33 JOSÉ DAVID PANCHUK DESCRIPCIÓN DEL PROBLEMA COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 3.2. Resumen de las preguntas de investigación A partir de lo expuesto en la sección anterior se enumeran a continuación las preguntas de investigación identificadas: 1. ¿Los resultados obtenidos por los algoritmos de agrupamiento e inducción utilizados se ven afectados por el tipo de dominio sobre el que se aplican? 2. ¿Qué combinaciones de algoritmos de agrupamiento e inducción presentan mejores resultados para cada tipo de dominio? TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 34 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 4. Materiales y Métodos En este capítulo se presentan los métodos y herramientas metodológicas que se utilizaran, comenzando con el método de experimentación (Sección 4.1) y luego se presenta la herramienta necesaria para la realización de las experiencias prácticas (Sección 4.2). 4.1. Método de Experimentación Para realizar las experimentaciones de este trabajo se decidió utilizar el banco de pruebas propuesto por Kogan Zahavi [2007], adaptado con los cambios propuestos por Lopez-Nocera [2012] para tener en cuenta la complejidad del dominio al generar los escenarios de experimentación. El uso de la herramienta permite la automatización del proceso de experimentación, permitiendo el ahorro de una gran cantidad de tiempo y haciendo que sea más fácil tener acceso a los resultados finales de cada etapa del proceso de experimentación, ya que estos se almacenan en la base de datos utilizada y las salidas de los procesos intermedios de agrupamiento e inducción se almacenan en archivos con extensión “.arff”, archivos que son utilizados de forma nativa por las librerías de algoritmos utilizadas. 4.2. Herramienta de Experimentación En esta sección se presenta la herramienta desarrollada para llevar a cabo los experimentos, primeramente se da una introducción a la misma (Sección 4.2.1) seguido se nombran todas sus funcionalidades (Sección 4.2.2) y finalmente se muestra la dinámica completa de la herramienta (Sección 4.2.3). 4.2.1. Introducción La herramienta usada para realizar las experiencias es un desarrollo propio, basado en el banco de pruebas propuesto por Kogan Zahavi [2007], se desarrolló en lenguaje JAVA 1.8, utilizando el IDE NetBeans 8.0 y como gestor de base de datos utiliza PostgreSQL 9.3. Además, la herramienta hace uso de distintas librerías para la ejecución de los algoritmos de agrupamiento e inducción utilizados, estas librerías son: WEKA 3.7, WEKA 3.6, WEKA Classification Algorithms 1.8, KEEL, y otras librerías propias de JAVA como Math. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 35 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Se decidió utilizar JAVA como lenguaje de desarrollo, en primer lugar por ser el mismo utilizado en los trabajos anteriores sobre los que se basa esta tesis, y segundo porque al ser un lenguaje popular, se observó una facilidad a la hora de encontrar las librerías desarrolladas en este lenguaje con los algoritmos necesarios. WEKA (Weikato Environment for Knowledge Analysis), o Entorno Weikato para el análisis de conocimiento, es un entorno de trabajo que incorpora varias técnicas de Machine Learning creado por la universidad de Weikato, Nueva Zelanda. Las librerías de algoritmos utilizadas por WEKA son de código abierto, y pueden ser utilizadas por cualquier persona para sus desarrollos propios, la librería incluye algoritmos para el pre-procesamiento de los datos, clasificación, regresión, clustering, minería de reglas de asociación y visualización, de esta librería se obtuvieron la mayoría de los algoritmos utilizados en el presente trabajo: SOM, EM, KMeans, Farthest First, KNN, J48, PART y Apriori. KEEL (Knowledge Extraction Based on Evolutionary Learning, o Extracción de conocimiento basado en aprendizaje evolucionario) es una herramienta Open Source desarrollada en java que puede ser utilizada para un gran número de diferentes tareas de descubrimiento de conocimiento en datos, contiene una gran variedad de algoritmos clásicos de extracción de conocimiento. De esta librería se obtuvieron los algoritmos ID3, CN2, AQ15. 4.2.2. Funcionalidades A continuación se listan las funcionalidades que provee la herramienta para realizar los experimentos, en primer lugar provee la capacidad de definir dominios sobre los cuales trabajar (Sección 4.2.2.1) luego permite generar ejemplos para esos dominios (Sección 4.2.2.2), permite ejecutar algoritmos de agrupamiento sobre esos ejemplos (Sección 4.2.2.3) y algoritmos de inducción (Sección 4.2.2.4), finalmente permite realizar la contrastación entre dos grupos de reglas (Sección 4.2.2.5). 4.2.2.1. Definición del Dominio De acuerdo a los valores dados a una serie de parámetros, la herramienta es capaz de definir un dominio sobre el cual realizar la experimentación, esta definición responde a la modelización que se ha realizado estableciendo los valores de los parámetros y generando al azar la información faltante. En la figura 4.1 se muestra la sección de carga de datos del dominio a generar de la herramienta, los parámetros sobre los cuales la herramienta genera los dominios son: TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 36 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS La cantidad de clases (CC): es la cantidad de clases diferentes que creara la herramienta, cada clase contara con un conjunto de reglas propias y por consiguiente un conjunto de ejemplos, la cantidad de clases dictara también la cantidad de grupos en los que se agruparan la totalidad de los ejemplos generados en un experimento. La cantidad de atributos (CA): es la cantidad de atributos que tendrán los ejemplos a generarse, cada atributo a su vez tendrá una cierta cantidad de valores posibles que podrá tomar. La cantidad de valores posibles por atributo (CVA): es la cantidad de valores diferentes que puede llegar a tomar un atributo, tanto en el momento de generar una regla que impondrá una condición sobre cierto atributo (en ese caso la cantidad de valores posibles estará acotada, como se verá más adelante) o al generar los ejemplos. El porcentaje de valores posibles por atributo en reglas (PCVA): es el porcentaje sobre la cantidad de valores posibles por atributo que se tendrán en cuenta para armar las reglas. El porcentaje de ejemplos usados para el entrenamiento de los algoritmos: es el porcentaje de los ejemplos generados que se utilizarán para entrenar los algoritmos de agrupamiento e inducción antes de ejecutarlos sobre la totalidad de los mismos, los ejemplos de entrenamiento son seleccionados aleatoriamente a partir del conjunto de ejemplos completo, es decir si se cuenta con una totalidad de 200 ejemplos y se utiliza el 10% de estos para entrenamiento, se seleccionaran 20 ejemplos para realizar el entrenamiento de los algoritmos y luego se ejecutaran la totalidad de los ejemplos generados (200). La cantidad de reglas a generar por cada clase (CRC): es la cantidad de reglas que se generarán para cada clase, las reglas generadas describen a cada clase, ya que a parir de estas se generan los ejemplos del dominio. La cantidad de ejemplos a generar por cada regla (CER): es la cantidad de ejemplos a generarse para cada regla, debe tenerse en cuenta que la cantidad de ejemplos dependerá de la cantidad de clases que se hayan definidos, de la cantidad de reglas a generar por clase que se haya definido y a este parámetro en si, por lo tanto la cantidad de ejemplos generados se dispara rápidamente dependiendo de los valores dados a los parámetros nombrados. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 37 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS La cantidad de atributos a utilizar en cada regla (CAR): este parámetro puede traducirse a la cantidad de condiciones que tendrá cada regla generada por la herramienta, el valor de este parámetro deberá ser menor o igual a la cantidad de atributos definidos. La semilla de generación de números aleatorios: es la semilla que utilizará la herramienta para generar los números aleatorios que alimentan a todo el proceso de experimentación. Los números aleatorios se generan mediante la librería math de JAVA, a la cual se le establece el número de semilla. Además la herramienta permite guardar los datos generados para el dominio en el directorio ingresado en el parámetro “guardar en” con el nombre dado por defecto por la herramienta para el archivo que es una composición de la fecha y hora de la ejecución o con un nombre particular que quiera ingresarse. Si se desea, la herramienta puede generar automáticamente un dominio de determinada categoría seleccionando la opción “complejidad” y el tipo de complejidad que se desea. Figura 4. 1 - Sección de carga de los parámetros del dominio. La definición de los dominios en condiciones de laboratorio, conlleva la generación de un conjunto de reglas, que serán las reglas “originales” o conjunto “A” de reglas, a partir de estas reglas se generaran más adelante ejemplos que les den soporte, en la Figura 4.2 se muestra un conjunto de reglas regeneradas para un dominio por la herramienta, cada regla tiene el siguiente formato “if att1 = val1 and att2 = val2… and attn = valn then Cn” la cantidad de reglas a generar y la cantidad de condiciones de las reglas, así como la cantidad clases, atributos y valores diferentes, viene dado por los valores que tomen los parámetros del experimento. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 38 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Figura 4. 2 - Formato de Reglas Generadas. El procedimiento de generación de reglas que utiliza la herramienta es el siguiente: a) Se calcula el total de reglas a generar, mediante la multiplicación de los parámetros “cantidad de reglas por clase” y “cantidad de clases” b) Se establecen los valores del dominio, de acuerdo a los valores dados a los parámetros “cantidad de atributos” y “cantidad de valores por atributo”, en la Figura 4.3 se muestra un ejemplo de los atributos establecidos y sus posibles valores, suponiendo que el parámetro “cantidad de atributos” haya tomado valor 6 y el parámetro “cantidad de valores por atributo” valor 8. Figura 4. 3 - Conjunto de Atributos y Valores Posibles. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 39 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS c) Se seleccionan aleatoriamente los atributos sobre los que se impondrán condiciones para las reglas teniendo en cuanta el parámetro “cantidad de atributos por regla” y se acota la cantidad de valores posibles que pueden tomar esos atributos seleccionados, de acuerdo al valor que haya tomado el parámetro “porcentaje de valores posibles por atributo en reglas”. En la Figura 4.4 Se muestra un ejemplo de esto, suponiendo que el parámetro “cantidad de atributos por regla” haya tomado un valor de 2, en gris se muestran los atributos sobre los que la regla impondrá condiciones, estos atributos fueron seleccionados aleatoriamente, de igual manera en gris se muestra el conjunto acotado de valores que podrán tomar esos atributos sobre los que se impondrán condiciones, la manera de determinar este conjunto de valores posibles es la siguiente, para el ejemplo como se dijo anteriormente, el parámetro “cantidad de atributos” tomó el valor 8 y el parámetro “porcentaje de valores posibles por atributo en reglas” tomó el valor 50% primero se calcula la cantidad de valores posibles para el atributo condicionado, que en este caso es la mitad (50%) de la cantidad de valores posibles (8), es decir 4. Luego estos 4 valores son seleccionados aleatoriamente de entre el total de valores posibles, generándose así lo que se muestra en gris en la figura 4.4. Figura 4. 4 - Conjunto de Atributos y Valores Posibles Acotados para Reglas. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 40 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS d) Se genera una regla tomando de manera aleatoria un valor de entre los valores posibles para cada atributo previamente seleccionado, en la Figura 4.5 se muestra la generación de una regla, los dos atributos seleccionados anteriormente sobre los que se imponen condiciones toman un valor del conjunto de valores posibles acotados, el resto de los atributos sobre los que no se imponen condiciones toman valor “*” es decir indeterminado. Figura 4. 5 - Generación de una regla. e) Se repite el punto d) para cada regla a generar para esa clase f) Se repite a partir del punto c) al e) para cada clase. 4.2.2.2. Generación de Ejemplos Una vez definido un dominio, la herramienta generará los ejemplos necesarios para dar soporte a ese dominio, la cantidad de ejemplos a generar es variable y depende de los valores que se le hayan dado a los parámetros definidos al comienzo del experimento. En la Figura 4.6 se muestra un conjunto de ejemplos generados para dar soporte a una regla original, excepto los atributos sobre los que la regla impone condiciones, el resto de los valores para los atributos son generados aleatoriamente por la herramienta mediante el uso de la librería Math incluida en JAVA, para el ejemplo, cada ejemplo consiste en cinco valores para cada uno de los cinco atributos definidos, los atributos dos y cinco están condicionados por la regla para la cual fueron generados, por estos esos atributos toman los valores fijos 1 y 0. El resto de los atributos son libres de tomar valores entre 0 y 7, seleccionados aleatoriamente. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 41 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Figura 4. 6 - Ejemplos Generados a Partir de una Regla. El procedimiento para la generación de cada ejemplo es el siguiente: a) Se toma una regla del conjunto de reglas para las que se debe generar ejemplos. b) La regla impone condiciones sobre una cierta cantidad de atributos, al generar el ejemplo primero se fijan los valores de los atributos sobre los cuales la regla impone condiciones, los valores que toman serán los que indique la regla en cada uno. c) Se seleccionan aleatoriamente los valores de los demás atributos, los valores posibles estarán dados por el valor del parámetro cantidad de valores posibles por atributo. La selección aleatoria se realiza nuevamente utilizando la librería Math.Random incluida en JAVA, se generan una serie de valores aleatorios dentro de un rango de valores predeterminado, por ejemplo si se estableció el valor 8 para el parámetro cantidad de valores posibles por atributo, se generarán números aleatorios entre 0 y 7, que luego se establecerán con valores de cada uno de los atributos. d) Se repite el paso c) para cada ejemplo que se deba generar para una regla en particular. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 42 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS e) Se repiten los pasos a) al d) para cada regla. Todos los ejemplos generados se almacenan en un conjunto, sobre este se realizara en el próximo paso el agrupamiento. 4.2.2.3. Agrupamiento El banco de pruebas permite la aplicación de los siguientes algoritmos de agrupamiento sobre los ejemplos generados: KMeans, EM, FarthestFirst, SOM, KNN, estos algoritmos están incluidos en la herramienta mediante la utilización de distintas librerías, principalmente WEKA, y KEEL, y se ejecutan automáticamente sobre los ejemplos una vez que estos son generados, los distintos grupos de ejemplos generados a partir de la aplicación de los algoritmos de agrupamiento, son guardados ya que luego sobre estos se aplicarán los algoritmos de inducción de reglas. Para cada algoritmo de agrupamiento utilizado se mantiene su configuración por defecto, ya que se observó que de esa manera se podía mantener una cierta correlación entre algoritmos que utilicen una estructura parecida y de esta manera no favorecer a uno sobre los otros mediante la modificación de su configuración, en los algoritmos donde se debiera seleccionar la cantidad de grupos a generar como ser KMeans, se eligió establecer ese valor con el valor de la cantidad de clases generadas para el experimento, de esta manera al generarse un dominio con 3 clases se busca la conformación de 3 grupos diferentes sobre los cuales luego aplicar los algoritmos de inducción. 4.2.2.4. Inducción Una vez realizado el agrupamiento de los ejemplos con algún algoritmo de agrupamiento, la herramienta aplica un algoritmo de inducción de reglas sobre cada uno de los grupos para obtener las reglas que indican la pertenencia a estos, los algoritmos de inducción incluidos en la herramienta son los siguientes: PART, J48, ID3, Apriori, CN2 y AQ15, también aplicados mediante la utilización de las librerías de WEKA y KEEL. La salida del proceso de inducción es el conjunto “B” de reglas o conjunto de reglas descubiertas, que deberán ser comparadas con las reglas originales. Al igual que con los algoritmos de agrupamiento utilizados, la configuración de los algoritmos de inducción es modificada mínimamente, la salida de cada algoritmo de inducción es un conjunto de reglas que indican la pertenencia a un grupo, y asociado a cada regla un valor numérico que indica a cuantos ejemplos cubre esa regla, el formato de las reglas de salida de cada algoritmo varían TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 43 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS dependiendo de a qué familia pertenezcan, así, por ejemplo: las salidas de los algoritmos J48 y ID3 son idénticas, así como las salidas de los algoritmos CN2 y AQ15. Debido a esta diferencia de formatos con las reglas originales definidas por la herramienta, se debe modificar la salida obtenida de los algoritmos para que se asemejen a un único formato. 4.2.2.5. Contrastación El banco de pruebas es capaz de realizar la contrastación entre dos conjuntos de reglas, es decir, es capaz de establecer la cantidad de reglas de un conjunto A que son correctamente cubiertas por las reglas de un conjunto B, el método de contrastación de reglas utilizado por la herramienta sigue los lineamientos establecidos en la Sección 2.5. Del presente trabajo, además este módulo debe encargarse de gestionar los distintos formatos de reglas obtenidos durante la inducción y transformarlos a uno en común, también debe conectarse con la base de datos para almacenar los resultados calculados. Para realizar de manera correcta la contrastación, el banco de pruebas debe encargarse de transformar las reglas que se obtienen de cada algoritmo de inducción a un mismo formato para que sean equivalentes entre si y a las reglas originales generadas por la herramienta y puedan ser comparadas de manera correcta y automatizada, además la herramienta debe almacenar para cada regla el valor que indica la cantidad de ejemplos que cubre esa regla, este valor viene dado por cada algoritmo de inducción como salida junto con cada regla descubierta. El objetivo de la contrastación de reglas es obtener el porcentaje que indica cuantas reglas originales son correctamente cubiertas por las reglas descubiertas por cada algoritmo de inducción. A continuación se listan los pasos que componen el procedimiento utilizado para la contrastación de reglas dividido en dos partes, la primera para las reglas iguales y la segunda para reglas más generales o específicas que la original, luego en la Figuras 4.7 y 4.8 puede observarse un diagrama de flujo de cada parte: a) Se toma una regla del conjunto de reglas originales. b) Se toma una regla del conjunto de reglas descubiertas. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 44 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS c) Se comprueba si la regla descubierta es completamente igual a la regla original, es decir si imponen condiciones sobre los mismos atributos con los mismos valores y si la conclusión es la misma. d) En el caso que las reglas sean iguales, se cuenta la regla original como cubierta, se extrae del conjunto de reglas originales y se regresa al punto a, en el caso de ser diferentes, se vuelve al punto b para tomar otra regla descubierta. e) El proceso se repite para cada regla original. Figura 4. 7 - Contrastación de reglas iguales. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 45 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS En el caso que queden reglas originales sin cubrir, se pasa a comprobar el cubrimiento de reglas originales por reglas descubiertas que sean más generales o específicas. a) Se toma una regla del conjunto de reglas originales. b) Se toma una regla del conjunto de reglas descubiertas. c) Se comprueba que la conclusión de ambas reglas sean iguales, en caso que no, se vuelve al paso b). d) Se comparan las condiciones de la regla original con las condiciones de la regla descubierta. e) Si al menos una de las condiciones es completamente igual, se suma el valor que indica la cantidad de ejemplos que cubre esa regla descubierta a una variable, y se vuelve al punto b. si ninguna de las condiciones es igual, se vuelve al punto b. f) Una vez recorrido todo el conjunto de reglas descubiertas, el objetivo es comparar la cantidad de ejemplos que cubren todas las reglas descubiertas que son más generales o específicas de la original (esta cantidad se encuentra almacenada en la variable del punto e) con la cantidad de ejemplos que se sabe se generaron realmente para esa regla especifica en el módulo de generación de ejemplos. Si la cantidad de ejemplos que cubren las reglas descubiertas se encuentra entre la cantidad de ejemplos que cubre la regla original y ese valor más una desviación (dada por un porcentaje establecido previamente) entonces se dice que la regla original es correctamente cubierta y se suma una unidad a la variable “reglas correctamente cubiertas”. g) Se regresa al punto a) h) El proceso se repite para cada regla original i) Una vez recorrido completamente se obtiene el porcentaje que representa la cantidad de reglas correctamente cubiertas, dividiendo la variable “reglas correctamente cubiertas” por la cantidad total de reglas originales y multiplicando este valor por 100. este resultado es almacenado en la base de datos. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 46 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Figura 4. 8 - Contrastación de reglas más generales y específicas. El proceso es el mismo para cada conjunto de reglas descubiertas y cada valor se guarda en una tabla de la base de datos para luego ser estudiado. 4.2.2.6. Resultados Al desarrollar la herramienta se decidió que el almacenamiento de los resultados se realice de manera sencilla y práctica, para lo cual, se definió una base de datos relacional en el gestor de base de datos PostgreSQL con dos tabla, una tabla “escenario” donde se almacena la información de los escenarios que se ejecutan, esta información está compuesta por los valores que toman todos los parámetros que definen el dominio, y una tabla “resultados” relacionada con “escenario” donde se almacenan los resultados obtenidos a partir de la ejecución de un escenario para cada combinación de algoritmo de agrupamiento e inducción. De esta manera los resultados obtenidos para cada escenario pueden ser fácilmente consultados, y extraídos para ser utilizados en otros programas o medios. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 47 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 4.2.3. Dinámica Completa de la Herramienta En la Figura 4.9, se observa la dinámica completa del banco de pruebas. Un experimento completo se realiza en tres pasos como se muestra en la imagen: Paso 1: en este paso se encuentran todas las tareas de preparación del experimento, es decir, la definición/generación del dominio y la generación de los ejemplos. Paso 2: llamado ejecución del experimento, se ejecutan los algoritmos de agrupamiento sobre los ejemplos, y los algoritmos de inducción sobre los grupos obtenidos, con el objetivo de obtener los conjuntos de reglas descubiertas. Pasó 3: finalmente en este paso se realiza la comparación de los dos conjuntos de reglas, con el fin de obtener la cantidad de reglas del conjunto original que son correctamente cubiertas por las reglas del conjunto de reglas descubiertas. Figura 4. 9 - Dinámica completa del banco de pruebas. [Kogan Zahavi, 2007] TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 48 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 5. Experimentos Se presentan en este capítulo los rasgos generales del método de experimentación adoptado (sección 5.1), una descripción detallada del diseño experimental, que incluye las características de las experiencias realizadas, la presentación y definición de las variables independientes y dependientes a utilizar, y los detalles de las corridas a llevar a cabo en la ejecución de las experiencias (sección 5.2); y por último el formato de los resultados, la presentación de los resultados finales (sección 5.3). 5.1. Introducción Se realizan las experiencias con el objetivo de evaluar cual combinación de algoritmos de agrupamiento e inducción es la mejor para obtener reglas de pertenencia a grupos para cada tipo de dominio definido, el resultado obtenido de cada corrida en el sistema es un valor que indica el porcentaje de reglas correctamente cubiertas para cada combinación de algoritmos de agrupamiento e inducción, luego de realizar todas las experiencias se obtiene una matriz con los resultados promedios finales para cada combinación de algoritmos en cada tipo de dominio, estos resultados son la base para las conclusiones del presente trabajo. 5.2. Diseño Experimental En esta sección se definen las características generales de las experiencias realizadas (sección 5.2.1), se definen las variables independientes y dependientes utilizadas (sección 5.2.2). 5.2.1. Características de las Experiencias Realizadas Se realizaron 100 experiencias para cada uno de los 5 tipos de dominios definidos, dando un total de 500 experiencias, a partir de las cuales se obtuvieron resultados para cada una de las 30 combinaciones posibles de algoritmos de agrupamiento e inducción que se obtienen a partir de los 5 algoritmos de agrupamiento y los 6 algoritmos de inducción seleccionados. Cada experiencia conlleva la realización de los siguientes pasos, en primer lugar se prepara el experimento, lo que involucra: TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 49 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS a) La generación del dominio, basado en la generación de las clases y las reglas que indican la pertenencia a cada clase. b) La generación de los ejemplos que respaldan esas reglas. A partir de esto se obtiene el conjunto de reglas originales y el conjunto de muestras del dominio (los ejemplos). El siguiente paso consiste en la ejecución del experimento, lo que involucra: a) Aplicar un algoritmo de agrupamiento sobre el conjunto de ejemplos para obtener los distintos clústeres o grupos de ejemplos. b) Aplicar a cada clúster un algoritmo de inducción para obtener un conjunto de reglas que caractericen la pertenencia ha dicho clúster, estas reglas conformarán el conjunto de reglas descubiertas. La salida de este paso será el conjunto de reglas descubiertas que se utilizará junto con las reglas originales en el tercer y último paso que conlleva: a) Realizar una comparación entre el conjunto de reglas originales obtenidas en el primer paso y el conjunto de reglas descubiertas en el segundo paso. La salida de este último paso será el porcentaje de reglas originales cubiertas correctamente por las reglas descubiertas, este porcentaje define el éxito del experimento. 5.2.2. Presentación de las Variables a Utilizar Para la experimentación se utilizaron las siguientes variables independientes: a) Cantidad de Clases (CC): la cantidad de clases que rigen el dominio. b) Reglas por clase (CRC): cantidad de reglas de clasificación que indican la pertenencia a cada clase del dominio. c) Cantidad de atributos (CA): cantidad de atributos de cada ejemplo. d) Cantidad de valores posibles atributos (CVA): cantidad de valores posibles que puede tomar cada atributo. e) Ejemplos por regla (CER): cantidad de ejemplos por cada regla. f) Cantidad de atributos regla (CAR): cantidad de atributos utilizados en la definición de las reglas. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 50 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS g) Porcentaje de valores posible atributo (PCVA): porcentaje sobre la cantidad total de valores posibles por atributo, que se utilizara para limitar el número de valores posibles por atributo que defina una clase. A su vez se utiliza la siguiente variable dependiente: h) Reglas cubiertas correctamente: porcentaje de las reglas generadas originalmente que son correctamente cubiertas por el conjunto de reglas descubiertas. 5.2.3. Panorama General de la Ejecución de las Experiencias Se realizaron 100 experiencias por cada uno de los 5 tipos de dominios definidos por Lopez-Nocera [2012], los cuales son dominios simples, medianos, oscilantes, complejos e hipercomplejos; dando un total de 500 experiencias. Para cada una de las experiencias realizadas se definió un escenario diferente, cada escenario está representado por un valor dado para cada una de las variables independientes definidas anteriormente, cantidad de clases, cantidad de reglas por clase, cantidad de atributos, cantidad de valores posibles por atributo, cantidad de ejemplos por regla, cantidad de atributos por regla, y porcentaje de valores posibles para cada atributo en una regla. Un ejemplo de la definición de escenarios puede verse en la tabla 5.1. NUMERO 1 2 3 4 5 6 7 8 DOMINIO M M M M M M M M CC CRC CAR CVA CER PCVA CA 2 2 2 2 2 3 3 3 1 2 3 4 5 1 2 3 2 2 2 2 2 2 2 2 8 8 8 8 8 8 8 8 10 10 10 10 10 10 10 10 80 80 80 80 80 80 80 80 5 5 5 5 5 5 5 5 Tabla 5. 1 - Ejemplos Definición de Escenarios. Dependiendo el tipo de dominio ciertas variables varían en un cierto rango de valores, mientras que otras variables se mantienen fijas, para determinar que variables afectan directamente a cada tipo de dominio y el rango de valores en el que deberían variar se observaron los trabajos previos en el tema de Lopez-Nocera [2012] y de Kogan Zahavi [2007] y se creó una matriz de relación entre el tipo de complejidad y las variables independientes, en la tabla 5.2 se muestra la matriz resultante. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 51 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS CC Simple X(↑↓) Medianos Oscilantes Complejos Hipercomplejos X(↑↓) CRC CAR X(↓) X(↓) X(↑↓) X(↑↓) CVA CER PCVA CA X(↑) X(↑↓) X(↑↓) X(↑↓) X(↑↓) X(↑↓) X(↑↓) X(↑↓) X(↑↓) X(↑↓) X(↓) Tabla 5. 2 - Matriz de Relación entre el Tipo de Complejidad y las Variables Independientes La “X” en la matriz indica la variable cuyos valores varían para cada tipo de complejidad y las flechas ascendentes y descendentes indican el tipo de variación dada en los experimentos observados. A continuación en la tabla 5.3 se define el rango de valores en el que variarían cada una de las variables. Variables CC CRC CER CAR CVA PCVA CA Bajo 2-4 1-5 1-7 1-2 1-4 1-40 1-4 Medio 5-7 6-10 8-14 3-4 5-7 41-70 5-7 Alto 8-10 11-15 15-21 5-6 8-10 71-100 8-10 Tabla 5. 3 - Tabla de Valores La selección de los rangos de variación presentados en la tabla 5.3 responde a los siguientes criterios: Nociones empíricas obtenidas de los trabajos anteriores: se determinaron los rangos de variación de algunas variables a partir de la observación de las experiencias realizadas en trabajos anteriores. Criterios computacionales: la utilización de valores elevados en algunas variables tienen un efecto notorio en la velocidad con la que se ejecutan los experimentos, a partir de determinados niveles, los tiempos de ejecución se tornan prohibitivos al trabajar con una plataforma de cómputo pequeña. Saturación del dominio: algunas variables están condicionadas al valor que tomen otras, por ejemplos cantidad de atributos y cantidad de atributos por regla, o cantidad de atributos por regla y cantidad de valores posibles por atributo con la variable cantidad de reglas por clase, por lo tanto para evitar la saturación de dominios y la imposibilidad de ejecutar ciertos experimentos, se limitó los valores de ciertas variables y se decidió controlar que no se ingresen inconsistencias a la hora de realizar los experimentos. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 52 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Porcentajes: algunas variables están expresadas en porcentaje, por lo que su rango natural de variación es de 0 a 100, aunque se considera de 1 a 100 ya que el valor 0 no tiene sentido práctico de aplicación de los conceptos correspondientes. Se puede observar que el rango de valores se divide en bajo, medio y alto, esta división se realizó para delimitar mejor el rango de valores que puede tomar cierta variable en cierto tipo de complejidad, a continuación en la tabla 5.4 se muestra la matriz final que cruza cada tipo de complejidad del dominio con las variables independientes, utilizando como medida del rango de variación los valores definidos en la tabla 5.3. CC CRC CAR Simple Bajo Bajo Medianos Oscilantes Complejos Hipercomplejos Bajo Bajo CVA CER PCVA CA Alto Bajo Medio-Alto Medio Bajo-Medio Alto Bajo-Medio Alto Alto Alto Alto Medio Medio Alto Bajo Tabla 5. 4 - Matriz de Relación entre el Tipo de Complejidad y las Variables Independientes con el Rango de Variación Definido De esta manera se define por ejemplo que escenarios para dominios del tipo simple variarían solamente en una variable, cantidad de ejemplos por regla, en valores altos, definidos como valores entre el 15 y el 21, a continuación se enuncia como se componen los escenarios para cada tipo de complejidad: Escenarios de complejidad Simple: para los escenarios de complejidad simple se varia la variable Cantidad de Ejemplos por Regla en un rango que va desde 15 hasta 21 mientras se mantiene fijo el valor del resto de las variables, en el capítulo 8 de anexos sección 8.1.1 se puede apreciar la tabla completa de escenarios para dominios simples, para completar los 100 escenarios, se corre la misma tabla una cierta cantidad de veces pero variando el parámetros semilla en la herramienta de software, lo que hace que los números generados aleatoriamente por la herramienta sean diferentes, y por consiguiente generando dominios que se diferencien entre sí con cada corrida de la tabla. Escenarios de complejidad Media: en los escenarios de complejidad media, se varían las variables: Cantidad de Clases en el rango de 2 a 4, Cantidad de Reglas por Clase en el rango 1 a 5, Cantidad de Atributos Regla en el rango 1 a 2 y Cantidad de Atributos en el rango 1 a 5. En el Capítulo 8 de Anexos Sección 8.1.2 puede verse la tabla de escenarios para dominios TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 53 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS medianos completa, los valores de las variables cambian en el rango definido tratando de formar todas las combinaciones posibles hasta llegar a los 100 escenarios. Escenarios de complejidad Oscilante: en los escenarios de complejidad Oscilante, se varían las variables: Cantidad de Atributos Regla en el rango 3 a 6, Cantidad de Valores Atributo en el rango 8 a 10 y Cantidad de Ejemplos por Regla en el rango 15 a 21. En el Capítulo 8 de Anexos Sección 8.1.3, puede verse la tabla de escenarios para dominios Oscilantes completa, los valores de las variables cambian en el rango definido tratando de formar todas las combinaciones posibles hasta llegar a los 100 escenarios. Escenarios de complejidad Compleja: para los escenarios de complejidad Compleja, se varían las variables: Cantidad de Atributos Regla en el rango de 3 a 4, Cantidad de Valores Atributo en el rango 4 a 7, Cantidad de Ejemplos por Regla en el rango 15 a 21, Porcentaje de Valores Posible Atributo en el rango 45 a 70 y Cantidad de Atributos en el rango 5 a 7. En el Capítulo 8 de Anexos Sección 8.1.4 puede verse la tabla de escenarios para dominios Complejos completa, los valores de las variables cambian en el rango definido tratando de formar todas las combinaciones posibles hasta llegar a los 100 escenarios. Escenarios de complejidad Hipercompleja: en los escenarios de complejidad Hipercompleja, se varían las variables: Cantidad de Clases en el rango de 2 a 4, Cantidad de Reglas por Clase en el rango 1 a 5, Cantidad de Valores Atributo en el rango 8 a 10, Cantidad de Ejemplos por Regla en el rango 15 a 21, Porcentaje de Valores Posibles Atributo en el rango 75 a 100 y Cantidad de Atributos en el rango 2 a 4. En el Capítulo 8 de Anexos Sección 8.1.5 puede verse la tabla de escenarios para dominios medianos completa, los valores de las variables cambian en el rango definido tratando de formar todas las combinaciones posibles hasta llegar a los 100 escenarios. Una vez definidos los escenarios para las experiencias, estos se corren en la herramienta diseñada para el presente trabajo, esta herramienta realiza los pasos que se describen en la sección 5.2.1 de este capítulo, es decir, la generación de las reglas y ejemplos que componen el dominio, la aplicación de combinaciones de algoritmos de agrupamiento e inducción sobre esos ejemplos y la comparación de los conjuntos de reglas originales y descubiertas para obtener la salida deseada que es el porcentaje de reglas correctamente cubiertas de cada combinación de algoritmos. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 54 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 5.3. Resultados Obtenidos En esta sección se define el formato de los resultados obtenidos y el tratamiento que se les dio (sección 5.3.1) y se muestran las matrices de resultados promedios finales (sección 5.3.2). 5.3.1. Formato de los Resultados Cada experiencia que se realiza en el sistema tiene como salida el porcentaje de reglas correctamente cubiertas para cada combinación de los algoritmos de agrupamiento e inducción que se estudiaron, es decir 30 combinaciones, KMeans-PART, KMeans-J48, KMeans-ID3, KMeans-A priori, KMeansCN2, KMeans-AQ15, EM-PART, EM-J48, EM-ID3, EM-A priori, EM-CN2, EM-AQ15, EMPART, EM-J48, EM-ID3, EM-A priori, EM-CN2, EM-AQ15, FarthestFirst-PART, FarthestFirst-J48, FarthestFirst-ID3, FarthestFirst-A priori, FarthestFirst-CN2, FarthestFirstAQ15, SOM-PART, SOM-J48, SOM-ID3, SOM-A priori, SOM-CN2, SOM-AQ15, KNN-PART, KNN-J48, KNN-ID3, KNN-A priori, KNN-CN2 y KNN-AQ15. Estos 30 valores se almacenan en la tabla “Resultados” de la base de datos del sistema. Luego de la realización de todas las experiencias los datos almacenados en la tabla “resultados” de la base de datos se volcaron en un documento Excel para facilitar la manipulación de los datos y el cálculo de distintos valores significativos para el estudio, como ser: los resultados promedios finales para cada combinación de algoritmos de cada tipo de complejidad, la cantidad de resultados nulos obtenidos, es decir las veces en las que el porcentaje de reglas correctamente cubiertas fue del 0% y el promedio de cubrimiento sin tener en cuenta estos resultados nulos. 5.3.2 Matriz de Valores Finales Promedios A continuación en las tablas 5.5 a la 5.9 se presentan los resultados promedios de todas las corridas realizadas en el sistema para cada tipo de complejidad separadas por par de algoritmos. KMeans EM Farthest First SOM KNN PART J48 50.5 57.25 38.75 40.87 45.25 49 52.87 61 36.12 39 ID3 A priori CN2 AQ15 60.37 51.37 15.25 8 39.25 62.75 11.12 8 66.75 61.12 10.37 6.75 48.75 25.12 10.87 74.5 63.25 54.5 11.37 9.5 Tabla 5. 5 - Resultados Promedios Complejidad Simple TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 55 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS En la tabla 5.5 se observan los resultados promedios obtenidos para dominios de complejidad Simple con cada combinación de algoritmos, se observa que la mejor combinación para este tipo de complejidad son los algoritmos SOM y ID3 con un 74.5% de reglas correctamente cubiertas en promedio, seguido por la combinación Farthest First y ID3 con un 66.75%, los resultados más altos desde el punto de vista inducción pueden verse en la columna del algoritmo ID3 y desde el punto de vista agrupamiento en la fila que pertenece al algoritmo SOM con sus respectivas combinaciones, los resultados más bajos se encuentran en las combinaciones de los algoritmos de agrupamiento con los algoritmos de inducción AQ15 y CN2. KMeans EM Farthest First SOM KNN PART 39.27 32.84 35.05 40.61 38.66 J48 45.73 34.97 38.11 45.16 41.45 ID3 A priori CN2 AQ15 51.01 43.03 18.39 12.85 41.72 49.63 15.18 9.71 46.08 15.70 8.94 52.32 51.70 40.03 18.09 11.26 45.74 34.10 18.76 13.01 Tabla 5. 6 - Resultados Promedios Complejidad Media En la tabla 5.6 se encuentran los resultados promedios obtenidos para los dominios de complejidad Media usados, la mejor combinación de algoritmos para este tipo de complejidad fue Farthest First y ID3 con un 52.32% de reglas correctamente cubiertas en promedio, seguido por la combinación SOM y ID3 con un 51.70%, en general se puede observar que para este tipo de complejidad los resultados son menores en relación a los obtenidos para dominios de otras complejidades. Es interesante notar que las combinaciones de los algoritmos CN2 y AQ15 a pesar de seguir siendo los menores mejoraron en relación a los observados en la Tabla 5.5 de dominios Simples. KMeans EM Farthest First SOM KNN PART J48 49.5 59.75 39.62 48.5 48.75 53.5 29.62 30.87 9.62 9.37 ID3 A priori CN2 AQ15 70.25 83.75 25.5 13.25 48.75 90.87 21.87 11.5 71.5 83.75 22.37 9.25 61.62 84 20.12 2.5 19.5 13 1.5 94.25 Tabla 5. 7 - Resultados Promedios Complejidad Oscilante En la tabla 5.7 se encuentran los resultados promedios obtenidos para los dominios de complejidad Oscilante, la mejor combinación de algoritmos para este tipo de complejidad fue KNN y A priori con un 94.25% de reglas correctamente cubiertas en promedio, seguido por la combinación EM y A priori con un 90.87%. Desde el punto de vista de los algoritmos de inducción claramente las combinaciones del algoritmo A priori presenta los resultados más altos, mientras que desde el punto de vista de los TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 56 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS algoritmos de agrupamiento, el algoritmo KMeans con sus respectivas combinaciones tiene los promedios más altos, se observa que las combinaciones del algoritmo AQ15 fueron las más bajas y las combinaciones del algoritmo CN2 volvieron a aumentar. KMeans EM Farthest First SOM KNN PART 50 22.12 54.75 46.62 27.12 J48 53.37 24.12 54.63 50 27.25 ID3 A priori CN2 AQ15 68.87 81.75 19 12.37 27.87 5 90.25 16.87 77.75 82.5 16.75 10.75 72.25 80.62 17.37 8.25 54.62 87 16.87 4.625 Tabla 5. 8 - Resultados Promedios Complejidad Compleja En la tabla 5.8 se encuentran los resultados promedios obtenidos para los dominios de complejidad Compleja, la mejor combinación de algoritmos para este tipo de complejidad fue EM y A priori con un 90.25% de reglas correctamente cubiertas en promedio, seguido de la combinación KNN y A priori con 87%, nuevamente en este tipo de complejidad los resultados más altos se presentan en las combinaciones del algoritmo A priori con los algoritmos de agrupamiento, cabe destacar que en para este complejidad las combinaciones de ID3 también presentan valores altos y que desde el punto de los algoritmos de agrupamiento, las mejores combinaciones son aquellas donde esta presenta el algoritmo Farthest First. KMeans EM Farthest First SOM KNN PART 36.74 25.54 30.31 34.67 22.65 J48 41.60 28.64 35.46 40.96 25.59 ID3 A priori CN2 AQ15 49.21 66.86 37.04 18.24 29.65 76.66 30.19 10.97 40.65 70.84 31.81 12.81 52.17 61.34 37.051 19.65 34.24 70.31 31.051 12.28 Tabla 5. 9 - Resultados Promedios Complejidad Hipercompleja En la tabla 5.9 se observan los resultados promedios obtenidos para dominios de complejidad Hipercompleja con cada combinación de algoritmos, la mejor combinación de algoritmos para este tipo de complejidad fue EM y A priori con un 76.66% de reglas correctamente cubiertas en promedio, seguido de la combinación Farthest First y A priori con 70.84%, se observa además que en este tipo de complejidad se presentan los resultados más altos para las combinaciones con el algoritmo CN2, llegando a alcanzar y superar en ciertos casos a las combinaciones del algoritmo PART. En las tablas de resultados presentadas se pueden observar los porcentajes de reglas correctamente cubiertas promedios de las 100 experiencias realizadas para cada uno de los 5 tipos de complejidad. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 57 JOSÉ DAVID PANCHUK EXPERIMENTOS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Los promedios más altos según el tipo de complejidad del dominio corresponden a las siguientes combinaciones de algoritmos de agrupamiento e inducción: Para dominios de complejidad Simple la combinación SOM-ID3. Para complejidad Media la combinación Farthest First-ID3. Para complejidad del tipo Oscilante KNN-A priori. Para dominios de complejidad Compleja EM-A priori. Para dominios de complejidad Hípercompleja la combinación EM-A priori. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 58 JOSÉ DAVID PANCHUK CONCLUSIONES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 6. Conclusiones En este capítulo se dan las conclusiones obtenidas a partir del análisis de los resultados obtenidos, primeramente se expone un análisis comparativo general de los resultados obtenidos (Sección 6.1) luego se dan las conclusiones finales sobre el trabajo (Sección 6.2) y por último se presentan las futuras líneas de trabajo (Sección 6.3). 6.1. Análisis Comparativo de los Resultados Obtenidos A partir del análisis de los resultados obtenidos de los experimentos presentados en el Capítulo 5, se pueden realizar las siguientes observaciones, los algoritmos de inducción CN2 y AQ15 presentan los promedios de acierto más bajos, en especial AQ15, pero se puede observar una mejora gradual en sus resultados a medida que la complejidad cambia, esto es cierto principalmente para las combinaciones del algoritmo CN2, que comienza con resultados promedios del orden de 10% en la complejidad simple y finaliza con resultados del orden del 30% en la complejidad Hipercompleja. Si se observan los resultados teniendo en cuenta los promedios de las combinaciones de los algoritmos PART, J48, ID3 y A priori con sus respectivas combinaciones con los algoritmos de agrupamiento, se puede notar que los resultados de la complejidad media se encuentran distribuidos en un rango pequeño en comparación con el resto de las complejidades, se observan resultados entre 30% y 50% para la complejidad media en relación a resultados entre 30% y 70% para complejidad Simple y 10% y 90% para complejidad Oscilante, 20% y 90% para complejidad Compleja y 20% y 70% para complejidad Hipercompleja, esto puede deberse a que en los escenarios de complejidad Media no se realiza una variación en los valores del atributo “Cantidad de Ejemplos por Regla” como si se realiza en el resto de las complejidades. Se observa que el algoritmo A priori presenta una gran mejora para las últimas tres complejidades, sin importar los algoritmos de agrupamiento con el cual se lo empareje, llegando a valores que oscilan entre 80% y 90% para las complejidades Oscilante y Compleja. A pesar de que para los dominios Complejos e Hipercomplejos se determinó que la mejor combinación de algoritmos es la misma, es decir la combinación EM y A priori, se puede observar una amplia variación en los resultados obtenidos en todas las combinaciones para ambas complejidades, la complejidad Hipercompleja presenta resultados mucho más bajos (alrededor de un 20% menos) para todas las combinaciones de TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 59 JOSÉ DAVID PANCHUK CONCLUSIONES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS algoritmos, con excepción del algoritmo CN2 cuyas combinaciones presentan resultados un 20% más altos en relación a los promedios observados en la complejidad Compleja. En las Figuras 6.1 a la 6.5 se muestran gráficos de barras comparando los resultados obtenidos para cada combinación de algoritmos categorizados por algoritmo de Agrupamiento, de manera general en todos los gráficos se puede observar una clara predominancia de las combinaciones con Apriori para las complejidades Oscilantes, Complejas e HiperComplejas, a su vez para las complejidades Simples y Medias se observa que el algoritmo ID3 provee mejores resultados, pero nunca con valores tan altos como los de Apriori. Figura 6. 1 - Resultados Obtenidos para las Combinaciones de KMeans a Través de Todas las Complejidades El grafico en la Figura 6.1 muestra los resultados obtenidos para todas las combinaciones del algoritmo de agrupamiento KMeans con los algoritmos de inducción utilizados, como se mencionaba anteriormente se observa que el algoritmo Apriori lidera con los resultados más altos para las complejidades Oscilante, Compleja e HiperCompleja seguido por ID3, mientras que este último algoritmo posee los valores más altos para las complejidades simples y medias, pero seguido de cerca por el algoritmo J48. En la Figura 6.2 los resultados para las combinaciones con el algoritmo EM muestran la mayor diferencia en los valores de Apriori con el resto de los algoritmos tanto para complejidades Oscilantes y TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 60 JOSÉ DAVID PANCHUK CONCLUSIONES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Complejas se llegan a valores del 90%, para las combinaciones de PART, J48 Y ID3 pueden observarse valores muy similares entre si a través de todas las complejidades. Figura 6. 2 - Resultados Obtenidos para las Combinaciones de EM a Través de Todas las Complejidades Figura 6. 3 - Resultados Obtenidos para las Combinaciones de Farthest First a Través de Todas las Complejidades Los resultados para las combinaciones de algoritmos con Farthest First de la Figura 6.3 muestran un aumento en los valores obtenidos por el algoritmo ID3 en todas las complejidades en relación a los resultados observados anteriormente, lo mismo puede decirse de la figura 6.4 donde la combinación de ID3 con SOM para el tipo de complejidad simple llega al valor más alto en comparación con los otros TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 61 JOSÉ DAVID PANCHUK CONCLUSIONES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS gráficos, la combinación SOM-CN2 para la complejidad HiperCompleja presenta el valor más alto obtenido por esa combinación en todos los gráficos, de manera general se observa que los algoritmos CN2 y AQ15 presentan sus valores más altos en la complejidad HiperCompleja en relación al resto de las complejidades. Figura 6. 4 - Resultados Obtenidos para las Combinaciones de SOM a Través de Todas las Complejidades Figura 6. 5 - Resultados Obtenidos para las Combinaciones de KNN a Través de Todas las Complejidades En la Figura 6.5 la grafica muestra los resultados de la combinacion KNN con cada uno de los algoritmos de induccion, se observa un disminucion importante de los valores para la complejidad Oscilante, excepto por la combinacion KNN-Apriori cuyo valor fue el mas alto. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 62 JOSÉ DAVID PANCHUK CONCLUSIONES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS En la Tabla 6.1 Se muestran los valores promedios de cada combinación de algoritmos a través de todas las complejidades, se observa que el mejor resultado corresponde a la combinación EM, A priori lo cual tiene sentido teniendo en cuenta que esta combinación fue la mejor para dos tipos de complejidades, en general las combinaciones del algoritmo A priori presentan mejores resultados que el resto de los algoritmos, esto puede deberse, según pudo observarse durante la experimentación al tipo de reglas que produce este algoritmos en comparación con el resto, las reglas obtenidas como salida de este algoritmo son simples, es decir que solo se componen de una condición y muy precisas desde el punto de vista de la cantidad de ejemplos que estas cubrían, ya que en muchas ocasiones la cantidad de ejemplos cubiertos por la regla descubierta era la misma que la cantidad de ejemplos que fueron creados para cada regla original. KMeans EM Farthest First SOM KNN PART 45.20 31.77 42.82 40.88 26.83 J48 51.54 35.42 46.14 45.60 28.53 ID3 A priori CN2 AQ15 59.94 65.35 23.04 12.94 37.44 74.03 19.05 9.04 61.79 68.86 19.40 9.70 62.45 62.95 23.55 10.51 43.47 68.03 18.21 8.18 Tabla 6. 1 - Resultados Promedios de Cada Combinación a Través de Todas las Complejidades. Entre los algoritmos PART, J48 e ID3, este último presenta mejores resultados promedios, y entre los algoritmos PART y J48 puede observarse una cierta similitud con una separación menor al 5% en la mayoría de los casos. Desde el punto de vista de los algoritmos de agrupamiento, el algoritmo KNN presenta los resultados más bajos en promedio, y los resultados más altos se reparten entre los algoritmos KMeans, Farthest First y SOM, el algoritmo EM presenta resultados de valor “medio” en comparación con el resto de los algoritmos de agrupamiento, hasta su combinación con el algoritmo A priori donde se observa una gran mejora, produciendo el valor más alto de la Tabla 6.1. 6.2. Conclusiones Finales De acuerdo con los datos obtenidos a partir de los experimentos realizados en esta investigación, es posible aseverar la suposición de que los algoritmos de agrupamiento e inducción no son independientes del dominio, se observó que mediante la modificación de los parámetros que conforman los dominios, las distintas combinaciones de algoritmos presentan resultados diferentes. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 63 JOSÉ DAVID PANCHUK CONCLUSIONES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Los resultados obtenidos por cada combinación de los algoritmos utilizados en esta investigación varían de manera que son más precisos o menos precisos (el porcentaje de reglas correctamente cubiertas aumenta o disminuye) dependiendo de la complejidad de los dominios sobre los que trabajan, de esta manera para cada tipo de complejidad definida se pudo determinar una cierta combinación de algoritmos de agrupamiento e inducción que trabaja mejor que el resto, estos combinaciones son: <SOM, ID3> para dominios Simples, <Farthest First, ID3> para dominios Medios, <KNN, A PRIORI> para dominios Oscilantes, <EM, A PRIORI> para dominios Complejos y <EM, A PRIORI> para dominios Hipercomplejos. 6.3. Futuras Líneas de Trabajo A partir de la realización de la presente investigación se identificaron las siguientes posibles líneas de investigación sobre la investigación y sobre la herramienta utilizada. Sobre la herramienta: Extender la herramienta de manera que sea posible utilizar otros algoritmos de agrupamiento e inducción, y poder generar mayor cantidad de combinaciones de algoritmos. Ampliar las variables aceptadas a variables de tipo continuo, de esta manera se podrán generar reglas del tipo “mayor a”, “menor a” y no únicamente del tipo “es igual a”, además esto podría permitir utilizar otros algoritmos de agrupamiento e inducción que solo trabajan con atributos numéricos. Mejorar la eficiencia de procesamiento de la herramienta de manera que sea posible una mayor eficiencia y rapidez en la carga y ejecución de experimentos. Extender la cantidad de parámetros utilizados y configurables de manera que se incluyan parámetros específicos de los algoritmos utilizados. Incorporar visualizaciones a la herramienta de manera que sea posible mostrar gráficamente los resultados obtenidos y los datos generados. Permitir al usuario decidir si desea desestimar aquellos casos en lo que todos los algoritmos presentan resultados nulos. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 64 JOSÉ DAVID PANCHUK CONCLUSIONES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Sobre la Investigación: Tener en cuenta el tiempo que toma la ejecución de cada combinación de algoritmos como parámetro de la investigación, se puede incluir al banco de pruebas la funcionalidad para que tome el tiempo de ejecución de cada algoritmo o par de algoritmos y almacenar este valor para ser estudiado luego. Ampliar la investigación incorporando adaptaciones en la configuración de los algoritmos utilizados y estudiar cómo estas modificaciones afectan los resultados obtenidos. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 65 JOSÉ DAVID PANCHUK CONCLUSIONES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 66 JOSÉ DAVID PANCHUK REFERENCIAS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 7. REFERENCIAS Afify, A. A. (2004). Design and Analysis of Scalable Rule Induction Systems. School of Engineering, University of Wales, Cardiff. United Kingdom. Agrawal, R. & Srikani, R. (1994). Fast Algorithms for Mining Associations Rules. Proceedings of the 20th VLDB Conference, Santiago, Chile. Britos, P. & García-martínez, R. (2009). Propuesta de Procesos de Explotación de Información. Proceedings XV Congreso Argentino de Ciencias de la Computación. Workshop de Base de Datos y Mineria de Datos, 1041–1050. Britos, P., Hossian, A., García-martínez, R., & Sierra, E. (2005). Mineria De Datos Basada en Sistemas Inteligentes. Editorial Nueva Libreria, 1era. Edicion, 1124 paginas, Buenos Aires, Argentina, ISBN 987-1104-30-8. Bubeck, S., Von Luxburg, U. (2009). Nearest Neighbor Clustering: A Baseline Method for Consistent Clustering with Arbitrary Objective Functions. Journal of Machine Learning Research, Vol. 10, Paginas 657-698. Chen, M., Han, J., & Yu, P. (1996). Data Mining: an Overview from Database Perspective. IEEE Transactions on Knowledge and Data Engineering. Clark, P. & Niblett, T. (1989). The CN2 Induction Algorithm. Machine Learning, Vol. 3, Paginas 261283. Kluwer Academic Publishers. Dempster, A. P., Laird, N. M., Rubin, D. B. (1977). Maximun Likelihood From Incomplete Data Via the EM Algorithm. Journal of the Royal Statistical Society. Series B (Methodological), Vol. 39, No. 1, pp. 1-38. Figuerola, G, Alonso Berrocal, J. L., Zazo Rodríguez, A. F. y Rodríguez, E. (2004). Algunas técnicas de clasificación automática de documentos. Artículo disponible en el sitio Web del grupo Reina de la Universidad de Salamanca: http://reina.usal.es/biblio/files/figuerola2005algunas.pdf (Vigente al 02/05/2015) TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 67 JOSÉ DAVID PANCHUK REFERENCIAS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Frank, E. & Witten, I. H. (1998). Generating Accurate Rule Sets Without Global Optimization. Department of Computer Science, University of Waikato. Hamilton, New Zealand. García-Martínez, R., Diez, E., García, R., Martins, S., Baldizzoni, E. (2015). Modelos de Proceso para Ingenieria de Explotacion de Informacion para Pymes: Abordaje Agil y Abordaje Robusto. Proceedings XVII Workshop de Investigadores en Ciencias de la Computacion, ISBN 978-987-633-134-0. Hochbaum, D. S. & Shmoys D. B. (1985). A Best Possible Heuristic for the K-Center Problem. Mathematics of Operations Research, Vol. 10, No. 2, May 1985, pp. 180-184. Kogan Zahavi, A. (2007). Integracion de Algoritmos de Induccion y Agrupamiento. Estudio del Comportamiento. Facultad de Ingenieria, Universidad de Buenos Aires. Kohonen, T. (1982). Self-Organized Formation of Topologically Correct Feature Maps. Biological Cybernetics, Vol. 43, pp. 11-15. López Nocera, M. U. (2012). Descubrimiento de Conocimiento Mediante la Integracion de Algoritmos de Explotacion de Información. Tesis de Maestría en Ingeniería en Sistemas de la Información. Ciudad Autónoma de Buenos Aires. Universidad Tecnologica Nacional. López Nocera, M. & Garcia-Martinez, R. (2012). Variabilidad del Comportamiento de Agrupamiento e Inducción Basado en las Características del Dominio. Requirement Engineering & Software Testing Latin American Congress, 23–28. Martins, S. (2013). Derivación del proceso de Explotacíon de Informacíon desde el Modelado del Negocio. Departamente de Desarrollo Productivo y Tecnologico, Universidad Nacional de Lanus. McLachlan, G. J. & Krishnan, T. (2008). The EM Algorithm and Extensions. Editorial: WileyInterscience, Segunda Edicion, ISBN: 978-0-471-20170-0. Mehrotra, K., Mohan, C. K., Ranka, S. (1997). Elements of Artificial Neural Networks. Complex Adaptive Systems, Bradford Books, pp. 189, ISBN: 0-262-13328-8. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 68 JOSÉ DAVID PANCHUK REFERENCIAS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Michalski, R. S., Mozetic I., Hong J., Lavrac, N. (1986). The Multi-Purpose Incremental Learning System AQ15 and its Testing Application to Three Medical Domains. Department of Computer Science, University of Illinois at Urbana-Champaign. Neal, R. & Hinton, G. (1998). A View of the EM Algorithm that Justifies Incremental, Sparse, and Other Variants. in Learning in Graphical Models, M. Jordan (ed.), Dordrecht: Kluwer Academic Publishers, Boston, MA., pp. 355–368. Revathl, S. & Nalini, T. (2013). Performance Comparison of Various Clustering Algotrithm. International Journal of Advaned Research in Computer Science and Software Engineering. ISSN: 2277-128X, Vol. 3, Issue 2, February 2013. Sehagl, G. & Garg, K. (2014). Comparison of Varius Clustering Algorithms. International Journal of Computer Science and Information Technologies (IJCSIT). ISSN: 0975-9646, Vol. 5 (3), 2014, 3074-3076 Servente, M. (2002). Algoritmos TDIDT Aplicados a la Minería de Datos Iinteligente. Facultad de Ingenieria, Universidad de Buenos Aires. Sharma, N., Bajpai, A., Litoriya, R. (2012). Comparison the Various Clustering Algorithms of Weka Tools. International Journal of Emerging Technology and Advanced Engineering. ISSN 2250-2459, Volume 2, Issue 5, pp. 73-80, May 2012. Pappa, G. L., Freitas, A. A. (2004). Towards a Genetic Programming Algorithm for Automatically Evolving Rule Induction Algorithms. Computing Laboratory, University of Kent. Pappa, G. L., Freitas, A. A. (2006). Automatically Evolving Rule Induction Algorithms. Computing Laboratory, University of Kent. Quinlan, J. R. (1986), Induction of Decision Trees. Morgan Kaufmann Publishers, Vol. 1, Paginas 81 a 106. San Mateo, California, Estados Unidos. Quinlan, J. R. (1993), C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers. San Mateo, California, Estados Unidos. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 69 JOSÉ DAVID PANCHUK REFERENCIAS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Vadeyar, D. A. & Yogish, H. K. (2014). Farthest First Clustering in Links Reorganization. International Journal of Web & Semantic Technology (IJWesT), Vol. 5, No. 3, July 2014. Wu, X., Kumar, V., Quinlan J. R., Ggosh, J., Yang, Q., Motoda, H., Mclachlan, G. J., Ng A., Liu, B., Yu, P.S., Zhou, Z., Steinbach, M., Hand, D. J., Steinberg, D. (2007). Top 10 Algorithms in Data Mining. Knowledge and Information Systems. January 2008, Volume 14, Issue 1, pp 1-37. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS DE INFORMACIÓN 70 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS A. Metodología En este capítulo se describe la metodología utilizada para la creación de la herramienta software utilizada en este trabajo. Primeramente se enumeran los requerimientos de la herramienta (Sección A.1.), luego se muestra el análisis de la misma (Sección A.2.) donde se incluyen los diagramas de casos de uso y de secuencia, y finalmente se despliega el diseño (Sección A.3) donde se incluye el diagrama de clases. A.1. Requerimientos La herramienta de software para realizar los experimentos debe ser capaz de realizar todos los pasos que estos conllevan, es decir, permitir: Definir experimentos: mediante la definición de los valores que tomaran las variables que conforman un escenario y la definición de parámetros de experimento como la cantidad de iteraciones a realizar o la variación de variables en ciertos rangos. Generar Dominios: una vez definido el escenario, la herramienta deberá poder generar un dominio completo, compuesto por un conjunto de reglas y un conjunto de ejemplos que den soporte a estas reglas. Ejecutar Experimentos: la herramienta deberá permitir la ejecución de experimentos sobre los dominios generados, un experimento conlleva la ejecución de algoritmos de agrupamiento y luego de inducción sobre los dominios generados, el procesamiento de las salidas generadas por cada algoritmo aplicado y la obtención del valor de interés del experimento que es el porcentaje de reglas correctamente cubiertas mediante la contrastación de las reglas generadas originalmente por la herramienta con las reglas obtenidas como salida de los algoritmos de inducción. Almacenar datos del experimento: la herramienta deberá ser capaz de almacenar los datos que conforman los experimentos en una base de datos, estos datos incluye los datos que definen el escenario y los resultados obtenidos a partir de la ejecución del experimento sobre ese escenario. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 71 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS A.2. Análisis En esta sección se presenta el análisis realizado para la herramienta de software desarrollada para realizar los experimentos de este trabajo, se comienza con los Casos de Uso (Sección A.2.1.) y luego se presentan los diagramas de secuencia de la herramienta (Sección A.2.2.) A.2.1. Casos de Uso A continuación se presentan los casos de uso de la herramienta con un alto grado de abstracción, la Figura A.1 representa las acciones que el experimentador realiza sobre el sistema. Figura A. 1 – Diagrama de Casos de Uso con Alto nivel de abstracción. A.2.1.1. Correr Experimentación Simple En la Figura A.2 se observa un caso de uso más detallado del proceso de ejecución de una experiencia simple, este tipo de experiencia no genera dominios por lo tanto debe seleccionarse uno que haya sido previamente creado para cargarse, luego la herramienta continua mediante la ejecución del algoritmo de agrupamiento y el algoritmo de inducción elegidos, para devolver como resultado las reglas obtenidas. A.2.1.2. Correr Experimentación Completa En la figura A.2 se observa el caso de uso de una experiencia completa, en este tipo de experimento se genera el dominio y luego se corren sobre este todos los algoritmos de agrupamiento e inducción para TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 72 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS formar todos los pares de algoritmos posibles, luego se determina el cubrimiento de reglas, entre las reglas originales generadas con el dominio y las reglas obtenidas por el paso anterior. Figura A. 2 – Diagrama de Casos de Uso Específico. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 73 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS A.2.2. Diagramas de Secuencia En esta sección se incluyen los Diagramas de Secuencia de Sistema de las acciones Experiencia Simple (Sección A.2.2.1) y Experiencia Completa (Sección A.2.2.2). A.2.2.1. Diagrama de Secuencia Experiencia Simple En la Figura A.3 se muestra el Diagrama de Secuencia del Método Experiencia Simple, el experimentador realiza un Experiencia Simple, para lo cual debe especificar la ruta hacia un archivo que contenga un dominio previamente creado y debe seleccionar un algoritmo de agrupamiento y otro de inducción con los cuales se realizara el experimento, el sistema se comunica con la entidad Dominio para cargar los datos del dominio desde el archivo a la memoria, luego el sistema procede a ejecutar sobre los ejemplos del dominio primero el algoritmo de agrupamiento seleccionado y luego sobre los grupos de ejemplos obtenidos el algoritmo de inducción, como resultado se obtiene un conjunto de reglas descubiertas que son devueltas al experimentador por medio de la interfaz gráfica. Figura A. 3 – Diagrama de Secuencia Experiencia Simple. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 74 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS A.2.2.2. Diagrama de Secuencia Experiencia Simple En la Figura A.4 se muestra el Diagrama de Secuencia de una Experiencia Completa, el Experimentador define los datos del dominio, con los cuales el sistema genera el dominio, es decir, las reglas originales y los ejemplos que dan soporte a estas, luego el sistema ejecuta sobre los ejemplos todas las combinaciones posibles de los algoritmos de Agrupamiento e Inducción con los que trabaja, una vez obtenidas la totalidad de las reglas descubiertas el sistema realiza una comparación de las reglas originales con las reglas descubiertas por cada combinación de algoritmos y se obtiene como resultado un número que representa el porcentaje de reglas correctamente cubiertas para cada combinación, estos porcentajes son devueltos al usuario mediante la interfaz gráfica. Figura A. 4 – Diagrama de Secuencia Experiencia Completa. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 75 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS A.3. Diseño En esta sección se muestra el diseño de la herramienta software desarrollada, se presenta el diagrama de clases de la misma y una breve descripción de cada clase. A.3.1. Diagrama de Clases En la Figura A.5 se muestra el diagrama de clases de la herramienta software. Figura A. 5 – Diagrama de Clases. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 76 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS A.3.1. Descripción de Clases A continuación se describen las clases incluidas en el Diagrama de clases. Experimentación: esta clase caracteriza los experimentos, recibe todos los parámetros que definen un escenario y los parámetros que definen la cantidad de experimentos a realizar, ya sea solo uno o una serie de experimentos donde varíen dos variables. Experimento: esta es la clase principal de un experimento, sirve de conexión con la clase de generación de dominio y la de contrastación de reglas, sus tareas incluyen: obtener el dominio, ejecutar los algoritmos de agrupamiento e inducción sobre el dominio, y obtener los resultados finales, y conectarse con la base de datos para almacenar tanto los datos del escenario como los resultados obtenidos. Para ejecutar los algoritmos correspondientes de agrupamiento e inducción, esta clase se conecta con las librerías donde se encuentran estos algoritmos. GeneracionDominio: esta clase se encarga de generar los dominios para los experimentos, tiene como entrada los parámetros del dominio definidos por el usuario y genera como salida el conjunto de reglas originales y el conjunto de ejemplos que dan soporte a estas reglas. ComparacionReglas: esta clase se encarga de realizar la contrastación de reglas originales con reglas descubiertas con el objetivo de obtener el porcentaje de reglas correctamente cubiertas para cada par de algoritmos de agrupamiento e inducción. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 77 JOSÉ DAVID PANCHUK APÉNDICES TRABAJO FINAL DE LICENCIATURA EN SISTEMAS COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS 78 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS B. Manual de Usuario A continuación se incluye el manual de usuario de la herramienta software desarrollada para llevar a cabo los experimentos, se comienza dando una introducción a la misma (Sección B.1), luego se continua con una descripción de los pasos para la correcta instalación y configuración de la herramienta (Sección B.2) por último se describe como hacer uso de la herramienta (Sección B.3). B.1. Introducción La herramienta software desarrollada para esta tesis permite realizar experimentos con el fin de estudiar el comportamiento de distintas combinaciones de algoritmos de agrupamiento e inducción al ser ejecutados sobre distintos tipos de dominios generados por la misma herramienta de acuerdo a los valores de entrada dados por el usuario. A continuación se da una breve descripción de los componentes de la herramienta (Sección B.1.1.), el lenguaje de programación utilizado (Sección B.1.2.) y las distintas librerías utilizadas (Sección B.1.3.) B.1.1. Componentes de la Herramienta La herramienta está integrada por los siguientes elementos: Las clases que contienen toda la lógica de la aplicación y que permiten realizar los experimentos, además de servir como conexión con la base de datos, estas clases se encuentran dentro del archivo JAR ejecutable desde el cual se ejecuta el sistema. Las librerías utilizadas por la herramienta, donde se encuentran los algoritmos utilizados para correr los experimentos, estas librerías están incluidas dentro del JAR ejecutable. La base de datos utilizada para realizar la persistencia de los datos de entrada a la herramienta y los datos de salida. B.1.2. Plataforma y Lenguaje El sistema fue desarrollado en lenguaje de programación JAVA, utilizando como motor de base de datos PostgreSQL, la decisión de utilizar JAVA como lenguaje para la programación se basó en la facilidad de uso y rapidez que presenta, además de la amplia gama de librerías de algoritmos de minería TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 79 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS de datos que utilizan este lenguaje, otra de las ventajas de la utilización de JAVA es que es multiplataforma y los ejecutables JAR obtenidos pueden utilizarse tanto en sistemas operativos Windows como Linux. B.1.3. Librerías Utilizadas En esta sección se nombran y describen las librerías utilizadas por la herramienta las cuales incluyen WEKA (Seccion B.1.3.1), WEKA Classification Algorithms (Seccion B.1.3.2) y KEEL (Seccion B.1.3.3) B.1.3.1. WEKA WEKA (Weikato Environment for Knowledge Analysis), o Entorno Weikato para el análisis de conocimiento, es un entorno de trabajo que incorpora varias técnicas de Machine Learning creado por la universidad de Weikato, Nueva Zelanda. Las librerías de algoritmos utilizadas por WEKA son de código abierto, y pueden ser utilizadas por cualquier persona para sus desarrollos propios, la librería incluye algoritmos para el pre-procesamiento de los datos, clasificación, regresión, clustering, minería de reglas de asociación y visualización. B.1.3.2. WEKA Classification Algorithms Este proyecto funciona como complemento a la librería principal de WEKA, provee la implementación de una serie de algoritmos de inteligencia artificial, entre los que se encuentra el algoritmo SOM, es un software libre publicado bajo Licencia Pública General GNU. B.1.3.3. KEEL KEEL (Knowledge Extraction Based on Evolutionary Learning, o Extracción de conocimiento basado en aprendizaje evolucionario) es una herramienta Open Source desarrollada en java que puede ser utilizada para un gran número de diferentes tareas de descubrimiento de conocimiento en datos, contiene una gran variedad de algoritmos clásicos de extracción de conocimiento. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 80 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS B.2. Instalación y Configuración A continuación se especifican cuáles son los requerimientos software (Sección B.2.1) necesarios para poder ejecutar la herramienta y las configuraciones (Sección B.2.2.) necesarias para que funciones de manera correcta. B.2.1. Requerimientos En esta sección se describen cuáles son los requerimientos software para poder ejecutar la herramienta, también se indica donde es posible conseguir estos software de manera gratuita, JAVA (Seccion B.2.1.1) y PostgreSQL (Seccion B.2.1.2). B.2.1.1 JAVA Para poder ejecutar la herramienta software es necesario tener instalada la Máquina Virtual de JAVA (JVM), es necesaria la versión 1.8 o superior, la JVM puede descargarse de forma gratuita en el siguiente enlace: https://www.java.com/es/download/ B.2.1.2 PostgreSQL La herramienta utiliza PostgreSQL como motor de base de datos para almacenar la información de salida del sistema, además del motor de base de datos, es conveniente instalar pgAdmin, una herramienta administradora de bases de datos y servidores de PostgreSQL que provee la ventaja de ser amigable al usuario y contar con interfaz gráfica. Tanto el motor de base de datos PostgreSQL como pgAdmin pueden ser descargados de esta página: http://www.enterprisedb.com/products-services-training/pgdownload#windows B.2.2. Configuración Antes de poder utilizar la herramienta, es necesario realizar una serie de pasos antes, para lograr su correcto funcionamiento: Crear una base de datos en PostgreSQL para ser utilizada por la herramienta, existen dos maneras de crear la base de datos, puede crearle utilizando la herramienta pgAdmin mencionada anteriormente o mediante la consola SQL de PostgreSQL. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 81 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Preparar las carpetas de uso del sistema, para esto deberá copiar la carpeta llamada “ArchivosHerramienta” en el disco C: de su computadora, dentro de esta carpeta se encuentran dos más, una llamada “ResultadosClusters” en la cual la herramienta creara archivos con información temporal de los procesos que realiza, en su mayoría archivos ARFF con los resultados de la aplicación de los algoritmos de agrupamiento, y una carpeta “Archivos” que contiene archivos variados utilizados por la herramienta. B.3. Uso de la Herramienta En esta sección se describirá la forma de uso de la herramienta para realizar distintos experimentos, mediante la descripción de las distintas ventanas que la conforman y el uso de ejemplos. Primeramente se describe el modo de uso del módulo de Generación de Dominios (Sección B.3.1), luego el funcionamiento de una Experiencias Simple (Sección B.3.2) y finalmente el modo de realizar una experimentación completa (Sección B.3.3). En la Figura B.1 puede observarse la ventana principal de la herramienta, que aparecerá cuando la misma se ejecute, esta ventana funciona a modo de menú para re direccionar al usuario hacia cada tipo de experimento que desee realizar. Figura B. 1 – Ventana Principal Herramienta. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 82 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS B.3.1. Generación de Dominio Esta funcionalidad permite crear un dominio completo y guardarlo en un archivo “.arff” donde puede ser consultado o utilizado más adelante para realizar una experiencia simple, en la Figura B.2 se muestra la ventana de Generación de Dominio. Figura B. 2 – Ventana Generación de Dominio. En la parte de entrada de datos, denominada “Datos”, se deben especificar los valores que tomaran las variables que definen el dominio, estas variables son (siguiendo el orden de la ventana): cantidad de clases, cantidad de reglas por clase, cantidad de atributos, cantidad de ejemplos por regla, cantidad de valores posibles por atributo, cantidad de atributos usados en regla, porcentaje de valores posibles por atributo en regla y la semilla (Seed) a utilizar para generar los números aleatorios en la herramienta, los campos de texto “Guardar en” y “Nombre” permiten definir en donde y que nombre tendrá el archivo arff donde se almacena el dominio generado, si no se indica un nombre el archivo tendrá como nombre la fecha y hora en que fue generado. En el cuadro de texto ubicado a la derecha del lugar de entrada de los datos se despliegan las reglas resultantes de la generación del dominio, mientras que en el archivo arff generado pueden encontrarse cada uno de los ejemplos generados para estas reglas. Los archivos “arff” (Attribute-Relation File Format) son utilizados por WEKA y otras librerías para entrada de datos, estos archivos se componen de una estructura de tres partes, una cabecera donde se TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 83 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS define el nombre de la relación de los datos con el formato “@relation <nombre-de-la-relación>”, luego se declaran los atributos que compondrán el archivo junto a su tipo con la siguiente sintaxis “@attribute <nombre-del-atributo> <tipo>” y finalmente una sección de datos donde se declaran los datos (ejemplos) que componen la relación separando con comas los atributos y con saltos de línea las relaciones, antes de la declaración de los datos, se separa el resto de las secciones de esta mediante la línea “@data”. En la Figura B.3 se muestra un ejemplo del contenido del archivo arff generado al ejecutar la generación de dominio mostrada en la imagen B.2, en ella se pueden observar cada una de las partes mencionadas anteriormente. Figura B. 3 – Ejemplo Contenido Archivo arff. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 84 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS B.3.2. Experiencia Simple Este experimento permite probar la inducción de reglas a partir de la carga de un dominio previamente creado y guardado en forma de un archivo .ARFF La ventana de inducción de reglas se muestra en la Figura B.4, esta se divide en tres partes, una parte llamada “Datos” en la cual se selecciona el archivo .arff donde se encuentra guardado el dominio a cargar, la selección se realiza presionando el botón “…” y seleccionando el archivo deseado, la siguiente parte llamada “Algoritmos” es donde se selecciona un algoritmo de Clustering y otro de Inducción para realizar el experimento, es importante cargar correctamente el número de “clusters” a formar por el algoritmo al realizar el agrupamiento, este número vendrá dado por la cantidad de clases distintas en las que se encuentran divididos los ejemplos del dominio, en el caso del ejemplo son dos, en el campo “Index” debe cargarse cuál es la ubicación del atributo índice dentro del archivo con los datos, generalmente el atributo índice es el último de la serie, en este caso el dominio posee cinco atributos, numerados del 0 al 4, y el 5 es el atributo índice, la última parte de la ventana es el área de texto donde se muestran los resultados del experimento. Figura B. 4 – Ventana Experiencia Simple. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 85 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Una vez cargados todos los datos, se procede a hacer clic en el botón “Ejecutar” y los resultados se mostraran en el campo correspondiente, como puede observarse en la Imagen B.5 que se muestra a continuación. Figura B. 5 – Resultados Experiencia Simple. Figura B. 6 – Resultados Experiencia Simple II. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 86 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS En la Imagen B.5 se observa los resultados del experimento utilizando el algoritmo de agrupamiento SOM y el algoritmos de inducción J48, primero se muestran los resultados para el algoritmo de agrupamiento, es decir como agrupo cada ejemplo del dominio, luego desplazando la barra lateral pueden observarse los resultados del algoritmo de inducción seleccionado, es decir, las reglas obtenidas mediante la inducción, un ejemplo de esto se muestra en la Imagen B.6 donde se muestran los resultados del algoritmo A priori. B.3.3. Experimentación Completa Este tipo de experimentación es el principal del programa y fue el utilizado para realizar las experiencias de la presente tesis, reúne las características de la experimentación completa observada anteriormente y agrega la lógica de la complejidad del dominio al experimento, dando así la posibilidad de automatizar la generación de escenarios de ser necesario, además se caracteriza por utilizar todas las combinaciones de algoritmos en todos los experimentos y por guardar los resultados en la base de datos para ser consultados luego. Figura B. 7 – Ventana Experimentación Completa. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 87 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS En la Imagen B.7 se puede observar la pantalla de esta experimentación en la herramienta, la misma se encuentra dividida en tres partes, una de entrada de datos para el experimento, una parte opcional de variación de valores de atributo y un cuadro de texto donde se muestran los resultados del experimento. En la parte de entrada de datos, se deben especificar los valores que tomaran las variables que definen el dominio, estas variables son (siguiendo el orden de la ventana): cantidad de clases, cantidad de reglas por clase, cantidad de atributos, cantidad de ejemplos por regla, cantidad de valores posibles por atributo, cantidad de atributos usados en regla, porcentaje de valores posibles por atributo en regla y la semilla a utilizar para generar los números aleatorios en la herramienta, además, se puede definir un porcentaje de entrenamiento, que indica que porcentaje de los ejemplos se usara para el entrenamiento de los algoritmos, y como opcional la cantidad de iteraciones a realizar del experimento. Los campos de texto “Guardar en” y “Nombre” permiten definir en donde y que nombre tendrá el archivo arff donde se almacena el dominio generado, si no se indica un nombre el archivo tendrá como nombre la fecha y hora en que fue generado. Figura B. 8 – Ventana Experimentación Completa con Filtro de Complejidad. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 88 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS En la parte superior del cuadro de datos es posible definir, si se desea, el tipo de dominio que se quiere generar y la herramienta bloqueara los campos que definen el tipo de dominio seleccionado ya que se encargara de darle un valor aleatorio al momento de realizar el experimento, el experimentador solo podrá definir los valores de las variables que no definan al tipo de dominio, una explicación más específica de este tema puede consultarse en el Capítulo 5 Sección 5.2.3 de esta tesis. En la Figura B.8 puede observarse un ejemplo de selección de tipo de complejidad Hipercompleja, por lo tanto los campos bloqueados (en gris) serán definidos internamente por la herramienta al realizar el experimento. En la sección “variar atributo” de la pantalla, puede definirse si se desea un rango de variación para dos atributos, en la Figura B.9 se muestra un ejemplo de esto, en el ejemplo se desea variar los atributos cantidad de clases y cantidad de reglas por clase, el primero en el rango de 2 a 5 con saltos de 1, es decir el la variable cantidad de clases tomara los valores 2,3,4,5 y la variable cantidad de reglas por clase tomara los valores 15,16,17,18,19,20,21. Por cada combinación de los valores la herramienta realiza un experimento diferente, por lo tanto en este caso se realizaran 4 x 7 = 28 experimentos. Figura B. 9 – Ventana Experimentación Completa con Variación de Atributos. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 89 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Como en las otras ventanas, en el cuadro de texto ubicado a la derecha se muestran los resultados del experimento una vez ejecutado, en las siguientes Figuras B.10 y B.11 se muestra un ejemplo de los resultados de un experimento, en el cuadro de texto primero se muestran las reglas encontradas por cada algoritmo de inducción de acuerdo al agrupamiento realizado por cada algoritmo de agrupamiento (Figura B.10) y luego se muestran los porcentajes de reglas correctamente cubiertas para cada combinación de algoritmos (B.11). Figura B. 10 – Resultados Ventana Experimentación Completa. Figura B. 11 – Resultados Ventana Experimentación Completa II. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 90 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Los resultados obtenidos por este tipo de experimento también se almacenan en las tablas de la base de datos a la que está conectada la herramienta, utilizando la herramienta pgAdmin, es posible acceder a esta información almacenada, la tabla “escenario” contiene la información de los escenarios ejecutados, es decir los valores de cada una de las variables que definen un dominio, en la Figura B.12 se muestra esta tabla. Figura B. 12 – Tabla Escenarios. Figura B. 13 – Tabla Resultados. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 91 JOSÉ DAVID PANCHUK APÉNDICES COMPORTAMIENTO DE INTEGRACIÓN DE ALGORITMOS PARA DESCUBRIMIENTO DE REGLAS DE PERTENENCIA A GRUPOS Mientras que la tabla “resultados” contiene los resultados obtenidos para cada uno de estos escenarios, cada valor de esta tabla representa el porcentaje de reglas correctamente cubiertas para par de algoritmos establecido en el encabezado de cada columna, estos datos pueden utilizarse en otros programas como Excel si se desea para obtener más información a partir de ellos, como promedios o gráficos, la tabla resultados se muestra en la Figura B.13. TRABAJO FINAL DE LICENCIATURA EN SISTEMAS 92 JOSÉ DAVID PANCHUK