En el capítulo se hará una breve descripción de las interioridades de la aplicación, mostrándolas de manera gráfica a través de UML (Lenguaje Unificado de Modelado). Este lenguaje fue desarrollado por James Rumbaugh e Ivar Jacobson según (Kim and Russell, 2006); consiste en un sistema de notaciones que se considera estándar en el mundo del desarrollo de aplicaciones. Está constituido por un conjunto de diagramas que permiten representar de una manera natural y los procesos que se van a desarrollar.
Casos de uso del sistema IMMAN
El software IMMAN es orientado al uso por cualquier persona que desarrolle su trabajo en los campos de la Inteligencia Artificial, Bioinformática o Química-Computacional. Los modelos de casos de uso del sistema de UML proporcionan una vía intuitiva de mostrar los requisitos funcionales del sistema, dirigiendo así el proceso de desarrollo de la aplicación. En el siguiente diagrama se muestra los casos de uso del sistema IMMAN donde se define el actor del sistema con el nombre de investigador.
43
Cada uno de los casos de uso representados en el diagrama anterior se describe en la siguiente tabla:
Caso de Uso Descripción
Cargar conjunto de datos Cargar al sistema un conjunto de datos con los que se va a realizar un posterior análisis. Salvar conjunto de datos Realizar operación de salvado del conjunto de
rasgos después de su modificación
Visualizar conjunto de datos Visualizar la conjunto de datos de aprendizaje Eliminar Rasgo de conjunto de datos Realizar el proceso de eliminación de rasgos de
un conjunto de datos. Ranking de Rasgos de conjunto de datos de
aprendizaje
Es el caso de uso más importante del sistema. Se hará un ranking de variables de acuerdo a opciones seleccionadas
Graficar conjunto de datos Se graficará de diversas formas la información contenida en los conjunto de datos de aprendizaje.
Gestionar Reporte Se Visualizará la información de cada
operación hecha por el usuario. Se editará el reporte obtenido y se exportará en formato “txt”.
Gestionar Valores Perdidos Se analizará para cada conjunto de datos los valores perdidos que esta tenga. El usuario podrá escoger que hacer si se encuentra con ese caso.
44
Calcular conceptos en conjunto de datos de aprendizaje
Se podrán calcular los diversos conceptos de la Teoría de Información para cada rasgo en los conjuntos de datos.
Diagrama de actividades
Los diagramas de actividad se realizan para mostrar el flujo de acciones dentro de un proceso determinado, mostrando así el comportamiento dentro del sistema en esa actividad. En la siguiente imagen se muestra el diagrama de actividad correspondiente al proceso de ranking de rasgos. El usuario deberá escoger entre el tipo de ranking a ejecutar (simple o múltiple), donde en el simple se deberá escribir el valor del intervalo a utilizar si el concepto (Entropía de Shannon, Negentropía, Índice de Gini, Indice de Redundancia, etc.) con el que se va a ejecutar el ranking lo requiere. Por otra parte si el usuario desea utilizar el criterio de ranking múltiple se deberán escribir (el) los intervalo(s) con los que se van a ejecutar el ranking, además de seleccionar el criterio de fusión a utilizar que puede ser (media, sumatoria, productoria y media geométrica). Se deberá escoger la cantidad de rasgos que se desean mostrar como resultado final. Mostrar todos los rasgos, seleccionar un número determinado de los mejores rasgos y un número de los peores, usar como punto de corte un valor y mostrar los rasgos que estén por encima de ese punto de corte o bien mostrar todos los rasgos que tengan un alta, media o baja contribución constituyen las vías para mostrar los resultados en el reporte.
45
Figura 9: Diagrama de Actividades Raking de rasgos.
El investigador si necesita hacer una reducción de variables de cualquiera de los conjuntos de datos con los que esté trabajando puede hacer llevando a cabo el proceso de eliminar variable mostrado en la figura que se muestra a continuación. El usuario deberá escribir una serie de índices de las variables seleccionadas por él o simplemente escribir el intervalo de estas variables como por ejemplo de la siguiente forma: 1-10. Luego debe seleccionar si se va a eliminar todas las que están escritas en el área de texto o todas las que son diferentes a estas.
46
Figura 10: Eliminar rasgos de conjunto de datos
Otras de las actividades esenciales en el sistema es el proceso de ver gráficamente el comportamiento de las variables. En la siguiente figura se muestra el diagrama de actividad graficar para el grafico de distribución. El usuario debe escoger que conjunto de datos de aprendizaje desea visualizar, para que intervalo de discretización y que concepto de la teoría de información desea que se calcule para representar gráficamente. También deberá escoger si desea que sea con un gráfico de línea o de barra. Una vez concluida la configuración el usuario selecciona graficar y se muestra en pantalla una ventana con la representación gráfica de los parámetros seleccionados.
Diagrama de Secuencia
Un diagrama de Interacción muestra las relaciones de un conjunto de objetos, incluyendo mensajes que se pueden enviar entre ellos. Un diagrama de secuencia es un diagrama de interacción que destaca la ordenación temporal de los mensajes. Los diagramas de secuencia son conformados por los objetos que participan en el proceso a lo largo del eje X. A continuación se colocan los mensajes que se envían y reciben estos objetos a lo largo del eje Y, en orden de sucesión en el tiempo. Esto ofrece a los desarrolladores una señal visual clara del flujo de control a lo largo del tiempo. Los diagramas de secuencia tienen características muy importantes como pueden ser: la línea de vida del objeto, representada por la línea discontinua vertical.
47
En la figura siguiente se muestra el diagrama de secuencia del caso de uso Gestionar Valores Perdidos en el cual el actor Investigador interacciona con el sistema para que se realice la búsqueda de valores perdidos en los conjuntos de datos de aprendizaje cargados.
Figura 11: Diagrama de Secuencia.
Diagrama de clases
El diagrama de clases es la representación lógica de la filosofía orientada a objetos, describiendo los objetos que hay en el sistema, la relación entre ellos, así como sus atributos y operaciones de estos. El sistema IMMAN tiene implementado dos clases para manejar los conjuntos de datos con las que se va a trabajar en la aplicación. La clase DataSet es una representación de los ficheros que se entrarán al sistema para su procesamiento. Esta clase contiene dentro de ella una lista de objetos la clase Variable. La clase Variable es el eje central del sistema, es la que contiene todas las operaciones relacionadas con los conceptos de la Teoría de la Información que son aplicados a ella, dentro de los que se encuentra la Entropía de Shannon, la Entropía Diferencial, y muchos otros. Esta clase presenta atributos como el nombre de la variable, la posición que ocupa en el
48
conjunto de datos, un arreglo de valores de las instancias y algunos datos estadísticos como el máximo, el mínimo, la media y la desviación estándar que son calculado al crear el objeto. La clase DataSet además de contener una lista de objetos de la clase Variable contiene atributos como son: su nombre, un arreglo con los nombres de las instancias (o casos), el número de instancias que tiene, el número de variables que tiene, entre otros. Estas dos clases no son las únicas que están implementadas en la aplicación. El sistema está conformado por 64 clases contenidas en 17 paquetes distintos los que se representan en el siguiente epígrafe.
49
Diagrama de Paquetes
Los paquetes en los sistemas son estructuras organizativas que facilitan el trabajo a desarrolladores. Estos contienen clases u otros ficheros pertenecientes al sistema. Los diagramas de paquetes son usados para ver las dependencias entre estos y para conocer la estructura del software. A continuación se presenta la estructura de paquetes del sistema el cual está conformado por 17 de estos.
50
Diagrama de Despliegue
El diagrama de despliegue es la vía de expresar en UML los elementos físicos que intervienen en el sistema a desarrollar y su interacción entre ellos, mostrando así el comportamiento de la aplicación en el mundo real, además especifica los requerimientos necesarios para que el software pueda ejecutarse. En la figura 10 se muestra el diagrama de despliegue correspondiente al sistema IMMAN.
Figura 14: Diagrama de Despliegue.
IMMAN. Herramienta para la selección de rasgos basado en la Teoría de
Información.
IMMAN cuenta con una interface gráfica amigable para el usuario dividido en secciones según los diferentes conceptos teóricos explicados en el capítulo 1. Al iniciar la aplicación se muestra la siguiente imagen donde aparece el nombre y logo de la aplicación.
51
Figura 15: Ventana de Bienvenida.
Una vez realizado la carga interna de todos los componentes se muestra la pantalla principal de la aplicación desde donde esta se puede acceder a todas las funcionalidades del sistema sin mucha complejidad.
52
En la interface principal se evidencian íconos distribuidos por colores en el que cada uno pertenece a un grupo de operaciones en el sistema. Los íconos color naranja pertenecen a operaciones generales como visualizar la base de conocimiento, eliminar rasgos, etc. Los íconos de color rojo representan el trabajo con conceptos no supervisados provenientes de la Teoría de Información que han sido implementados. Algunas de estas operaciones puede ser ejecutar el ranking o bien realizar un gráfico de correlación entre conjuntos de datos. Los íconos azules, verdes y violetas corresponden al trabajo con medidas supervisadas implementadas en el sistema, diferenciado por colores según su relación teórica.
Figura 17: Lista de operaciones de la Aplicación IMMAN.
Requerimientos Mínimos
IMMAN como sistema hecho con el lenguaje de programación JAVA necesita de una máquina virtual para que pueda ejecutarse; en este caso requiere de una versión igual o superior al JDK versión 1.7. IMMAN es multiplataforma por lo que puede ser ejecutado en cualquier sistema operativo como Windows, Linux o MacOS. Como mínimo requiere de 256mb de RAM.
Los Datos
IMMAN es capaz de comprender la estructura de dos tipos de fichero: un fichero con extensión TXT el cual internamente está estructurado por tabulaciones, donde en la primera línea se encuentran los nombres de las variables a analizar y en las restantes el nombre de la instancia y los
53
valores de las instancias para cada una de las variables y la segunda extensión de fichero que lee es CSV. En las siguientes se muestran imágenes de los ficheros correspondientes a las descripciones.
Figura 18: Estructura del fichero de Entrada. En la izquierda TXT, en la derecha CSV.
Cargar los conjuntos de datos de aprendizaje en la aplicación es muy sencillo. Solamente tienes que seleccionar las bases de conocimiento desde la ventana Load Datasets, el usuario puede cargar los ficheros en grupos o bien uno a uno. El usuario puede cargar tantos conjuntos de datos de aprendizaje como la memoria destinada para la aplicación se lo permita.
54
Figura 19: Ventana para cargar los conjuntos de datos.
IMMAN es capaz de analizar y procesar los valores perdidos de cada uno de los conjuntos de datos de aprendizaje. Esta funcionalidad puede ser accedida desde la ventana de cargado de los conjuntos de datos. El valor que el software toma por defecto es el -999 pero puede ser modificado en las opciones de configuración del proceso. El proceso de limpieza de los datos va ha ser ejecutado una vez que se acepte en el botón de Ok en la ventana Dataset, el proceso se ejecutará según las opciones configuradas previamente. Dichas opciones son:
Eliminar Variable: La variable que presente un valor perdido se elimina del conjunto de datos.
Mínimo: El valor de la variable es reemplazado por el mínimo del rango de valores de la variable.
Máximo: El valor de la variable es reemplasado por el máximo del rango de valores de la variable.
Media: El valor de la variable es reemplasado por la media del rango de valores de la variable.
Media Geométrica: El valor de la variable es reemplazado por la media geométrica del rango de valores de la variable.
55
Mediana: El valor perdido de la variable es reemplazado por la mediana del rango de valores de la variable.
Remplazar con: el usuario define un valor el cual va a ser usado para reemplazar el valor perdido de la variable.
Los módulos que se han implementado para la selección de rasgos en sí, no se explican en este capítulo, pues se hizo en capítulos anteriores.
Conclusiones
En el presente capítulo se describió de forma general la herramienta IMMAN, algunas de sus características y formas de trabajo, además se modelaron con UML algunos de los procesos e interioridades de la herramienta. El ranking de atributos fue descrito en capítulos anteriores por lo que no se encuentra especificado en este.
56
Conclusiones y Recomendaciones
Conclusiones
1. La problemática de la selección de rasgos sigue siendo un tema de gran interés por la contribución que hace al proceso de descubrimiento de conocimientos. Los fundamentos teóricos de la investigación se sustentan en la aplicación de los conceptos de la Teoría de Información a los problemas de la reducción de la alta dimensionalidad y selección de atributos deseables en conjuntos de datos de aprendizaje.
2. Para la investigación se diseñó una aplicación que permite reducir la alta dimensionalidad usando conceptos de la Teoría de Información. Para su diseño se utilizó el lenguaje de modelado unificado (UML), a través de este se modelan diagramas que representan los procesos de funcionamiento interno de la herramienta denominada IMMAN, se describieron los casos de uso del sistema, así como los diagramas de secuencias de actividades del mismo. 3. La implementación de la herramienta diseñada usando conceptos de la Teoría de Información
que permiten reducir la alta dimensionalidad y la selección de atributos deseables, fue escrita con el lenguaje orientado a objeto JAVA sobre la versión 1.7 del JDK, bajo la Licencia GPL. 4. El resultado se concreta en la propuesta de un total de diecisiete métodos de selección de rasgos
de rápida ejecución, implementados en una herramienta de escritorio, que se pueden aplicar a conjuntos de datos de alta dimensión en el contexto del aprendizaje supervisado y no supervisado de forma agradable y de fácil uso para el usuario, se cumple el objetivo de la presente investigación.
5. La herramienta fue aplicada y validada usando conjuntos de datos de aprendizaje provenientes de la Informática Química y la Bioinformática a través de las cuales se logra reducir la alta dimensionalidad y la selección de atributos deseables en estas dos ramas de la ciencia, alcanzando resultados favorables y comparables con otras técnicas de selección de rasgos basadas en esta teoría y aplicadas a modelos de clasificación.
57
Recomendaciones
1. De la realización de esta investigación se ha determinado que en posteriores trabajos se incorporarán a la herramienta métodos que aborden la selección de los rasgos más relevantes desde la perspectiva de la correlación y complementariedad entre estos.
2. Se debe profundizar en la validación de todos los métodos de selección de rasgos implementados con vista de ganar en claridad con respecto a su eficacia en la selección de rasgos en conjuntos de rasgos de aprendizaje.
3. Incorporar nuevas funcionalidades y metodologías de trabajos a la herramienta IMMAN con el fin de mejorar la calidad de la misma.
58
Referencias
ALTER, O., BROWN, P. O. & BOTSTEIN, D. 2000. Singular value decomposition for genome- wide expression data processing and modeling.
ANNE MAI, W., BRITTA, N., MARTIN, V. & JÜRGEN, B. 2010. Identification of Descriptors Capturing Compound Class-Specific Features by Mutual Information Analysis.
BREIMAN, L., FRIEDMAN, J. H., A., O. R. & STONE, C. J. 1984. Classification and Regression Trees. Wadsworth International Group.
BRILLOUIN, L. 1962. Science and information theory, Academic Press.
DASH, M. & LIU, H. 2003. Consistency-based search in feature selection. 151, 155-176.
DEVAKUMARI, D. & THANGAVEL, K. 2010. Unsupervised Adaptive Floating Search Feature Selection Based on Contribution Entropy. Computational Intelligence, 623-627.
GODDEN, J. W. & BAJORATH, J. 2001. Chemical Descriptors with Distinct Levels of Information Content and Varying Sensitivity to Differences between Selected Compound Databases Identified by SE-DSE Analysis. Computational Chemistry and Informatics, New Chemical Entities, 6.
GODDEN, J. W., STAHURA, F. L. & BAJORATH, J. 2000. Variability of Molecular Descriptors in Compound Databases Revealed by Shannon Entropy Calculations. Computational Chemistry and Informatics, New Chemical Entities, 4.
HE, X., CAI, D. & NIYOGI, P. 2006. Laplacian score for feature selection. Advances in Neural Information Processing Systems, 18, 507.
IAN, H. W., EIBE, F. & MARK, A. H. 2011. Data Mining. Practical Machine Learning Tools and Techniques
JOHN, G. H., KOHAVI, R. & PFLEGER, K. Irrelevant features and the subset selection problem. Proceedings of the eleventh international conference on machine learning, 1994. San Francisco, 121-129.
59
KIER, L. B. 1980. Use of molecular negentropy to encode structure governing biological activity. . J. Pharm. Sci., 807–810pp.
KIM, H. & RUSSELL, M. 2006. Learning UML 2.0, O'Reilly.
KIRA, K. & RENDELL, L. 1992. A practical approach to feature selection. 9th International Conference on Machine Learning. Aberdeen, Scotland.
KONONENKO, L. 1994. Analysis and estensions of relief. In: VERLAG, S. (ed.) European Conference on Machine Learning. Viena.
LANGLEY, P. & SAGE, S. 1994. Oblivious decision tree and abstract cases. Working Notes of the AAAI-94 Workshop on Case-Based Reasoning, 113-117.
LIU, H. & SETIONO, R. 1995. Feature Selection and Discretization of Numeric Attributes. Proceedings of the Seventh IEEE International Conference on Tools with Artificial Intelligence. Herndon, Virginia.
LIU, H. & ZHAO, Z. 2007. Spectral Feature Selection for Supervised and Unsupervised Learning. Proceedings of the 24th International Conference on Machine Learning.
ONICESCU, O. 1966. Energie informationelle. Comp.Rend, 841-842.
ORDÓÑEZ, D. H. P., SOTELO, J. L. R. & DOMÍNGUEZ, G. C. 2009. Estudio Comparativo de métodos de selección de características de inferencia supervisada y no supervisada. Tecnológicas 23.
PRESS, W. H., FLANNERY, B. P., TEUKOLSKY, S. A. & VETTERLING, W. T. 1988. Numerical Recipes in C. Cambridge University Press.
PRESS, W. H., TEUKOLSKY, S. A., VETTERLING, W. T. & FLANNERY, B. P. 2007. Numerical Recipes.The Art of Scientific Computing, Cambridge University Press.
PYLE, D. 1999. Data preparation for data mining. Morgan Kaufmann Publishers.
QUINLAN, J. 1983. Learning efficient classification procedures and their application to chess end games. Machine Learning: An Artificial Intelligence Approach.
60
QUINLAN, R. 1986. Induction of decision trees.
QUINLAN, R. 1993. C4.5: Programs for Machine Learning, San Mateo, CA, Morgan Kaufmann Publishers.
SHANNON, C. E. 1948. A Mathematical Theory of Communication. The Bell System Technical Journal,System, 27, 379-423.
SKALAK, D. B. Prototype and feature selection by sampling and random mutation hill climbing algorithms. Proceedings of the eleventh international conference on machine learning, 1994. Citeseer, 293-301.
SONG, L., SMOLA, A., GRETTON, A., BORGWARDT, K. M. & BEDO, J. Supervised feature selection via dependence estimation. Proceedings of the 24th international conference on Machine learning, 2007. ACM, 823-830.
TODESCHINI, R. & CONSONNI, V. 2009. Molecular Descriptors for Chemoinformatics, WILEY-VCH.
VAN'T VEER, L. J., DAI, H., VAN DE VIJVER, M. J., HE, Y. D., HART, A. A., MAO, M., PETERSE, H. L., VAN DER KOOY, K., MARTON, M. J. & WITTEVEEN, A. T. 2002. Gene expression profiling predicts clinical outcome of breast cancer. nature, 415, 530-536.
VISHWESH, V., ANDREW ROWLAND, D. & ZHENG RONG, Y. 2004. Evaluation of Mutual Information and Genetic Programming for Feature Selection in QSAR. 6.
YU, L. & LIU, H. 2003. Feature Selection for High-Dimensional Data:A Fast Correlation-Based Filter Solution. Proceedings of the Twentieth International Conference on Machine Learning (ICML-2003), . Washington DC.
2008. Computational Methods of Feature Selection, Chapman & Hall.
2012. KEEL: Knowledge Extraction based on Evolutionary Learning. [Online]. Available: