Weka como herramienta de data mining Lic. Aldave Rojas Isaac Alberto Instituto Tecnológico Superior de Ciudad Serdán Abstract El presente trabajo muestra un ejemplo introductorio a la herramienta de Data mining Weka, la cual es de gran ayuda para el análisis de patrones de información que nos permitan realizar una toma de decisiones basada en algoritmos de machine learning, los cuales pueden ser utilizados para múltiples áreas del conocimiento humano. Keywords: 1. introducción En la actualidad, debido a la gran cantidad de información que generamos y almacenamos día a día, el proceso de extracción de información útil requiere la aplicación de técnicas de análisis de datos automáticas que sean capaces de procesar grandes volúmenes de información. Para ello debemos apoyarnos en herramientas tales como la minería de datos la cual se define como el proceso de aplicar metodologías basadas en algoritmos computacionales, conceptos estadísticos y de administración para extraer conocimiento útil de grandes volúmenes de información. Preprint submitted to WEB del Instituto Tecnológico Superior de Ciudad SerdánJune 12, 2013
En la actualidad se cuenta con software que ayudan a este proceso y que facilitan el proceso de extracción de información que es importante, tal como WEKA que es una herramienta Gratuita que además al estar escrita en java se puede incrementar en cuanto a sus capacidades de procesamiento. Esta herramienta se distribuye gratuitamente en http://www.cs.waikato.ac.nz/ml/weka/ 2. Historia y descripción La herramienta Weka fue desarrollada en 1993 en la Universidad de Waikato de Nueva Zelanda utilizando TCL/TK y C. y en el año de 1997 se reescribió su código al lenguaje Java incluyendo implementaciones de algoritmos de modelado [1]. El paquete Weka contiene una colección de herramientas de visualización y algoritmos para análisis de datos y modelado predictivo, unidos a una interfaz gráfica de usuario para acceder fácilmente a sus funcionalidades. La versión original de Weka fue un front-end en TCL/TK para modelar algoritmos implementados en otros lenguajes de programación, más unas utilidades para preprocesamiento de datos desarrolladas en C para hacer experimentos de aprendizaje automático. Esta versión original se diseñó inicialmente como herramienta para analizar datos procedentes del dominio de la agricultura,[2] [3] pero la versión más reciente basada en Java (WEKA 3), que empezó a desarrollarse en 1997, se utiliza en muchas y muy diferentes áreas, en particular con finalidades docentes y de investigación. 2
Los puntos fuertes de Weka son: Está disponible libremente bajo la licencia pública general de GNU. Es muy portable porque está completamente implementado en Java y puede correr en casi cualquier plataforma. Contiene una extensa colección de técnicas para preprocesamiento de datos y modelado. Es fácil de utilizar por un principiante gracias a su interfaz gráfica de usuario. Weka soporta varias tareas estándar de minería de datos, especialmente, preprocesamiento de datos, clustering, clasificación, regresión, visualización, y selección. Todas las técnicas de Weka se fundamentan en la presunción de que los datos están disponibles en un archivo plano (flat file, archivo de texto sin formato) o una relación, en la que cada registro de datos está descrito por un número fijo de atributos (normalmente numéricos o nominales, aunque también se soportan otros tipos). Weka también proporciona acceso a bases de datos vía SQL gracias a la conexión JDBC (Java Database Connectivity) y puede procesar el resultado devuelto por una consulta hecha a la base de datos. No puede realizar minería de datos multi-relacional, pero existen aplicaciones que pueden convertir una colección de tablas relacionadas de una base de datos en una única tabla que ya puede ser procesada con Weka. Esta herramienta se ha vuelto tan importante en la actualidad que se le dedica una parte completa del libro Data Mining: Practical Machine 3
Learning Tools and Techniques por Ian Witten y Eibe Frank y cuya tercera edición tiene ISBN: 978-0-12-374856-0. (esta sección en la 3edición incluye los capítulos del 10 al 17). 3. Ejemplo de su utilización Existen múltiples tutoriales en español para dar los primeros pasos en esta herramienta utilizando como ejemplo el dataset irisdata el cual contiene 4 características de distintas flores y las clasifica en 3 grandes grupos, sin embargo para este articulo emplearemos el dataset breast-cancer el cual se encuentra incluido en la carpeta data de la aplicación. Desde la ventana principal de weka elegimos la opción Explorer, esta ventana la podemos observar en la figura 1 Figure 1: Ventana principal de WEKA Una vez seleccionada esta opción nos mostrara la ventana que observamos 4
en la figura 2 Figure 2: Ventana principal de Explorer En esta ventana elegiremos el data set que queremos analizar y una vez hecho esto nos muestra la pantalla que observamos en la figura 3. Uno de los primeros pasos es visualizar la información de tal forma que verifiquemos si existe algún atributo discriminante, esto se realiza con la opción visualice all mostrándonos la información contenida en la fugura 4 En esta figura 4 podemos observar que ninguna de las características principales separa a la perfección los datos a excepción hecha de class sin embargo este es un atributo artificial que se coloca como atributo de entrenamiento 5
Figure 3: Ventana de explorer con los datos cargados donde los resultados se conocen de facto y que sirven como base de entrenamiento para nuevos datos. Para proseguir con el análisis de la información en la ventana de Explorer vamos a la pestaña Classify obteniendo como resultado la pantalla que se observa en la figura 5 En el botón choose elegimos el algoritmo con el cual deseamos realizar el proceso de clasificación y comprobar que tan eficiente es la discriminación de este en los resultados desplegados en el editbox denominado Classifier output, la forma más común de realizar el análisis es con Cross-Validation y es el que utilizaremos para este ejemplo, y seleccionaremos el algoritmo J48 6
Figure 4: Clasificación de todos los atributos. 7
Figure 5: Pestaña classify perteneciente a la clasificación de árboles de decisión. Una vez seleccionado damos click en el botón start y el resultado lo vemos en la figura 6. Como se puede observar este algoritmo clasifica los datos de entrenamiento con una precisión del 75.5245% el cual parece ser un rango aceptable de clasificación, pero como se observa en la parte final denominada Confusion Matrix nos desglosa las características de los datos teniendo que este clasificador nos arroja 8 falsos positivos en la detección del cáncer con estas características lo cual no es un resultado grave pero en la parte inferior se observa también que arroja 62 falsos negativos de una población de 85 individuos con cáncer es decir un porcentaje de no detección del cáncer de un 72.94% en pacientes que si lo padecen, con lo cual podemos dilucidar que este algoritmo no es 8
Figure 6: resultados con el algoritmo J48 una buena opción para el pronóstico con este conjunto de datos del cáncer pese a su 75 En la figura 7 observamos los mismos datos analizados con otro algoritmo denominado perceptron multicapas, que lo que crea es una red neuronal, para la toma de decisiones obteniendo los siguientes resultados en su clasificación. Observamos en primer lugar que el porcentaje de datos correctamente clasificados es de 96.5035% lo cual es por mucho superior al resultado anterior y en la matriz de confusión observamos que tenemos solamente 4 falsos positivos y 6 falsos negativos, lo cual es un resultado mucho mejor, pudiendo entonces construir esta red neuronal en una aplicación para que el experto medico cuente con una herramienta que le predice con mucha eficacia la aparición de cáncer de pecho. Conclusiones Weka es una herramienta para el 9
Figure 7: resultado con perceptrones multicapa procesamiento de múltiples cantidades de datos y poder construir herramientas que nos ayuden en la toma de decisiones al proporcionarnos múltiples algoritmos y una interfaz sencilla permite que la comparación de los resultados sea intuitiva y permita planificar entonces la construcción de la aplicación de machinne learning que apoye la tona de desiciones en este caso, Weka es una herramienta más completa todavía al tener un conjunto extra de funciones que permiten análisis mayores pero eso es motivo de un curso. References [1] Ian H. Witten; Eibe Frank, Len Trigg, Mark Hall, Geoffrey Holmes, and Sally Jo Cunningham (1999). Weka: Practical Machine Learning Tools and Techniques with Java Implementations. Proceedings of the 10
ICONIP/ANZIIS/ANNES 99 Workshop on Emerging Knowledge Engineering and Connectionist-Based Information Systems págs. 192 196. [2] S.R. Garner; S.J. Cunningham, G. Holmes, C.G. Nevill-Manning, and I.H. Witten (1995). Applying a machine learning workbench: Experience with agricultural databases. Proc Machine Learning in Practice Workshop, Machine Learning Conference, Tahoe City, CA, USA págs. 14 21. [3] P. Reutemann; B. Pfahringer and E. Frank (2004). Proper: A Toolbox for Learning from Relational Data with Propositional and Multi- Instance Learners. 17th Australian Joint Conference on Artificial Intelligence (AI2004). Springer-Verlag. 11