Bansy3 (Versión 1) Minería de Datos con Redes Bayesianas MANUAL DEL USUARIO (Guía Rápida) Autores: M. en I. A. José Luis Jiménez Andrade Laboratorio de Dinámica no Lineal, Dpto. Matemáticas, Facultad de Ciencias, UNAM M. en I. A. Arturo Alatriste Trujillo Facultad de Física e Inteligencia Artificial, Universidad Veracruzana M. en C. Nieves Martínez de la Escalera Castells Laboratorio de Dinámica no Lineal, Dpto. Matemáticas, Facultad de Ciencias, UNAM Dr. Manuel Martínez Morales Facultad de Física e Inteligencia Artificial, Universidad Veracruzana Dr. Nicandro Cruz Ramírez Facultad de Física e Inteligencia Artificial, Universidad Veracruzana Dr. Humberto Carrillo Calvet Laboratorio de Dinámica no Lineal, Dpto. Matemáticas, Facultad de Ciencias, UNAM Noviembre de 2006 BANSY 3 Índice Índice............................................................................ 2 Introducción................................................................... 3 Requerimientos del Programa ........................................... 3 Instalación ..................................................................... 3 Cómo cargar datos.......................................................... 3 Aprendizaje de la estructura de la red ............................... 5 Parámetros de la red (Tablas de probabilidades condicionales) ...................................................................................12 Inferencia .....................................................................13 Clasificación ..................................................................19 Organización de las ventanas ..........................................23 Referencias ...................................................................29 Minería de Datos con Redes Bayesianas 2 BANSY 3 Introducción Este manual describe de forma breve las principales funciones del programa BANSY3. BANSY3 incorpora algoritmos para el aprendizaje de redes Bayesianas a partir de datos (datos completos) y un par de módulos extras para evaluar la red aprendida. Requerimientos del Programa El sistema esta programado en el lenguaje java ( j2SE 1.5.0), para que funcione correctamente es necesario tener instalada la maquina virtual de java y de preferencia una versión igual o superior a la 1.5.0. Instalación La instalación es muy sencilla, lo único que hay que hacer es copiar el archivo BANSY3.jar al lugar que se quiera residan los archivos del programa. Para ejecutarlos solo haga doble clic sobre dicho archivo. Cómo cargar datos El sistema solamente puede abrir tablas de datos en modo texto, para este propósito puede emplearse herramientas como Microsoft Excel, Bloc de Notas, WordPad. La forma en que deben estar los datos es la siguiente: el nombre de las variables debe ir en la primera línea y en las siguientes líneas los casos. El sistema considera como variable dependiente a la última de la línea. Los datos se pueden cargar desde la barra de herramientas o desde el menú principal. Desde la barra de herramientas, haga clic en el icono carpeta. Minería de Datos con Redes Bayesianas 3 BANSY 3 Desde el menú: Enseguida aparece una ventana de diálogo estándar para la selección de archivos. Minería de Datos con Redes Bayesianas 4 BANSY 3 Como ejemplo abriremos el archivo Asia.txt Al abrir un archivo el sistema genera una red sin arcos, y acomoda las variables en un círculo. Usted debe tener una ventana como la siguiente En estos momentos el sistema esta preparado para correr cualquier algoritmo, o incluso para crear una red manualmente. Aprendizaje de la estructura de la red El menú de aprendizaje contiene los algoritmos que pertenecen al familia de algoritmos Bayes: Bayes2 (MartínezMorales, 1995), Bayes5 (Cruz-Ramírez, 2001), Bayes9 (CruzRamírez, 2001) y BayesN (Jiménez-Andrade, 2004). Para correr BayesN seleccione Aprendizaje / Bayes N Minería de Datos con Redes Bayesianas 5 BANSY 3 y enseguida aparece una ventana de dialogo en la que se deben poner los parámetros que necesita BayesN: porcentaje del nivel de significancia global(G), profundidad (tamaño máximo del conjunto condicionante, p) y porcentaje mínimo de ganancia de información(%Imin). Por ejemplo, para G = 5 %, p = 3, y %Imin = 5. Inmediatamente aparece una ventana en la que el sistema muestra datos importantes: como la información mutua, la etapa en la que va el algoritmo, etc. Para ver los parámetros de la última corrida seleccione del menú principal Ver / Parámetros, Minería de Datos con Redes Bayesianas 6 BANSY 3 Podrá observar los parámetros empleados en la última corrida, además de otros datos como número de variables, número de casos y número de decimales deseados para desplegar en la tabla de probabilidades. Minería de Datos con Redes Bayesianas 7 BANSY 3 Para guardar este reporte pulse el botón El reporte se guardará como texto plano, y usted podrá abrirlo con algún procesador de palabras como WordPad ó Microsoft Word. Cuando el algoritmo termina, aparece una ventana con la red Bayesiana. Esta red se puede modificar, si el usuario así lo desea. Minería de Datos con Redes Bayesianas 8 BANSY 3 Para guardar la imagen como un archivo *.gif pulse el botón La imagen puede visualizarse con Netscape, Imaging para Windows.... Internet Explorer, Los archivos *.CSV es recomendable abrirlos con Microsoft Excel, pero también puede emplear procesadores de texto como WordPad ó Microsoft Word. Pulse estructura: para obtener un reporte con la siguiente Nombre del nodo Tabla de probabilidades del nodo Tabla con datos de los nodos padre Minería de Datos con Redes Bayesianas 9 BANSY 3 Reporte 1 Pulse estructura: para obtener un reporte con la siguiente Nombre del nodo Tabla de probabilidades del nodo. Tabla con datos de los nodos padre Minería de Datos con Redes Bayesianas 10 BANSY 3 Reporte 2 Minería de Datos con Redes Bayesianas 11 BANSY 3 Parámetros de condicionales) la red (Tablas de probabilidades Al terminar de construir la red el algoritmo, llama a la rutina encargada de calcular las probabilidades condicionales asociadas a la red Bayesiana. Dado que el usuario tiene la posibilidad de borrar, cambiar la dirección o agregar nuevos arcos, debe recalcular las probabilidades condicionales ante un cambio de este tipo. En la siguiente figura se muestra el submenú para calcular las probabilidades de la red. Hay que notar que el programa utiliza la base de datos para calcular dichas probabilidades. Para ver la tabla de probabilidades primero haga clic en la ventana que tiene la red, posteriormente seleccione Probabilidades / Tabla General de probabilidades y obtendrá una ventana como esta: Minería de Datos con Redes Bayesianas 12 BANSY 3 Para guardar la información de la tabla pulse el botón Inferencia Una vez que hemos calculados las tablas de probabilidades estamos listos para realizar inferencia. Control para Variables de Consulta El método general utiliza la tabla de distribución conjunta para hacer inferencia. Si la base de datos es pequeña, la inferencia obtenida no es confiable. La figura muestra la ventana para hacer inferencia. Minería de Datos con Redes Bayesianas 13 BANSY 3 Selector de Variables Resultados de la Inferencia El primer control, Selector de Variables, es poblado con los nombres de las variables de la red Bayesiana cuando se carga (cuando es mostrado por primera vez). Los dos controles que siguen permiten manejar las variables de consulta y de evidencia. La lógica de operación de estos controles es la misma, por lo que al mostrar el uso de uno, se infiere el uso del otro. Lo primero que hacemos es seleccionar una variable: Posteriormente hacemos clic en el botón de agregar: Minería de Datos con Redes Bayesianas 14 BANSY 3 Como resultado obtenemos una variable agregada a la lista de variables evidencia. El siguiente paso es elegir el valor que toma la variable evidencia. Para ello la seleccionamos en la lista. Con este evento, suceden varias cosas. Lo primero es que el combo que está debajo de la lista de variables es poblado con los valores que puede tomar la variable que acabamos de seleccionar. Por defecto se muestra el primer valor, pero nosotros debemos seleccionar el que conocemos. Minería de Datos con Redes Bayesianas 15 BANSY 3 Lo segundo que ocurre es que en el cuadro de texto en el que se muestran los resultados se construye automáticamente la probabilidad. El mismo proceso se sigue para agregar variables de consulta. Una vez que hemos seleccionada todas las variables de evidencia y las de consulta, solo nos resta dar clic al botón Calcular. Minería de Datos con Redes Bayesianas 16 BANSY 3 El resultado es el siguiente: El conjunto de controles permiten agregar y quitar variables tanto de evidencia como de consulta. Podemos cambiar sus valores y recalcular la probabilidad. El cuadro de salida va agregando una línea por calculo. Si queremos limpiarlo damos clic en el botón Borrar. En la siguiente imagen se muestra un ejemplo. Se ha agregado una nueva variable al conjunto de variables de evidencia y se ha cambiado el valor de la que ya existía (Visit Asia). Para la nueva variable se ha seleccionado el valor Present. Minería de Datos con Redes Bayesianas 17 BANSY 3 Minería de Datos con Redes Bayesianas 18 BANSY 3 Clasificación Con esta opción del menú principal se puede observar que tanto una red comprime los datos, es decir que tan buena es la red. Para usar la opción Hold-Out seleccione del menú Clasificación / Hold-Out posteriormente aparecerá esta ventana: aquí puede especificarse cuantos casos se usarán para aprender, para este ejemplo 66%, así que el 33% se usará para predicción, es decir para revisar la certeza de la red. En la carpeta BayesN podemos especificar los parámetros Alfa Global, Profundidad y % de Ganancia de Información Mínima. Minería de Datos con Redes Bayesianas 19 BANSY 3 El reporte generado será similar a este Minería de Datos con Redes Bayesianas 20 BANSY 3 Otra manera de verificar la red es con Cross-Validation de menu de Clasificación Aparecerá una ventana casi idéntica a la de Hold-Out. El parámetro Fold indica cuantas veces hará aprendizaje y predicción. Ya que la tabla de datos se dividirá tantos fragmentos iguales como indique el parámetro Folds. Posteriormente usará todos los fragmentos menos uno para aprendizaje, y el restante para predicción. Al final de se promedian los resultados. Minería de Datos con Redes Bayesianas 21 BANSY 3 El reporte generado será similar a este: Minería de Datos con Redes Bayesianas 22 BANSY 3 Organización de las ventanas Para saber que ventanas tiene abiertas pulse Ventana en el menú principal. Para organizar seleccione Ventana / Organiza Ventanas Podrá obtener diferentes maneras de organizar las ventanas, ahora se presentan las imágenes de cómo quedan ordenadas con las diferentes opciones Minería de Datos con Redes Bayesianas 23 BANSY 3 Ventanas ordenadas en Cascada Minería de Datos con Redes Bayesianas 24 BANSY 3 Ventanas ordenadas en Rejilla. Minería de Datos con Redes Bayesianas 25 BANSY 3 Ventanas ordenadas en Mosaico horizontal Minería de Datos con Redes Bayesianas 26 BANSY 3 Ventanas ordenadas en Mosaico vertical Minería de Datos con Redes Bayesianas 27 BANSY 3 Ventanas ordenadas con Minimizar Minería de Datos con Redes Bayesianas 28 BANSY 3 Ventanas ordenadas por Maximizar Referencias (Martínez-Morales, 1995) M. Martinez-Morales, An Algorithm for the Induction of Probabilistic Networks from Data. XII Reunion Nacional de Inteligencia Artificial, ITESM, Cuernavaca, Morelos, Mexico, Limusa. (1995). (Cruz-Ramírez, 2001) N. Cruz-Ramirez, Building Bayesian Networks From Data: a Constraint Based Approach. Ph D Thesis. Department of Psychology. The University of Sheffield. (2001). (Jiménez-Andrade, 2004) J. L. Jiménez-Andrade. BayesN: Un Algoritmo para Aprender Redes Bayesianas Clasificadoras a partir de datos. Tesis de Maestría. Facultad de Física e Inteligencia Artificial. (2004). Minería de Datos con Redes Bayesianas 29