UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y...

124
UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y PONDERACION DE REGLAS BASADO EN SISTEMAS INTELIGENTES TESIS DE GRADO EN INGENIERIA EN INFORMATICA FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES TESISTA: Sr. Gastón Schulz DIRECTORES: Prof. M. Ing. Paola Britos Prof. Ing. Arturo Servetto Laboratorio de Sistemas Inteligentes

Transcript of UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y...

Page 1: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

UN AMBIENTE INTEGRADO DE CLASIFICACION,

SELECCION Y PONDERACION DE REGLAS BASADO

EN SISTEMAS INTELIGENTES

TESIS DE GRADO EN INGENIERIA EN INFORMATICA

FACULTAD DE INGENIERIA

UNIVERSIDAD DE BUENOS AIRES

TESISTA: Sr. Gastón Schulz

DIRECTORES: Prof. M. Ing. Paola Britos

Prof. Ing. Arturo Servetto

Laboratorio de Sistemas Inteligentes

Page 2: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

2

Page 3: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

3

UN AMBIENTE INTEGRADO DE CLASIFICACION,

SELECCION Y PONDERACION DE REGLAS BASADO

EN SISTEMAS INTELIGENTES

TESIS DE GRADO EN INGENIERIA EN INFORMATICA

Laboratorio de Sistemas Inteligentes

FACULTAD DE INGENIERIA

UNIVERSIDAD DE BUENOS AIRES

Page 4: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

4

Page 5: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

5

Resumen

Actualmente no existe un ambiente que integre y complemente las funciones de

clasificación de instancias, extracción o inducción de reglas de decisión y ponderación

de estas reglas, para lograr una profunda y completa investigación de las características

de las poblaciones que se desean estudiar. Esta falencia hace que cada vez que se quiera,

por ejemplo, extraer las reglas de producción que dan como consecuencia la

clasificación de una población, se necesite primero clasificar a los individuos de una

población en un ambiente de clasificación, para luego ingresar a estos individuos

clasificados en un ambiente diferente, capaz de inducir y extraer las reglas. Aquí se

propone desarrollar un ambiente capaz de integrar las tres funciones, para que se

complementen unas con otras.

Palabras clave: Data mining, ambiente integrado, clasificación de instancias, reglas de decisión, ponderación de reglas.

Abstract

Actually there not exists a ambient capable to integrate the mechanisms of

classification of instances, selection and weighting of rules, and that uses each one of

these mechanisms as a complement one of the other, to obtain a complete investigation

of the characteristics of the populations that are desired to study. This does that

whenever it is wanted, for example, to extract the rules that give the classification of a

population, it is needed first to classify the individuals of the population in a

classification ambient, and then to enter these classified individuals in a different

ambient, able to induce and to extract the rules. Here we propose to develop a tool able

to integrate these three mechanisms, to let then complement one with each other.

Key words: Data mining, integrated ambient, clasification of instances, decision rules, weighting of rules.

Page 6: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir
Page 7: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

7

ÍNDICE

1. INTRODUCCIÓN ______________________________________________9

2. ESTADO DEL ARTE __________________________________________11

2.1. Ambientes de minería de datos actuales _____________________________________________ 11

2.2. Redes neuronales competitivas en la clasificación de instancias__________________________ 13 2.2.1. Introducción _________________________________________________________________ 13 2.2.2. Redes SOM (Self Organizing Maps) ______________________________________________ 14

2.3. Árboles de decisión e inducción de reglas ____________________________________________ 22 2.3.1. Inducción de árboles de decisión._________________________________________________ 22 2.3.2. La familia TDIDT de sistemas de aprendizaje_______________________________________ 23 2.3.3. Árboles de decisión____________________________________________________________ 25 2.3.4. La tarea de inducir ____________________________________________________________ 27 2.3.5. Tamaño correcto del árbol de decisión. Poda _______________________________________ 30 2.3.6. ID3_________________________________________________________________________ 31 2.3.7. Incorporando valores continuos __________________________________________________ 40

2.4. Redes Bayesianas y ponderación de reglas ___________________________________________ 41 2.4.1. Teorema de Bayes_____________________________________________________________ 41 2.4.2. Introducción a redes Bayesianas _________________________________________________ 44 2.4.3. Estimación de la estructura de la red Bayesiana _____________________________________ 46 2.4.4. Clasificadores basados en redes Bayesianas ________________________________________ 48

3. DESCRIPCIÓN DEL PROBLEMA ________________________________55

3.1. Generalidades ___________________________________________________________________ 55

3.2. El problema a resolver ____________________________________________________________ 55

4. SOLUCIÓN PROPUESTA ______________________________________59

4.1. El ambiente integrado ____________________________________________________________ 59

4.2. Representación de los datos de entrada ______________________________________________ 64 4.2.1. El Standard XML _____________________________________________________________ 65

4.3. Características necesarias de los datos de entrada_____________________________________ 72

5. DISEÑO DEL AMBIENTE. LA METODOLOGÍA UML ________________75

5.1. Generalidades ___________________________________________________________________ 75

5.2. Casos de Uso ____________________________________________________________________ 75 5.2.1. Población____________________________________________________________________ 76 5.2.2. Clasificador __________________________________________________________________ 78 5.2.3. Selector _____________________________________________________________________ 80 5.2.4. Ponderador __________________________________________________________________ 82 5.2.5. El menú _____________________________________________________________________ 85

Page 8: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

8

5.3. Transición de estados en el ambiente ________________________________________________ 88

5.4. La interfase grafica_______________________________________________________________ 90 5.4.1. Población____________________________________________________________________ 90 5.4.2. Clasificador __________________________________________________________________ 91 5.4.3. Selector _____________________________________________________________________ 92 5.4.4. Ponderador __________________________________________________________________ 94

5.5. Casos de Prueba _________________________________________________________________ 96 5.5.1. Población____________________________________________________________________ 96 5.5.2. Clasificador __________________________________________________________________ 98 5.5.3. Selector ____________________________________________________________________ 100 5.5.4. Ponderador _________________________________________________________________ 103 5.5.5. El menú ____________________________________________________________________ 105

6. COMPARACIÓN EXPERIMENTAL CON OTROS AMBIENTES _______109

6.1. Introducción ___________________________________________________________________ 109

6.2. Clasificador de instancias ________________________________________________________ 110

6.3. Inducción de reglas______________________________________________________________ 111

6.4. Ponderación de reglas ___________________________________________________________ 116

7. CONCLUSIONES ____________________________________________119

BIBLIOGRAFÍA _______________________________________________121

Page 9: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

9

1. Introducción

Actualmente no existe un ambiente capaz de integrar y complementar las

funciones de clasificación de instancias, inducción o selección de reglas de decisión y

ponderación de estas reglas, para lograr una profunda y completa investigación de las

características de las poblaciones que se desean estudiar. Esta falencia hace que cada

vez que se quiera, por ejemplo, extraer las reglas de producción que dan como

consecuencia la clasificación de una población, se necesite primero clasificar a los

individuos de una población en un ambiente de clasificación, para luego ingresar a estos

individuos clasificados en un ambiente diferente, capaz de inducir y extraer las reglas.

La misma necesidad haría falta si se quieren ponderar luego esas reglas obtenidas.

Aquí se propone desarrollar un ambiente capaz de integrar las tres funciones, y

hacer además que estas funciones logren complementarse.

Esta tesis se encuentra estructurada a lo largo de 7 capítulos.

El capítulo 2 describe el estado actual de los campos de estudio relacionados con

esta tesis. En la sección 2.1 se presenta un listado de las herramientas actuales más

conocidas o utilizadas en el mercado para el estudio de poblaciones con sus

características, la sección 2.2 presenta los conceptos y teorías importantes relativas a las

redes competitivas en general y a las SOM en particular, utilizadas para la clasificación

de individuos. A lo largo de la sección 2.3 se presentan los árboles de decisión, dándole

una especial atención a los ID3. En la sección 2.4 se presentan las redes Bayesianas, y

junto con ellas se da una introducción a la utilización de estas redes como

clasificadoras, describiéndose las características de las redes Naive Bayes y TAN.

En el capítulo 3 se presenta el contexto de nuestro problema de interés.

En el capítulo 4 se presentan todos los aspectos relativos de la solución

propuesta. En la sección 4.1 se describen las características y el flujo de procesos que

conformarán el ambiente integrado propuesto como solución. En la sección 4.2 se

Page 10: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

10

describe el estándar XML, utilizado para la representación de los datos de entrada que

serán analizados por el ambiente y ya en la sección 4.3 se describen y especifican las

características que deben cumplir (dentro del estándar XML) los datos de entrada que

serán analizados.

En el capitulo 5 se desarrolla la metodología de diseño y desarrollo de sistemas

denominada UML aplicada al diseño y desarrollo del ambiente a implementar.

Primeramente, en la sección 5.1, se hace una reseña del lenguaje utilizado, ambientes de

desarrollo y demás características del software utilizado para la construcción y

compilado del software. En la sección 5.2 se presentan los casos de uso. Luego, en la

sección 5.3 se presenta la transición de estados en el ambiente, y en la sección 5.4 se

presenta el diseño de las distintas pantallas desarrolladas. A continuación, en la sección

5.5, se describen las pruebas que se realizaron sobre los casos de uso, para evaluar la

efectividad de la solución propuesta.

En el capitulo 6 se realiza una comparación entre los resultados experimentales

obtenidos con el ambiente desarrollado y otros ambientes existentes, respecto a cada

una de las funciones que el ambiente desarrollado provee.

Y por último, en el capitulo 7, se describen las conclusiones obtenidas.

Page 11: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

11

2. Estado del arte

Este capítulo presenta el estado actual de los aspectos relacionados con el

estudio de esta tesis. Se comienza dando una reseña respecto a los diferentes ambientes

de minería de datos actualmente disponibles en el mercado (Sección 2.1). Luego, se

presenta el estado actual de las redes competitivas, y en especial a las redes

denominadas mapas autoorganizados, utilizadas como redes clasificadoras de datos

(Sección 2.2). Se comienza dando una introducción de lo que son las redes

competitivas (Sección 2.2.1) en general, para después detallar a las redes SOM en

particular (Sección 2.2.2). A continuación se presentan los árboles de decisión,

utilizados como solución a la inducción de reglas (Sección 2.3). Primero se explica el

concepto de inducción mediante árboles de decisión (Sección 2.3.1). Después se

presenta a la familia TDDI de árboles de decisión (Sección 2.3.2). Luego se detallan

puntualmente los árboles de decisión (Sección 2.3.3) para después explicar a que se

refiere la tarea de inducir dentro de los árboles (Sección 2.3.4), continuar explicando lo

que es la poda en árboles de decisión (Sección 2.3.5) y finalizar dando una reseña,

dentro de la familia TDDI, al algoritmo ID3 (Sección 2.3.6). Se describe luego un

método probabilístico para lograr la ponderación de las reglas inducidas, como son las

redes Bayesianas (Sección 2.4), presentado también diferentes algoritmos de redes

Bayesianas utilizadas como clasificadoras de datos (Sección 2.4.3), detallando

puntualmente las Naive Bayes y las TAN.

2.1. Ambientes de minería de datos actuales

Existen numerosos ambientes utilizados en forma exitosa tanto para clasificar a

una población de individuos, para inducir reglas inherentes a las características de una

población o para ponderar reglas. Sistemas que utilizan a las redes neuronales son un

ejemplo de eso, ya que dependiendo de la arquitectura de redes que utilicen, se

comportan muy bien como clasificadores de elementos de un dominio; los sistemas que

implementan árboles de decisión tales como ID3 [Quinlan, 1986] o C4.5 [Quinlan,

1993], por otro lado, son también muy comunes en lo que se refiere a la extracción de

Page 12: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

12

reglas de dominios; y también están aquellos sistemas que utilizan a las redes

Bayesianas como modelos de ponderación de reglas.

A continuación se detallan varios ambientes actualmente disponibles en el

mercado, junto con una pequeña reseña de las funciones que proveen y de las técnicas

utilizadas para brindar esas características.

AMBIENTE DESCRIPCION AC2

AC2 es un ambiente de data mining diseñado para usuarios conocedores de la materia. AC2 tiene un modelado grafico orientado a objetos y librerías en C y C++. Soporta la edición interactiva del árbol que se genera. Se comporta como una librería multiplataforma de funciones de data mining. Provee como funciones: clusterización, clasificación, predicción, segmentación. Utiliza como técnica árboles de decisión [AC2].

AnswerTree AnswerTree es un ambiente de SPSS utilizado para construir árboles de decisión. Como ambiente de data mining apunta perfilar a grupos para la comercialización y las ventas. Utiliza cuatro algoritmos de árboles de decisión. Incluidos están dos algoritmos CHAID, los cuales SPSS ha extendido para manejar categorización nominal, ordinal y variables continuas dependientes. Provee como funciones: Clasificación. Utiliza como técnicas: Árboles de decisión (CHAID, CHAID Exhaustivo, C&RT (variación de CART), QUEST). [AnswerTree]

CART CART es un ambiente de árbol de decisión que utiliza el algoritmo CART. Para poder manejar la falta de información, los datos son manejados a través de reglas de backup que no siempre asumen que todos los datos de un atributo incierto es el mismo. Se utilizan siete criterios diferentes de splitting (incluyendo el Gini). Debido al uso del motor de traducción de datos, DBMS/Copy, se pueden utilizar datos de diferentes tipos de formato (incluyendo Excel, Informix, Lotus, Oracle). Provee como funciones: Clasificación. Utiliza como técnicas: Árboles de decisión (CART). [CART], [Breiman L, 1984].

Clementine Clementine utiliza iconos descriptivos como interfaz, el usuario crea descripciones de flujos de datos de las funciones que se realizarán. Cada icono representa un paso en el proceso total de minería de datos. Existen incluidos iconos para funciones tales como el acceso a datos, preparación de datos, visualización y modelado. Para asistir a la creación de secuencias, Clementine utiliza Capri. Además puede utilizar grandes conjuntos de datos usando un modelo de cliente/ servidor. Cuando es posible, el servidor convierte peticiones del acceso a los datos en las consultas SQL, que pueden entonces tener acceso a una base de datos emparentada. Provee como funciones: Reglas de asociación, clasificación, clusterización, análisis de factor, pronostico, predicción. Utiliza como técnicas: Apriori, BIRCH, CARMA, árboles

Page 13: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

13

AMBIENTE DESCRIPCION de decisión (C5.0, C&RT variación de CART), clusterización K-means, redes neuronales (Kohonen, MLP, RBFN), regresión (lineal, logística) inducción de reglas (C5.0, GRI). [Clementine]

Elvira El programa Elvira está destinado a la edición y evaluación de modelos gráficos probabilistas, concretamente redes Bayesianas y diagramas de influencia. Elvira cuenta con un formato propio para la codificación de los modelos, un lector-intérprete para los modelos codificados, una interfaz gráfica para la construcción de redes, con opciones específicas para modelos canónicos (puertas OR, AND, MAX, etc.), algoritmos exactos y aproximados (estocásticos) de razonamiento tanto para variables discretas como continuas, métodos de explicación del razonamiento, algoritmos de toma de decisiones, aprendizaje de modelos a partir de bases de datos, fusión de redes, etc. [Elvira]

Sipina Sipina está diseñado especialmente para la inducción de árboles de decisión. Sipina es un software con el cual se puede extraer conocimiento de los datos. Sipina aprende tanto de datos cualitativos como cuantitativos, y produce un grafico enrejado. Los algoritmos que provee Sipina para la generación de árbol de decisión son: SIPINA, ID3, C4.5, CART, Chi2-link, Elisee, QR_MDL y WDTaiqm. [Sipina]

Weka Weka contiene y se focaliza en algoritmos de clasificación, regresión, y clusterización de patrones. Weka es un software gratuito y open-source bajo la licencia al público en general del GNU (GLP). Las técnicas que utiliza son: Naïve Bayes, Nearest neighbor, Linear models, OneR, Decision trees, Covering rules, K-means, EM, Cobweb. [Weka]

2.2. Redes neuronales competitivas en la clasificación de instancias

2.2.1. Introducción

En las redes neuronales con aprendizaje competitivo y cooperativo, las neuronas

compiten y cooperan unas con otras con el fin de llevar a cabo una tarea dada. Con este

tipo de aprendizaje se pretende que cuando se presente a la red cierta información de

entrada, solo una de las neuronas de salida de la red se active o alcance su valor de

respuesta máximo. Es por eso que las neuronas compiten para activarse, quedando

finalmente una como neurona ganadora, mientras que el resto quedan anuladas. Como

se mencionó anteriormente, el objetivo de este aprendizaje es clusterizar los datos que

se introducen en la red. Debido a esto, los individuos con características similares son

clasificados formando parte de la misma categoría y por lo tanto deben activar la misma

Page 14: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

14

neurona de salida. Un punto que vale la pena destacar es el hecho de que en este tipo de

redes las clases o categorías que la red clasificará deberán ser creadas por la propia red,

puesto que se trata de un aprendizaje no supervisado a través de las correlaciones entre

los datos de entrada. Las clases o categorías en las que se va a dividir el conjunto de

entrada están directamente relacionadas con la estructura que tenga la red competitiva,

ya que la cantidad de nodos que tenga la red dará lugar a la cantidad máxima de clases

en las que ésta podrá clusterizar a las entradas.

2.2.2. Redes SOM (Self Organizing Maps)

Una de las implementaciones que más se destacan en este tipo de redes son los

mapas autoorganizados (SOM., Self Organizing Maps). Esta implementación permite a

la red clasificar entradas en las cuales las neuronas que estuviesen en un vecindario

cercano a la neurona ganadora, respondieran a entradas similares.

Los mapas autoorganizados están compuestos por un conjunto de nodos

definidos por un vector de pesos, y una topología que indica la vecindad de los nodos

entre sí. Todos los nodos reciben el mismo vector de entradas, y su salida es la distancia

euclídea entre el vector de entradas y el de pesos. De todos los nodos que forman el

mapa, solo uno será el responsable de generar la salida, y será aquel cuyo vector de

pesos sea el más parecido a la entrada actual. Esta red utiliza un aprendizaje no

supervisado de tipo competitivo.

En cuanto a la topología de vecindad entre los nodos, esta puede ser muy

variada:

- lineal,

- lineal en forma de anillo,

- plana con retículo rectangular,

- plana con retículo hexagonal,

- toroidal

Page 15: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

15

En la Figura 1 se muestran algunos ejemplos de vecindad en los mapas

autoorganizados. Es posible también tener mapas autoorganizados con topologías de

dimensiones más altas, pero la utilización, y sobre todo la representación de los

resultados en dimensiones superiores a dos resulta más incómoda, o impracticable.

El aspecto geométrico de la disposición de las neuronas de una red en los mapas

autoorganizados o SOM es la base de un caso particular de aprendizaje competitivo

introducido por Kohonen en 1982 [Kohonen, 1982], el cual es aplicado a una

disposición bidimensional de las neuronas de salida, que permiten obtener mapas

topológicos o topográficos en los que de algún modo estarían representadas las

características principales de las informaciones presentadas a la red. La idea es que si la

red recibe informaciones con características similares, se generarán mapas parecidos,

debido a que serían afectadas neuronas de salidas próximas entre sí, y no solo la

neurona supuestamente ganadora.

Figura 1. Ejemplos de vecindad en los mapas autoorganizado

Page 16: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

16

El modelo presentado por Kohonen se trataba de un modelo de red neuronal con

capacidad para formar mapas de características de manera similar a como ocurre en el

cerebro; el objetivo de Kohonen era demostrar que un estímulo externo o información

de entrada por sí solo, suponiendo una estructura propia y una descripción del

comportamiento de la red, era suficiente para forzar la formación de los mapas. En la

etapa de aprendizaje de este tipo de redes, se distinguen dos etapas: una etapa de

entrenamiento y una etapa de funcionamiento.

En la etapa de entrenamiento se fijan los valores de las conexiones

(feedfordward) entre la capa de entrada y la de salida. Esta red utiliza un aprendizaje no

supervisado de tipo competitivo, las neuronas de la capa de salida compiten por

activarse y sólo una de ellas permanece activa ante una determinada información de

entrada a la red, los pesos de las conexiones se ajustan en función de la neurona que

haya resultado vencedora.

Durante la etapa de entrenamiento, se le presenta a la red un conjunto de

información de entrada para que ésta establezca en función de la semejanza entre los

datos las diferentes categorías, las cuales serán una por neurona de salida, que servirán

durante la etapa de funcionamiento para realizar clasificaciones de nuevos datos que se

le presenten a la red. En el caso de existir más patrones de entrenamiento que neuronas

de salida, es lógico pensar que más de un patrón deberá asociarse con la misma neurona,

o sea pertenecerán a la misma clase.

En este modelo el aprendizaje no concluye después de presentarle una vez todos

los patrones de entrada, sino que habrá que repetir el proceso varias veces para refinar el

mapa topológico de salida, de tal forma que cuantas más veces se presenten los datos,

tanto más se reducirán las zonas de neuronas que se deben activar ante entradas

parecidas, consiguiendo que la red pueda realizar una clasificación más selectiva.

Como se mencionó anteriormente, un concepto muy importante en la red de

Kohonen es la zona de vecindad, o vecindario alrededor de la neurona vencedora i*. Los

pesos de las neuronas que se encuentran en esta zona, a la que se le dará el nombre de

Page 17: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

17

X(q), serán actualizados junto con el peso de la neurona ganadora, en un claro ejemplo

de aprendizaje cooperativo.

El algoritmo de aprendizaje utilizado para establecer los valores de los pesos de

las conexiones entre las N neuronas de entrada y las M de salida es el siguiente:

1. En primer lugar se inicializan los pesos wij con valores aleatorios pequeños y

se fija la zona de vecindad entre las neuronas de salida.

2. A continuación se presenta a la red una información de entrada, la cual

deberá aprender, en forma de vector p=(p1,p2,…,pn), cuyas componentes pi

serán valores continuos.

3. Puesto que se trata de un aprendizaje competitivo, se determina la neurona

vencedora de la capa de salida. Ésta será aquella cuyo vector de pesos wi

será el más parecido a la información de entrada p. Para ello se calculan las

distancias o diferencias entre ambos vectores, considerando una por una

todas las neuronas de salida. Suele utilizarse la distancia euclídea o la

siguiente expresión, muy similar:

di = ∑ (pj - wij)2 1 <= i <= M

4. Una vez localizada la neurona ganadora i*, se actualizan los pesos de las

conexiones entre las neuronas de entrada y dicha neurona, así como los de

las conexiones entre las de las entradas y las neuronas vecinas de la

vencedora. En realidad lo que se consigue con este mecanismo es asociar la

información de entrada con una cierta zona de la capa de salida. Esto se

realiza mediante la siguiente ecuación:

w(q) = w(q-1) + a(q)(p(q)-w(q-1)) para i ε X(q)

El tamaño de X(q) se puede reducir en cada iteración del proceso de ajuste

de los pesos, con lo que el conjunto de neuronas que pueden considerarse

vecinas cada vez será menor como se observa en la Figura 2. Sin embargo,

Page 18: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

18

en la práctica es habitual considerar una zona fija en todo el proceso de

entrenamiento de la red.

El termino a(q) es el coeficiente de aprendizaje o parámetro de ganancia, con

un valor entre 0 y 1 y el cual decrece con el numero de iteración q del

proceso de entrenamiento, de tal forma que cuando se ha presentado un gran

numero de veces todo el juego de patrones de aprendizaje, su valor es

prácticamente nulo, con lo que la modificación de los pesos es insignificante.

La forma de la función a(q) si la suponemos continua durante toda la

interacción es como la mostrada en la Figura 3, que proporciona un ajuste

positivo o refuerzo en las proximidades del nodo ganador, que va

decreciendo hasta volverse negativo o inhibidor según se va alejando, para

volver a crecer hasta hacerse cero en los nodos más lejanos.

Figura 3. La función sombrero mejicano para la interacción lateral en un mapa autoorganizado.

Figura 2. Posible evolución de la vecindad en una red de Kohonen

Page 19: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

19

5. El proceso deberá repetirse, volviendo a presentar todo el juego de patrones

de aprendizaje p1, p2,…,pn hasta obtener la salida deseada.

En forma simplificada, en la Figura 4 puede observarse las conexiones de una

red de Kohonen.

A modo de ejemplo, y para demostrar como trabaja una red competitiva, se

creará una red que clasifique los siguientes vectores:

p1=(-0.216, 0.993), p2=(0.216, 0.993), p3=(0.993, 0.216),

p4=(0.993, -0.216), p5=(-0.622, -0.873), p6=(-0.873, -0.622)

Supondremos que la red tendrá tres neuronas, por lo tanto los vectores de

entrada serán clasificados en tres clases o grupos. Esta es una de las principales

características de las redes competitivas, ellas pueden agrupar los patrones de entrada en

clases que no se conocen. Los pesos normalizados escogidos aleatoriamente son:

w1=(0.7071, -0.7071), w2=(0.7071, 0.7071), w3=(-1.000, 0.000). W = (w1, w2, w3).

Figura 4. Conexiones de una red de Kohonen

Page 20: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

20

Los vectores de datos y los pesos asignados pueden visualizarse en la Figura 5.

Se presenta a la red el vector p2. El vector de la segunda neurona w2 estaba más

cercano a p2, por lo tanto ganó la competición (i*=2) y su salida es 1. Ahora se aplicara

la regla de Kohonen a la neurona ganadora con una rata de aprendizaje de α=0,5.

w2 nuevo = w2 + α (p2 – w2), lo que hace w2 nuevo = (0.9527, 0.5641).

La regla de Kohonen hace que w2 tienda a p2 como puede verse en la Figura 5b,

si continuamos escogiendo vectores de entrada aleatoriamente y presentándoselos a la

red, en cada interacción el vector de pesos se acercará más al vector de entrada.

Cada vector de pesos apuntará hacia una clase diferente del vector de entrada,

convirtiéndose en un prototipo para esa clase. Cuando termine el proceso de

entrenamiento, los pesos finales se verá como aparece en la Figura 5c.

Figura 5. a) Vectores de entrada y vector de pesos. b) Proceso de entrenamiento. c) Pesos finales

Page 21: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

21

Las redes competitivas son bastante eficientes para resolver problemas de

clasificación, sin embargo presentan algunos problemas. El primero de los problemas es

la elección de una rata de aprendizaje que permita hallar un punto de equilibrio entre

velocidad de convergencia y la estabilidad final de los vectores de peso. Una rata de

aprendizaje cercana a cero, torna el aprendizaje muy lento pero garantiza que cuando un

vector haya alcanzado el centro de la clase objetivo, se mantendrá allí indefinidamente.

En contraste, una rata de aprendizaje cercana a uno genera un aprendizaje rápido, pero

los vectores de peso continuarán oscilando aun después de que se haya alcanzado

convergencia. La indecisión que se presenta al escoger la rata de aprendizaje puede ser

empleada como una ventaja si se inicia el entrenamiento con una rata de aprendizaje alta

y se decrementa en el transcurso del proceso de entrenamiento cuando sea necesario.

Desafortunadamente esta técnica no funciona si la red necesita continuamente ser

adaptada a nuevos argumentos de los vectores de entrada, por ejemplo en el caso de que

la red se trabaje On-Line.

Un problema de estabilidad más serio se presenta cuando las clases están muy

juntas; en ciertos casos, un vector de pesos tratando de apuntar hacia una clase

determinada, puede entrar al territorio de otro vector de pesos. En la Figura 6 pueden

observarse con círculos azules, como dos vectores de entrada son presentados repetidas

veces a la red; el resultado es que los vectores de pesos que representan las clases de la

mitad y de la derecha se encuentran a la derecha. Con seguridad, se presentará el caso

en que una de las clases de la derecha será clasificada por el vector de pesos del centro.

Un tercer problema con redes competitivas, es que es posible que el vector de

pesos inicial de una neurona se encuentre muy lejos de cualquiera de los vectores de

Figura 6. Aprendizaje Inestable

Page 22: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

22

entrada y por lo tanto nunca gane la competición. La consecuencia será la muerte de la

neurona, lo que por supuesto no es recomendable. En la Figura 7 el vector de pesos w3

nunca ganará la competición, sin importar cuál sea el orden en que se presenten los

vectores de entrada. Una solución a este problema consiste en adicionar una ganancia

negativa a la entrada neta de cada neurona y decrementar así la ganancia total cada vez

que la neurona gane la competición; esto hará que difícilmente una neurona gane varias

veces la competición. A este mecanismo se lo llama conciencia.

Otro problema con el que nos enfrentamos en las redes competitivas, es el hecho

de que una capa competitiva tiene tantas clases como neuronas, lo que podría complicar

algunas implementaciones, ya que el número de clases no se conoce de antemano. En

capas competitivas, cada clase consiste de una región convexa del espacio de entrada,

las capas competitivas no pueden formar clases con regiones no convexas o clases que

sean la unión de regiones no conectadas.

2.3. Árboles de decisión e inducción de reglas

2.3.1. Inducción de árboles de decisión.

La investigación sobre el aprendizaje está constituida en diferentes campos. Por

un lado están los sistemas adaptativos que monitorean su propia performance y tienden

a mejorar esa performance ajustando parámetros internos. Esta aproximación,

Figura 7. Causa de la muerte de una neurona

Page 23: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

23

característica de una gran cantidad de los primeros trabajos sobre aprendizaje, produce

sistemas que auto mejoran. Una aproximación diferente ve al aprendizaje como a la

adquisición de conocimiento estructurado en la forma de conceptos.

La importancia práctica del aprendizaje automático en esta última aproximación

ha sido subrayada con la llegada de los sistemas expertos basados en conocimiento.

Como su nombre sugiere, estos sistemas están fundados por conocimiento representado

en forma explícita más que de forma implícita en los algoritmos. El conocimiento

necesario para conducir a los sistemas expertos pioneros estaba codificado a través de

una larga interacción entre un experto en el dominio y el ingeniero en conocimiento.

Mientras el ritmo típico de adquisición de conocimientos por este método es de algunas

reglas por día, un sistema experto para una tarea compleja puede necesitar cientos e

incluso miles de esas reglas. El tiempo necesario para esto resulta muy excesivo.

Feigenbaum [Feigenbaum, 1981] llamó a este problema como “cuello de botella”. Esta

percepción estimuló investigaciones sobre métodos de aprendizaje para explicar el

conocimiento.

2.3.2. La familia TDIDT de sistemas de aprendizaje Carbonell, Michalski y Mitchell [Carbonell, Michalski y Mitchell 1983]

identifican tres dimensiones principales en las que el aprendizaje automático puede ser

clasificado:

• las técnicas subyacentes de aprendizaje

• la representación del conocimiento adquirido por el sistema

• el dominio de aplicación del sistema

El dominio de aplicación de estos sistemas no se limita a ningún área en

particular, sino que pueden ser aplicados a cualquier área. Y aunque sean sistemas de

propósito general, las aplicaciones a las que son dirigidos conllevan consigo la

clasificación. El resultado del aprendizaje es un procedimiento que puede asignar un

Page 24: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

24

objeto desconocido a una de las distintas clases específicas. Ejemplos de clasificación

son:

• el diagnostico de una condición medica a partir de síntomas, en donde las

diferentes clases específicas pueden ser o bien distintas enfermedades o

posibles terapias.

• determinar el valor teórico de una determinada posición de ajedrez, cuyas

clases pueden ser blancas ganan, negras gana o tablas.

Puede parecer que la tarea de clasificación es solo una pequeña parte de los

procedimientos, pero hasta actividades de planificación interna de robots pueden ser

reclasificadas como tareas de clasificación.

Los miembros de esta familia están fuertemente caracterizados por representar

el conocimiento adquirido como árboles de decisión. Esto es un formalismo

relativamente simple que carece del poder expresivo de las redes semánticas o de otras

representaciones de primer orden. Como consecuencia de esta simplicidad, las

metodologías usadas en la familia TDIDT son considerablemente menos complejas que

las empleadas por los sistemas que pueden expresar los resultados de su aprendizaje en

un lenguaje más poderoso. Sin embargo, sigue siendo posible generar conocimiento con

la forma de árboles de decisión que es capaz de resolver problemas difíciles de

significado práctico.

La técnica subyacente del aprendizaje es del tipo no incremental a partir de

ejemplos. A los sistemas se les presenta un conjunto de casos relevantes para la tarea de

clasificación y deben desarrollar un árbol de decisión descendente (top-down),

guiándose por la frecuencia de información en los ejemplos pero no por el orden

particular en que esos ejemplos son presentados. Esto contrasta con los métodos

incrementales donde un dialogo es llevado a cabo con un instructor para depurar

conceptos parcialmente correctos o en aquellos métodos donde los ejemplos son

analizados uno a uno, cada uno de ellos produciendo un pequeño cambio en el

desarrollo del concepto; en esos métodos, el orden en el que los ejemplos son

Page 25: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

25

presentados es muy importante. Los sistemas descriptos aquí buscan patrones dentro de

los ejemplos presentados, por lo que deben ser capaces de examinar y re-examinar todos

los ejemplos en sus diversas etapas durante el aprendizaje.

En resumen, los sistemas descritos aquí desarrollan árboles de decisión para

tareas de clasificación. Estos árboles están construidos empezando por la raíz del árbol y

descendiendo hacia las hojas. La familia destaca que sus miembros desarrollan

Inducción descendente de los árboles de decisión (Top Down Induccion of Decision

Trees).

2.3.3. Árboles de decisión

Los árboles de decisión son una forma estructurada y secuencial de representar

reglas subyacentes en los datos. Un árbol de decisión puede ser utilizado para la

exploración de datos en una o más de las siguientes formas:

• Descripción: para reducir el volumen de datos transformándolos en una

forma más compacta la cual preserva las características esenciales y provee

un resumen exacto.

• Clasificación: descubriendo si los datos contienen clases de objetos bien

diferenciadas, de tal forma que dichas clases puedan ser interpretadas

significativamente en el contexto.

• Generalización: descubriendo un mapeo de variables independientes a

dependientes que es valioso para predecir el valor de la variable dependiente

en un futuro.

Las ventajas más significativas de los árboles de decisión son respecto a otros

mecanismos son:

Page 26: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

26

• La adquisición del conocimiento a través de ejemplos preclasificados evita

los cuellos de botella de la adquisición de conocimientos mediante un

experto.

• Los métodos son exploratorios en lugar de inferenciales. También son no

paramétricos. Debido a que solo unas pocas asunciones son hechas en

relación al modelo y a la distribución de los datos, los árboles de decisión

pueden modelar a un gran rango de distribuciones de datos.

• La descomposición jerárquica implica el mejor uso de las características

disponibles y una eficacia computacional en la clasificación.

• Los árboles de decisión pueden ser utilizados tanto en problemas

determinísticos como en problemas incompletos.

• Los árboles de decisión desarrollan la clasificación en una secuencia de tests

simples y fáciles de entender, cuya semántica es claramente intuitiva para los

expertos en el dominio.

Un árbol de decisión es una representación grafica de un procedimiento para

clasificar y evaluar un ítem de interés. Por ejemplo, dados un conjunto de síntomas de

un paciente, un árbol de decisión podría determinar el posible diagnostico o el

tratamiento recomendado para curar dichos síntomas. La Figura 8 muestra un árbol de

decisión para pronosticar si un paciente va a morir o no de hepatitis. Un árbol de

decisión representa una función que mapea cada elemento de su dominio a un elemento

de su rango, la cual es típicamente una clase etiquetada o un valor numérico. En cada

hoja del árbol de decisión se puede encontrar un elemento del rango o clase etiquetada.

En cada nodo interno del árbol, se puede encontrar un test que tiene una pequeña

cantidad de salidas posibles. Eligiendo la ramificación correcta en cada nodo interno, se

llega a la hoja que contiene la clase o el valor numérico que corresponde al ítem

evaluado. En la figura, cada hoja muestra el número de ejemplos de cada clase.

Page 27: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

27

Un árbol de decisión con un rango discreto de clases es llamado árbol de

clasificación, mientras que un árbol de decisión con un rango de valores numéricos es

denominado árbol de regresión. Un elemento del dominio es denominado instancia o

ejemplo o caso, dependiendo del contexto. Una instancia es representada por un

conjunto de valores de atributos. Cada atributo tiene su propio dominio de posibles

valores, generalmente discretos o continuos. El espacio de todas las posibles instancias

se define por el conjunto de posibles instancias que se pueden generar utilizando los

atributos y sus posibles valores (producto cartesiano). Los árboles de decisión son

atractivos porque muestran claramente como llegar a una decisión, y porque son fáciles

de construir a partir de instancias o ejemplos. Tres programas conocidos para construir

árboles de decisión son ID3 [Quinlan, 1986], C4.5 [Quinlan, 1993] y CART [Breiman,

Friedman Losen y Stone, 1984].

2.3.4. La tarea de inducir

La base de la tarea de inducir comienza con un universo de objetos, los cuales

son descriptos por una colección de atributos. Cada atributo mide alguna característica

importante del objeto y será limitado a tomar algún valor discreto. Por ejemplo, si el

Figura 8. Árbol de decisión

Page 28: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

28

objeto fuera el día Domingo y la tarea clasificatoria envolviese al clima, algunos

atributos podrían ser

Tiempo, con valores (soleado, nublado, lluvioso)

Temperatura, con valores (frío, templado, calor)

Humedad, con valores (alta, normal)

Viento, con valores (Si, No)

Tomados juntos, los atributos proveen un lenguaje para caracterizar objetos

dentro del universo. Un Domingo en particular podría ser descrito como

Tiempo: nublado

Temperatura: caluroso

Humedad: normal

Viento: No

Cada objeto o instancia del universo pertenece a una de un conjunto de clases

mutuamente excluyentes. Para simplificar el posterior tratamiento, asumiremos que solo

existen dos clases llamadas P y N.

El otro punto importante es el conjunto de datos de entrenamiento cuyas clases

son conocidas. La tarea de inducción es la de desarrollar una regla de clasificación que

pueda determinar la clase a la que pertenece cualquier objeto tomando como referencia

los valores de los atributos de dicho objeto. La pregunta inmediata es si los atributos

proveen o no suficiente información para realizar dicha tarea. En particular, si el

conjunto de datos de entrenamiento contiene dos objetos que tienen valores idénticos

para cada atributo y cada uno de ellos pertenece a una clase diferente, es claramente

imposible diferenciar entre esos dos objetos solo por los atributos dados. En este caso

los atributos serán inadecuados para el conjunto de elementos y por ende para la tarea

de inducir.

Page 29: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

29

Las reglas de clasificación serán expresadas como un árbol de decisión. La Tabla

1 muestra un pequeño conjunto de entrenamiento que utiliza los atributos del objeto

Domingo. Se muestra además la clase a la que pertenece cada objeto o instancia. Un

árbol de decisión que correctamente clasifica a cada objeto del conjunto se muestra en la

Figura 9.

Si los atributos son adecuados, siempre es posible construir un árbol de decisión

que correctamente clasifique a cada objeto del conjunto de datos de entrenamiento, y

generalmente hay más de un árbol correcto. La esencia de la inducción es la de moverse

dentro del conjunto de datos de entrenamiento para construir un árbol de decisión que

no solo clasifique a los objetos del conjunto de datos de entrenamiento sino también

otros objetos de la misma manera. Para poder realizar esto, el árbol debe ser capaz de

capturar relaciones significativas entre los objetos de una clase y los valores de sus

atributos. Teniendo la posibilidad de elegir entre dos árboles de decisión, donde cada

uno clasifique correctamente los elementos de entrenamiento, pareciera correcto decir

que el que se preferiría sería el árbol más simple, ya que es más seguro que dicho árbol

capture la estructura inherente al problema. Se espera que el árbol más simple clasifique

correctamente a más objetos fuera del conjunto de datos de entrenamiento, mientras que

Nro Atributos Clase Temperatura Humedad Viento Tiempo

1 calor alta No soleado N 2 calor alta Si soleado N 3 calor alta No nublado P 4 templado alta No lluvioso P 5 Frío normal No lluvioso P 6 Frío normal Si lluvioso N 7 Frío normal Si nublado P 8 templado alta No soleado N 9 Frío normal No soleado P 10 templado normal No lluvioso P 11 templado normal Si soleado P 12 templado alta Si nublado P 13 Calor normal No nublado P

14 templado alta Si lluvioso N

Tabla 1. Un pequeño conjunto de entrenamiento.

Page 30: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

30

del árbol más grande puede esperarse que sea más una explicación de dicho conjunto de

datos de entrenamiento.

2.3.5. Tamaño correcto del árbol de decisión. Poda Una de las mayores dificultades de inducir una estructura recursivamente es

saber cuando parar.

Muchas técnicas se han sugerido para obtener el tamaño correcto de un árbol de

decisión. La más popular de estas técnicas es la llamada Poda.

La poda fue propuesta en [Breiman, 1984]. El procedimiento que se sugirió fue

el siguiente: construir el árbol completo y luego eliminar aquellos subárboles que no

contribuyen significativamente a la generalización.

Figura 9. Un árbol de decisión simple.

Page 31: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

31

La poda de un árbol de decisión se realiza reemplazando un subárbol entero por

un nodo hoja. El reemplazo se lleva a cabo si una regla de decisión establece que el

error esperado en el subárbol es mayor que en la hoja. Por ejemplo, si se obtiene el árbol

de decisión de la Figura 10 con un caso de entrenamiento Rojo Éxito y dos elementos de

entrenamiento Azul Fracaso, y luego en el conjunto de elementos de test encontramos

tres elementos Rojo Fracaso y uno Azul Éxito, podemos considerar reemplazar este

subárbol por un simple nodo Fracaso. Luego del reemplazo tendremos solo dos errores

en lugar de cuatro.

2.3.6. ID3 Una aproximación a la tarea de inducción podría ser la de generar todos los

posibles árboles de decisión que clasifiquen correctamente al conjunto de datos de

entrenamiento y seleccionar luego el más de simple de ellos. El número de esos árboles

es finito pero muy grande, es por eso que esta aproximación puede ser factible solo para

tareas pequeñas. El algoritmo ID3 fue diseñado justamente para espectros opuestos, o

sea donde el conjunto de entrenamiento contiene una gran cantidad de elementos con un

gran numero de atributos, pero donde un buen y razonable árbol de decisión es

requerido sin mucho esfuerzo computacional. Se ha demostrado que el algoritmo

construye árboles de decisión simples, pero la aproximación que utiliza no garantiza que

el árbol que construye sea el más óptimo.

La estructura básica de ID3 es iterativa. Un subconjunto del conjunto de

entrenamiento llamado ventana (window) es elegido al azar y se construye un árbol de

Figura 10. Ejemplo de poda

Page 32: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

32

decisión a partir de esa ventana; este árbol de decisión clasifica correctamente a los

elementos de esta ventana. Todos los demás objetos del conjunto de datos de

entrenamiento son luego clasificados utilizando este árbol. Si el árbol correctamente

clasifica a esos objetos, entonces el proceso termina ya que el árbol es correcto para el

conjunto entero de datos de entrenamiento. Caso contrario, una selección de los objetos

incorrectamente clasificados es sumada a la ventana y el proceso continua.

Lo esencial del problema es como desarrollar un árbol de decisión a partir de una

colección de C objetos arbitrarios. Si C es vacío o contiene solo objetos de una clase, el

árbol de decisión más simple es solo una hoja etiquetada con dicha clase. De otro modo,

digamos que T sea cualquier test sobre un objeto con posibles salidas wOOO ,...,, 21 .

Cada objeto en C dará alguna de estas salidas para el test T, por lo que T produce una

partición },...,,{ 21 wCCC de C con iC conteniendo aquellos objetos que tengan la salida

iO . Esto se representa gráficamente por el árbol de la Figura 11. Si cada subconjunto

iC en esta figura pudiera ser reemplazado por un árbol de decisión para iC , el resultado

seria un árbol de decisión para todo C. Es más, mientras dos o más iC sean no vacíos,

cada iC es más pequeño que C. En el peor de los casos, esta estrategia de divide y

conquistarás dará como resultado subconjuntos de un solo objeto que satisface el

requerimiento de una sola clase para la hoja. Teniendo en cuenta que un test T que de

una partición no trivial de cualquier conjunto de objetos siempre se puede encontrar,

este procedimiento siempre producirá un árbol de decisión que correctamente clasifique

a cada objeto de C.

La elección del test T es crucial si lo que se quiere es que el árbol de decisión sea

simple. Por el momento, el test estará limitado a ramificarse en los valores de un

atributo, por lo que elegir el test se convierte en seleccionar un atributo para la raíz del

árbol. ID3 adopto un método que depende de dos asunciones. Si C contiene p objetos de

la clase P y n objetos de la clase N, las asunciones son:

1) Cualquier árbol de decisión correcto para C va a clasificar objetos en la

misma proporción que su representación en C. Un objeto arbitrario será

Page 33: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

33

determinado a pertenecer a la clase P con probabilidad p/(p+n) y a la clase N

con probabilidad n/(p+n).

2) Cuando un árbol de decisión es utilizado para clasificar a un objeto, este

retorna una clase. Un árbol de decisión puede entonces ser considerado como

una fuente del mensaje P o N, con la esperada información necesaria para

generar este mensaje, dado por

np

n

np

n

np

p

np

ppnl

++−

++−= 22 loglog),(

Si el atributo A con valores },...,,{ 21 vAAA es utilizado para la raíz del árbol de

decisión, particionará a C en },...,,{ 21 vCCC donde iC contiene aquellos objetos en C

que tienen el valor iA para el atributo A. iC contiene ip objetos de la clase P y in

objetos de la clase N. La información requerida esperada para el subárbol para iC es

),( ii npl . La información requerida esperada para el árbol can A como raíz es la

obtenida como el promedio de pesos

Figura 11. Un árbol estructurado de los objetos en C

Page 34: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

34

∑= +

+=

v

lii

ii nplnp

npAE

1

),()(

donde el peso para la i-esima ramificación es la proporción de objetos en C que

pertenecen a iC . La ganancia de información obtenida por haber ramificado en A es

gain(A )=l(p,n) – E(A)

Una buena regla será la de elegir aquel atributo para ramificar que tenga la

mayor ganancia de información. Debido a que l(n,p) es constante para todos los

atributos, maximizar la ganancia equivale a minimizar E(A). El algoritmo ID3 examina

todos los atributos candidatos y elige A para maximizar la ganancia gain(A), desarrolla

el árbol y luego utiliza el mismo proceso en forma recursiva hasta formar el árbol de

decisión para los subconjuntos restantes 1C , 2C , …, vC .

Para ilustrar la idea, digamos que C es el conjunto de objetos en la Tabla 1. De

los 14 objetos, 9 pertenecen a la clase P y 5 a la clase N, por lo que la información

requerida para la clasificación es

bitspnl 940.0)14

5(log

14

5)

14

9(log

14

9),( 22 =−−=

Ahora consideremos al atributo Tiempo con sus valores [soleado, nublado,

lluvioso]. Cinco de los catorce objetos de C tienen su primer valor (soleado), dos de

ellos de la clase P y tres de ellos de la clase N, entonces

21 =p 31 =n 971.0),( 11 =npl

y en forma similar

42 =p 02 =n 0),( 22 =npl

33 =p 23 =n 971.0),( 33 =npl

Page 35: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

35

La información esperada requerida después de testear este atributo es

bitsnplnplnplTiempoE 694.0),(14

5),(

14

4),(

14

5)( 332211 =++=

La ganancia de este atributo es entonces

gain(Tiempo)=0.940 – E(Tiempo) = 0.246 bits

Análisis similares dan

gain(Temperatura) = 0.029 bits

gain(Humedad) = 0.151 bits

gain(Viento) = 0.048 bits

ID3 puede concebirse como un proceso de búsqueda en un espacio de hipótesis,

para encontrar aquella hipótesis que se ajusta mejor a los datos de entrenamiento. El

espacio de hipótesis explorado por ID3 es el espacio de todos los árboles de decisión

posibles. El algoritmo lleva a cabo una búsqueda de lo simple a lo complejo,

comenzando por el árbol vacío, para considerar cada vez hipótesis más complejas. La

medida ganancia de información guía esta búsqueda de ascenso de colina (hill-

climbing).

Considerando ID3 en términos de su espacio y estrategias de búsqueda, es

posible analizar sus capacidades y limitaciones:

• El espacio de hipótesis de ID3 es completo con respecto a las funciones de

valores discretos que pueden definirse a partir de los atributos considerados.

De manera que no existe el riesgo que la función objetivo no se encuentre en

el espacio de hipótesis.

Page 36: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

36

• ID3 mantiene solo una hipótesis mientras explora el espacio de hipótesis

posibles. Esto contrasta, por ejemplo, con el algoritmo eliminación de

candidatos, que mantiene el conjunto de todas las hipótesis consistentes con

el conjunto de entrenamiento. Es por ello que ID3 es incapaz de determinar

cuantos árboles de decisión diferentes son consistentes con los datos.

• El algoritmo básico ID3 no ejecuta vuelta atrás (backtracking) en su

búsqueda. Una vez que el algoritmo selecciona un atributo, nunca

reconsidera a esta elección. Por lo tanto, es susceptible a los mismos riesgos

que los algoritmos estilo ascenso de colina, por ejemplo, caer máximos o

mínimos locales. La vuelta atrás puede implementarse con alguna técnica de

poda.

• ID3 utiliza todos los ejemplos de entrenamiento en cada paso de su búsqueda

guiada por el estadístico ganancia de información. Esto contrasta con los

métodos que usan los ejemplos incrementalmente, por ejemplo encuentra-S

o eliminación de candidatos. Una ventaja de usar propiedades estadísticas de

todos los ejemplos es que la búsqueda es menos sensible al ruido en los

datos.

Algunas consideraciones sobre la aplicación práctica del algoritmo básico de ID3,

incluyen mecanismos para:

• determinar que tanto debe crecer el árbol en profundidad

• procesar atributos con valores continuos;

• procesar ejemplos de entrenamiento con valores faltantes;

• introducir costos diferentes asociados a los atributos; así como para

determinar una buena métrica de selección de los atributos y mejorar la

eficiencia computacional del algoritmo.

Page 37: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

37

Muchos de estos aspectos han sido incorporados en el sistema C4.5 [Quinlan,

1993].

El algoritmo básico de ID3 crece cada rama del árbol en profundidad hasta que

logra clasificar perfectamente los ejemplos de entrenamiento. Esta estrategia puede no

ser del todo satisfactoria si los datos de entrenamiento presentan ruido, o cuando el

conjunto de entrenamiento es demasiado pequeño, como para ofrecer un muestreo

significativo del concepto objetivo. En estos casos, ID3 puede producir árboles que se

sobre ajustan a los datos de entrenamiento.

Formalmente definimos el sobre ajuste como: “Dado un espacio de hipótesis H, se dice que una hipótesis Hh∈ está sobre ajustada a los ejemplos de entrenamiento, si existe una hipótesis alternativa

Hh∈' , tal que h’ tiene un error de clasificación más pequeño que h sobre la distribución completa de los ejemplares del problema”.

Es común observar que a medida que el tamaño del árbol crece, en término de

número de nodos, su precisión sobre el conjunto de entrenamiento mejora.

¿Como es esto posible que un árbol h que tiene mayor precisión que h’ sobre el

conjunto de entrenamiento, luego tenga un desempeño menor sobre el conjunto de

prueba?

Una situación en la que esto ocurre es cuando el conjunto de entrenamiento

contiene ruido, por ejemplo, elementos mal clasificados. Considérese agregar el

siguiente ejemplo mal clasificado (clasificado como clase = N) al conjunto de

entrenamiento de la Tabla 1:

Tiempo = soleado, temperatura = calor, Humedad = Normal, Viento = Si

Al ejecutar ID3 sobre el nuevo conjunto de entrenamiento, este construirá un

árbol más complejo. En particular, el ejemplo con ruido seria filtrado junto con los

ejemplos Nro 9 y Nro 11 de la Tabla 1 (tiempo = Soleado y Humedad = normal), que

son ejemplos positivos.

Page 38: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

38

Dado que el nuevo ejemplo es negativo, ID3 buscaría refinar el árbol a partir del

nodo humedad, agregando un atributo más al árbol. Este nuevo árbol h’ tiene mayor

precisión sobre los ejemplos de entrenamiento que h, puesto que se ha ajustado al

ejemplo con ruido. Pero h tendría mejor desempeño al clasificar nuevos ejemplares,

tomados de una misma distribución que los ejemplos de entrenamiento.

Existe la posibilidad de sobre ajuste, aún cuando el conjunto de entrenamiento

esté libre de ruido, por ejemplo, si el conjunto de entrenamiento tiene pocos elementos.

En conjuntos de entrenamiento pequeños es fácil encontrar regularidades accidentales

en donde un atributo puede particionar muy bien los ejemplos dados, aunque no esté

relacionado con el concepto objetivo.

Puesto que el sobre ajuste puede reducir la precisión de un árbol inducido por

ID3 entre un 10 a 25 %, diferentes enfoques han sido propuestos para evitar este

fenómeno. Los enfoques pueden agruparse en dos clases:

• Enfoques que detienen el crecimiento del árbol anticipadamente, antes de

que alcance un punto donde clasifique perfectamente los ejemplos de

entrenamiento.

• Enfoques en donde se deja crecer el árbol para después podarlo.

Aunque el primer enfoque parezca más directo, la poda posterior del árbol ha

demostrado tener más éxito en la práctica. Esto se debe a la dificultad de estimar en que

momento debe detenerse el crecimiento del árbol. Independientemente del enfoque

usado, una pregunta interesante es: ¿Cual es el tamaño correcto de un árbol? Algunos

enfoques para responder a esta pregunta incluyen:

• Usar un conjunto de ejemplos, diferentes de los usados en el entrenamiento,

para evaluar la utilidad de eliminar nodos del árbol.

Page 39: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

39

• Usar los ejemplos disponibles para el entrenamiento, pero aplicando una

prueba para estimar cuando agregar o eliminar un nodo, podría producir una

mejora al clasificar nuevos ejemplares

• Usar explícitamente una medida de complejidad para codificar los ejemplos

de entrenamiento y el árbol de decisión, deteniendo el crecimiento cuando el

tamaño codificado sea minimizado. Por ejemplo, el principio de descripción

mínima (MDL).

¿Cómo podemos usar un conjunto de ejemplos de validación para prevenir el

sobre ajuste?

Un enfoque llamado reduced-error pruning [Quinlan, 1987], consiste en

considerar cada nodo del árbol como candidato a ser podado. La poda consiste en

eliminar todo el subárbol que tiene como raíz el nodo en cuestión, convirtiéndolo así en

una hoja, cuya clase corresponde a valor más común de los ejemplares asociados a ese

nodo. Un nodo solo es eliminado si el árbol podado que resulta de ello, no presenta un

desempeño peor que el árbol original sobre el conjunto de validación. El efecto de esto,

es que los nodos que se han colocado en el árbol por coincidencias fortuitas en los datos

del entrenamiento, generalmente son eliminados debido a que las coincidencias suelen

no estar presentes en el conjunto de validación.

Este método es únicamente efectivo si contamos con suficientes ejemplos, de tal

forma que el conjunto de entrenamiento y el conjunto de validación sean significativos

estadísticamente. De otra forma, tomar ejemplos para el conjunto de validación reduce

aún más el tamaño del conjunto de datos entrenamiento, aumentando así la posibilidad

de sobre ajuste.

En la práctica, un método exitoso para encontrar el árbol de mayor precisión se

conoce como rule post-prunning [Quinlan, 1993] y está incorporado en el sistema C4.5

de Ross Quinlan. El procedimiento es el siguiente:

Page 40: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

40

• Inducir el árbol de decisión permitiendo sobre ajuste, por ejemplo, con

nuestro algoritmo básico ID3.

• Convertir el árbol aprendido en un conjunto de reglas equivalente, esto es,

una conjunción por cada rama del árbol que va de la raíz a una hoja.

• Podar (generalizar) cada regla, eliminando las precondiciones que resulten en

una mejora de la precisión estimada.

• Ordenar las reglas por su precisión estimada, y aplicarlas en ese orden al

clasificar nuevos ejemplares.

Cabe mencionar que el método aplicado por C4.5 no es estadísticamente valido,

aunque ha demostrado ser una heurística útil. En la sesión de evaluación de hipótesis,

estudiamos técnicas estadísticamente robustas para estimar medias e intervalos de

confianza. Lo relevante aquíı es que la conversión del árbol en reglas ayuda a distinguir

los diferentes contextos en los que un atributo participa en la clasificación, es decir,

reglas diferentes; elimina la diferencia entre nodos ubicados cerca de la raíz y aquellos

ubicados cerca de las hojas; y aumenta la facilidad de comprensión por parte del

usuario.

2.3.7. Incorporando valores continuos

En el algoritmo básico de ID3 tanto el concepto objetivo, como los atributos

usados para describir los ejemplares, deben tener valores discretos. La segunda

restricción puede ser eliminada fácilmente, permitiendo el uso de atributos con valores

continuos. Esto se logra definiendo dinámicamente nuevos atributos discretos que

particionan los atributos de valores continuos, en intervalos discretos. Para un atributo

continuo A, el algoritmo puede crear dinámicamente un atributo discreto Ac que es

verdadero si A > c y falso en cualquier otro caso. La única consideración es como

seleccionar el mejor valor para el umbral c. Supongan que el atributo temperatura toma

valores discretos y que su relación con el concepto objetivo es la siguiente:

Page 41: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

41

Temperatura 40 48 60 72 80 90

Clase No No Si Si Si No

¿Qué valor booleano basado en un umbral debemos definir para el atributo

temperatura?

Obviamente, necesitamos un umbral c, tal que este produzca la mayor ganancia

de información posible. Es posible generar candidatos a umbral, ordenando los ejemplos

de acuerdo a su valor en el atributo temperatura e identificando ejemplos adyacentes

que difieren en el valor de su atributo objetivo. Se puede demostrar que los umbrales c

que maximiza la ganancia de información, se encuentran en estos sitios.

Para el ejemplo presentado, dos umbrales pueden localizarse en los puntos (48 +

60)/2 y (80 + 90/2). La ganancia de información puede entonces calcularse para los

atributos temperatura>54 y temperatura>85. El atributo con mayor ganancia de

información, en este caso el primero, puede ser usado entonces para competir con otros

atributos en la construcción del árbol de decisión. Por supuesto, es posible también

mantener ambos atributos dinámicamente creados, usando múltiples intervalos.

2.4. Redes Bayesianas y ponderación de reglas

2.4.1. Teorema de Bayes

El Teorema de Bayes, dentro de la teoría probabilística, proporciona la

distribución de probabilidad condicional de un evento "A" dado otro evento "B"

(probabilidad posteriori), en función de la distribución de probabilidad condicional del

evento "B" dado "A" y de la distribución de probabilidad marginal del evento "A"

(probabilidad simple o apriori).

Page 42: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

42

La probabilidad a priori es la probabilidad de una variable en ausencia de

evidencia. La probabilidad a posteriori es la probabilidad de una variable condicionada

a la existencia de una determinada evidencia; la probabilidad a posteriori de X cuando se

dispone de la evidencia e se calcula como P(X /e).

Partiendo de las fórmulas de probabilidad condicional, que dice que dadas dos

variables X e Y, la probabilidad de que ocurra A dado que ocurrió el evento B es la

probabilidad condicional de A dado B y se denota como )/( BAP .

)(

)()/(

BP

BAPBAP

∩=

Análogamente, si se intercambia el orden de las variables:

)(

)()/(

AP

BAPABP

∩=

A partir de las dos fórmulas anteriores se obtiene:

)(

)/()()/(

BP

ABPAPBAP =

a esta expresión se conoce como el Teorema de Bayes.

Para eventos estadísticamente dependientes se procederá a enunciar el Teorema

de Bayes.

Sean 1A , 2A , …, nA eventos mutuamente excluyentes tales que, cualquier evento

“B” en el espacio muestral pertenece a uno y sólo a uno de estos eventos. Entonces la

probabilidad de que ocurra cualquier evento kA dado que ha ocurrido el evento “B” se

calculará por la siguiente fórmula:

Page 43: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

43

)(

)()/(

BP

BAPBAP k

k

∩=

Por lo tanto, sustituyendo la fórmula de probabilidad condicional, se obtiene la

fórmula general para el Teorema de Bayes:

)/()(...)/()()/()(

)/()()/(

2211 nn

kkk ABPAPABPAPABPAP

ABPAPBAP

+++=

Donde:

El numerador es la probabilidad conjunta:

)/()()( BAPBPBAP =∩

El denominador es la probabilidad marginal de que ocurra el evento “B”

)/()(...)/()()/()()( 2211 nn ABPAPABPAPABPAPBP +++=

Como "A" y "B" son eventos estadísticamente dependientes, el Teorema de

Bayes se puede representar también utilizando el diagrama de árbol.

Probabilidad conjunta

Dado un conjunto de variables {X, Y, …, Z}, la probabilidad conjunta especifica

la probabilidad de cada combinación posible de estados de cada variable

kjizyxP kji ,...,,),...,,( ∀ de manera que se cumple que:

∑ =kii

kji zyxP,...,,

1),...,,(

Page 44: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

44

2.4.2. Introducción a redes Bayesianas

Las redes Bayesianas o probabilísticas se fundamentan en la teoría de la

probabilidad y combinan la potencia del teorema de Bayes con la expresividad

semántica de los grafos dirigidos; las mismas permiten representar un modelo causal por

medio de una representación gráfica de las independencias / dependencias entre las

variables que forman parte del dominio de aplicación [Pearl, 1988].

Una red Bayesiana es un modelo gráfico que permite representar las relaciones

de dependencia entre un conjunto de variables y busca relaciones probabilísticas entre

las distintas variables del sistema. Los componentes básicos que componen una red

bayesiana incluyen:

• Un conjunto de nodos }{ iX que representan cada una de las variables del

modelo. Cada una de ellas tiene un conjunto exhaustivo de estados

}{ ix mutuamente excluyentes.

• Un conjunto de enlaces o arcos ),( ji XX entre aquellos nodos que tienen una

relación causal. De esta manera todas las relaciones están explícitamente

representadas en el grafo.

• Una tabla de probabilidad condicional asociada a cada nodo iX indicando la

probabilidad de sus estados para cada combinación de los estados de sus

padres. Si un nodo no tiene padres se indican sus probabilidades a priori.

La estructura de una red bayesiana se puede determinar de la siguiente manera:

• Se asigna un vértice o nodo a cada variable )( iX y se indica de qué otros

vértices es una causa directa; a ese conjunto de vértices “causa del nodo iX ” se

lo denota como el conjunto ix

π y se lo llamará “padres de iX ”.

• Se une cada padre con sus hijos con flechas que parten de los padres y llegan a

los hijos.

Page 45: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

45

• A cada variable iX se le asigna una matriz )/(ixixP π que estima la probabilidad

condicional de un evento ii xX = dada una combinación de valores de los ix

π .

Una vez que se ha diseñado la estructura de la red y se han especificado todas la

s tablas de probabilidad condicional se está en condiciones de conocer la probabilidad

de una determinada variable dependiendo del estado de cualquier combinación del resto

de variables de la red; para ello se debe calcular la probabilidad a posteriori de cada

variable condicionada a la evidencia; estas probabilidades a posteriori se podrán obtener

de forma inmediata a partir de la probabilidad conjunta de todas las

variables ),...,,( 21 ixxxP .

Cada nodo dentro del grafo dirigido de la red Bayesiana representa una variable

aleatoria que tiene asociada una función de probabilidad condicional. La estructura de la

red Bayesiana provee información sobre las relaciones de dependencia e independencia

condicional existentes entre las variables. Estas relaciones simplifican la representación

de la función de probabilidad conjunta como el producto de las funciones de

probabilidad condicional de cada variable.

Una red Bayesiana para un conjunto de variables aleatorias ( )nXXX ,...,1= es

un par ( ))(, Θ= PGB , donde G es un gráfico acíclico dirigido, cuyos nodos se

encuentran en correspondencia uno a uno con las variables en X, y P es un conjunto de

funciones de probabilidad local definidas por un conjunto de parámetros Θ. Se usa iPa

y ipa para denotar, respectivamente, a los padres y las configuraciones de los padres

del nodo iX en G. La función de probabilidad conjunta representada por la estructura G

está dada por

∏=

==n

iiin PaXpXXpXp

11 )/(),...,()(

Un arco en una red Bayesiana es la unión entre dos nodos y representa la

dependencia entre dos variables del modelo. Un arco queda definido por un par

Page 46: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

46

ordenado de nodos (X, Y). Un Padre iPa (nodo X) es un padre del nodo Y, si existe un

arco (X, Y) entre los dos nodos. Un nodo hijo Y es un hijo del nodo X, si existe un arco

(X, Y) entre los dos nodos.

Las funciones de probabilidad local P son las funciones de probabilidad

correspondientes a los términos de la ecuación anterior. Un ejemplo de red Bayesiana se

presenta en la Figura 12. La función de probabilidad conjunta representada en esta red

es )(),/()/()(),/(),...,( 553453252151 XpXXXpXXpXpXXXpXXp =

2.4.3. Estimación de la estructura de la red Bayesiana

Existen dos metodologías para el problema de estimación de la estructura de una

red Bayesiana. La primera, llamada búsqueda y score, utiliza un criterio para medir que

tanto la estructura de la red estima el conocimiento a priori y un método de búsqueda

para encontrar el modelo que mejor estime el conjunto de datos. La segunda

metodología, llamada análisis de dependencia, mide el grado de relación de estas

dependencias usando alguna prueba estadística o la cantidad de información mutua.

Generalmente, la primera metodología tiene menor tiempo de complejidad pero puede

Figura 12. Red bayesiana.

Page 47: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

47

no encontrar la mejor solución debido a su naturaleza heurística. La segunda

metodología de algoritmos es generalmente asintóticamente correcta cuando la función

de probabilidad cumple ciertas condiciones. A continuación detallaremos la primera de

las metodologías.

Selección del modelo por búsqueda y store

Esta sección presenta algunos ejemplos de las medidas de calidad usadas para

calcular el score de una estructura de red, y los algoritmos de búsqueda sobre el espacio

posible de estructuras de red.

A) Medidas de calidad

Medidas de calidad Bayesianas. Estas medidas están relacionadas con la estadística

Bayesiana. La idea básica es asignar a cada red un valor en función de su probabilidad

posterior p(B/D). Un criterio frecuente es usar el logaritmo de la función de

probabilidad posterior

)/(log)(log)/(log BDpBpDBp +=

El logaritmo es usado por conveniencia numérica. Este criterio tiene dos componentes:

el logaritmo de la a priori y el log de la verosimilitud marginal.

Medidas de mínima longitud de codificación. El score esta basado en el principio LDM

[Rissanen, J. , 1989] y la aplicación a las redes Bayesianas fue desarrollado por

Bouckaert [Bouckaert, 1994], Lam y Bacchus [Lam, 1994] y Suzuki [Suzuki, 1996].

Estos autores argumentan que usando solo la función de probabilidad posterior resulta

en un criterio que refiere redes con gráficos completos, por lo que se debe agregar un

factor que penalize el tamaño de la red.

)/(||||2

log),( DBLLB

NDBq −=

Page 48: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

48

Donde ||B|| representa el tamaño de la red y LL el logaritmo de la función de

verosimilitud.

Medidas de información teórica. Otra forma de medir la calidad de una red es usando

las medidas de información. Estas medidas pueden considerarse como una

generalización de la medida LDM. Las más conocidas son

Criterio de información por máxima verosimilitud. La medida es el logaritmo de

la verosimilitud de una red Bayesiana, dado un conjunto de datos de

entrenamiento. A diferencia de otras medidas de información teórica, esta no

contiene penalización debido al tamaño de la red.

q (B,D) = LL(B/D)

Criterio de información de Akaike. [1] Esta medida no es consistente ya que el

mejor modelo no se encuentra entre las que reciben lo mayores scores [Schwarz,

1978].

q (B,D)=LL(B/D)−||B||

Criterio de información Bayesiana. También conocido como criterio de

información de Schwarz [Schwarz, 1978] es fácil de usar y no requiere la

evaluación de la función de probabilidad a priori. Consecuentemente, se trata de

un criterio práctico usado en circunstancias apropiadas. Cuando se aplica a redes

con distribución multinomial para las variables este criterio es parecido al

criterio LDM diferenciándose por un signo negativo.

||||2

log)/(),( B

NDBLLDBq −−=

2.4.4. Clasificadores basados en redes Bayesianas

Page 49: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

49

Supongamos que nXX ,...,1 son variables aleatorias que permiten predecir el

valor de una variable C llamada clase. De acuerdo al teorema de Bayes, la probabilidad

de que una observación pertenezca a la clase c es

),...,(

)/,...,()(),...,/(

1

11

n

nn xxp

cCxxpcCPxxcCp

====

El proceso de clasificación se realiza asignando la observación en aquella clase

que tenga la mayor probabilidad usando la ecuación anterior. Las redes Bayesianas

pueden ayudarnos a simplificar la representación de la función de probabilidad conjunta

)/,...,( 1 CXXp n considerando las relaciones de dependencia que existen entre las

variables.

Clasificador Naive Bayes

El clasificador Naive Bayes y sus variantes se encuentran entre los algoritmos

más conocidos para construir clasificadores de documentos de texto [Kim S., Seo H. y

Rim H., 2003], filtración de correo electrónico [Sahami, M., Dumais, S., Heckerman, D.

y Horvitz E., 1998], clasificación de galaxias [Bazell D. y Aha D., 2001] y

reconocimiento de emociones [Sebe N., Lew M., Cohen I., Gary A. y Huang T., 2002].

A pesar de su simplicidad es comparable con clasificadores sofisticados como las redes

neuronales y los árboles de decisión, ya que posee alta precisión y velocidad cuando es

aplicada a conjuntos grandes de datos.

El clasificador Naive Bayes fue popularizado por Duda y Hart [Duda, R. O. & P.

E. Hart., 1973] gracias a su simplicidad, eficiencia y bajo error de clasificación. Este

clasificador supone que todas las variables son condicionalmente independientes dado el

valor de la clase.

Dos variables X e Y son independientes si la ocurrencia de una no tiene que ver

con la ocurrencia de la otra. Por definición se cumple que Y es independiente de X si y

sólo si:

Page 50: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

50

jixPyPxyP ijij ,)()(),( ∀=

Esto implica que:

jiyPxyP jij ,)()/( ∀=

jixPyxP iji ,)()/( ∀=

Este supuesto simplifica la representación de )/,...,( 1 CXXp n así como su

estimación a partir de la muestra de entrenamiento.

La estructura de este clasificador puede representarse usando una red Bayesiana

(Figura 13) en la que existe un nodo para la variable de clase C, que es padre de todas

las variables y en la que no existen arcos entre las variables.

El funcionamiento de este clasificador es algo sorprendente, ya que el supuesto

de independencia no es realista. Considere un clasificador para la evaluación del riego

en las solicitudes de crédito: es contra intuitivo ignorar las correlaciones entre edad,

nivel de educación e ingreso. El ejemplo anterior lleva a la necesidad construir un

clasificador que tome en consideración las relaciones de dependencia que existen en el

conjunto de variables.

Figura 13. La estructura de una red Naive Bayes.

Page 51: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

51

Extensiones del clasificador Naive Bayes

En esta sección se examinan dos metodologías que mantienen la estructura

básica del clasificador Naive Bayes. Sin embargo para mejorar el comportamiento del

clasificador, se propone aumentar la estructura de Naive Bayes con arcos entre las

variables, cuando sean necesarios, desechando así el supuesto de independencia. Estas

estructuras son llamadas redes aumentadas Naive Bayes y estos arcos, arcos aumentados

[Friedman, N., Geiger, D. y Goldszmidt, M., 1997].

En una estructura aumentada, un arco desde iX hacia jX implica que la

influencia de iX en la asignación de la variable de clase C también depende del valor de

jX . Adicionar el mejor conjunto de arcos aumentados es un problema no manejable, ya

que equivale a encontrar la mejor red Bayesiana entre aquellas en las que C es una raíz.

Así, aunque el comportamiento del clasificador Naive Bayes pudiera mejorarse, el

esfuerzo computacional requerido puede no valer la pena. Sin embargo, imponiendo

restricciones aceptables es posible encontrar el conjunto óptimo de arcos aumentados en

un tiempo polinomial.

El propósito esta en encontrar una red Naive Bayes de árbol aumentado (TAN)

en la que la variable de clase no tenga padres y las variables restantes tengan como

padres a la variable de clase y a lo más alguna otra variable. Así, cada variable puede

tener un arco aumentado dirigido hacia él. La red de la Figura 14, es de hecho un

modelo TAN. El procedimiento para obtener estos arcos esta basado en el algoritmo de

Chow y Lui [Chow, C. and Lui, C., 1968] para estimar las relaciones de dependencia

entre un conjunto de variables usando una estructura de árbol.

Un gráfico acíclico dirigido sobre nXX ,...,1 es una árbol si iPa contiene

exactamente un padre para todo iX excepto por una variable (esta variable es conocida

como raíz).

Page 52: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

52

Una red con estructura de árbol puede describirse identificando los padres de

cada variable. Una función } }{{ nn ,...,0,...,1 a=π se dice que define un árbol sobre

nXX ,...,1 si existe exactamente un i tal que π (i) = 0 (llamada la raíz del árbol) y no

existe alguna secuencia kii ,...,1 tal que 1)( += jj iiπ para i≤ j<k y 1)( iik =π (es decir no

existen ciclos). Tal función define una red de árbol cuando }{ )(ii XPa π= si 0)( >iπ y

θ=iPa si 0)( =iπ .

Clasificador Naive Bayes de árbol aumentado (TAN)

El algoritmo de Chow y Lui [Chow, C. y Lui, C., 1968], a partir de una

colección D de N observaciones de nXX ,...,1 , construye un árbol tB que

maximiza )/( DBLL t . Este resultado puede ahora adaptarse para encontrar la estructura

TAN de máxima verosimilitud. Sea nXX ,...,1 un conjunto de variables y C la variable

de clase. Diremos que B es un modelo TAN si θ=cPa y existe una función π que

define un árbol sobre nXX ,...,1 tal que },{ )(ix XCPai π= si 0)( >iπ , y }{CPa

ix= si

0)( =iπ . El problema de optimización consiste en encontrar una función π que defina

Figura 14. La estructura de una red TAN

Page 53: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

53

una estructura de árbol sobre nXX ,...,1 tal que el logaritmo de la verosimilitud sea

maximizada.

Tal como se mostrara más adelante, el procedimiento que se denomina algoritmo

TAN resuelve este problema de optimización. Este procedimiento sigue el enfoque

general de Chow y Lui [Chow, C. y Lui, C., 1968], excepto que en lugar de usar la

información mutua entre dos variables, usa la información condicional mutua dada la

variable de clase

∑∑∑=c ji

jiji

xxji cxpcxp

cxxpcxxpCXXI

ji

))/()/(

)/,(log(),,()/;(

Informalmente hablando, esta función mide la cantidad de información que jX

proporciona acerca de iX cuando el valor de C es conocido. El algoritmo TAN se

muestra a continuación.

Algoritmo TAN

1. Calcular )/;( CXXI ji con i< j donde i, j = 1, 2,…, n. Asignar este valor como

peso al arco que conecta las variables iX y jX .

2. Ordenar )/;( CXXI ji de mayor a menor.

3. Considerar un árbol inicial en el que no existen arcos entre las variables.

4. Asignar los dos arcos de mayor peso al árbol anterior.

5. Examinar el siguiente arco de mayor peso, y añadirla al árbol a no ser que forme

un ciclo, en cuyo caso se descarta y se examina el siguiente arco con mayor

peso.

6. Repetir 5 hasta seleccionar n −1 arcos.

7. Transformar el árbol no dirigido resultante en uno dirigido, escogiendo una

variable como raíz, para a continuación direccionar el resto de arcos.

8. Construir un modelo TAN añadiendo un nodo etiquetado como C y

posteriormente un arco desde C a cada variable predoctora iX .

Page 54: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

54

Page 55: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

55

3. Descripción del problema

En este capítulo se presenta el problema que mediante esta tesis se pretende

resolver. Primero se describen generalidades respecto a los ambientes de minería de

datos actualmente existentes (Sección 3.1), para luego pasar a describir el problema a

resolver (Sección 3.2).

3.1. Generalidades Existen numerosos mecanismos utilizados en forma exitosa y repetida tanto para

predecir una población de individuos, clasificar a esos individuos o para extraer reglas

inducidas inherentes a una población. Las redes neuronales son un ejemplo de sistemas

inteligentes artificiales que, dependiendo de su arquitectura, se adaptan muy bien a la

predicción o la clasificación de elementos de un dominio; los árboles de decisión tales

como ID3 [Quinlan, 1986] o C4.5 [Quinlan, 1993], por otro lado, son mecanismos que

se utilizan mucho en la extracción de reglas.

3.2. El problema a resolver

El problema actual es que no existe un ambiente que integre y complemente las

funciones de clasificación de instancias, inducción o selección de reglas de decisión y

ponderación de estas reglas, para lograr una profunda y completa investigación de las

características de las poblaciones que se desean estudiar. Esta falencia hace que cada

vez que se quiera, por ejemplo, extraer las reglas de producción que dan como

consecuencia la clasificación de una población, se necesite primero clasificar a los

individuos de una población en un ambiente de clasificación, para luego ingresar a estos

individuos clasificados en un ambiente diferente, capaz de inducir y extraer las reglas.

Aquí se propone desarrollar una herramienta capaz de integrar las tres funciones.

En la Figura 15 se muestra un posible ambiente de la falencia mencionada. Allí

se observan que son necesarios tres ambientes distintos para poder extraer las reglas

inducidas de clasificación, los cuales se detallan a continuación:

Page 56: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

56

1) Ambiente de Clasificación: Recibe como entrada los datos a clasificar. Su

función es la de clasificar a esos datos. La salida da como resultado los datos

clasificados, en formato A.

2) Ambiente de Transformación de Datos: Recibe como entrada datos clasificados

en un formato A. Su función será la de transformar esos datos que están en

formato A al formato B, para que sean entendidos por el ambiente 3.

3) Ambiente de Selección de Reglas: Recibe como entrada los datos clasificados

en formato B. Su función es la de inducir y seleccionar las reglas que dieron

origen a la clasificación. Su salida son el conjunto de reglas inducidas en

formato B.

Figura 15. Tres posibles ambientes para inducir reglas de clasificación.

Page 57: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

57

Se realizó un análisis de diferentes ambientes utilizados en minería de datos y se

pudo concluir lo siguiente:

• No existe un escenario capaz de integrar y complementar en su

funcionamiento las funciones de:

o Clasificación de instancias

o Selección/inducción de reglas

o Ponderación de reglas

• No es posible utilizar en un mismo ambiente a cada una de estas funciones

como complemento una de la otra.

Page 58: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

58

Page 59: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

59

4. Solución propuesta En este capítulo se presentan los aspectos relativos de la solución propuesta.

Primero se describen las características y el flujo de procesos que conformarán el

ambiente integrado propuesto como solución (Sección 4.1). Luego se da una

introducción al estándar XML (Sección 4.2), utilizado para la representación de los

datos de entrada que serán analizados por el ambiente. Por último se describen y

especifican las características que deben cumplir (dentro del estándar XML) los datos de

entrada que serán analizados (Sección 4.3).

4.1. El ambiente integrado Lo que se plantea con este trabajo es desarrollar un ambiente integrado que

provea las siguientes funciones:

• clasificar a una población.

• inducir las reglas que determinan que un determinado individuo pertenezca a

cierta clase

• determinar la probabilidad de ocurrencia de una regla (ponderar).

Además esas capacidades, el ambiente va a tener que ser capaz de integrar y

complementar a cada una de ellas, logrando que cada una de esas funciones sea el

complemento de la otra. De esta manera, el ambiente va a permitir realizar lo siguiente:

• clasificar a una población,

• una vez clasificada la población, extraer o inducir las reglas que dieron

origen a dicha clasificación,

• finalmente, una vez inducidas las reglas de producción, ponderar dichas

reglas para obtener la probabilidad de ocurrencia de cada una de las reglas.

Para lograr implementar cada uno de estos funciones, se van a utilizar redes

neuronales denominadas mapas autoorganizados [Kohonen, 1982] para la clasificación,

Page 60: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

60

mediante árboles de decisión como lo son los ID3 [Quinlan, 1986] se buscará inducir

las reglas de clasificación, y se van a utilizar mecanismos probabilísticos, como lo son

las redes Bayesianas, para determinar la probabilidad de ocurrencia de una regla.

Para lograr la integración de estas funciones, en la Figura 16 se muestra el flujo

de información que va a existir dentro del ambiente. En dicha figura se observan los

procesos que conforman este flujo.

Figura 16. Flujo de procesos dentro del ambiente.

Page 61: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

61

A continuación se detalla cada proceso, y se define en cada uno de ellos cuales

son las entradas al proceso, cuales son las salidas, y el procedimiento o función a

realizar por el proceso.

PROCESO PROCEDIMIENTO 0. Ingresar población

El usuario se limita a determinar cual va a ser el archivo que representa a la población que se va a procesar. Una vez que el usuario selecciona el archivo, el ambiente automáticamente intenta buscar dentro del mismo directorio donde se encuentra este archivo población, el archivo esquema que representa el modelado de esta población. Para ello busca un archivo con el mismo nombre que el de la población, pero con extensión xsd en lugar de xml. Si no encuentra al archivo esquema, entonces produce un error informando de la no existencia de este archivo. Si el ambiente encuentra el archivo xsd, entonces se procesan cada uno de los dos archivos, guardándose en distintas instancias de objetos los datos característicos de cada uno de estos archivos. A cada una de estas instancias llamaremos Población y Modelo respectivamente.

1. Validar población

En esta etapa se realiza la validación del dominio o población que ingresó al ambiente. Para ello lo primero que se hace es verificar que cada uno de los individuos de la población defina los atributos especificados en el Modelo, y que los tipos de datos de estos atributos sean válidos de acuerdo a lo que especifica este Modelo. Una vez que se comprueba que lo anterior es correcto, se recorre uno a uno los individuos del objeto Población, y dentro de cada individuo se evalúa que cada uno de los atributos que lo caracterizan tenga un valor valido, de acuerdo a lo que se especifica en Modelo. En caso de encontrase alguna inconsistencia en los datos de la población, el sistema informará mediante un mensaje el motivo por el cual no se pudo realizar la validación.

2. Seleccionar atributos a considerar.

El usuario selecciona, del total de atributos que caracterizan a la población, un subconjunto de estos atributos con los cuales desea que se realice el análisis de la población en estudio. Estos atributos son los que se considerarán de ahora en más en todo el proceso, y determinarán a lo que llamaremos Población valida’. Básicamente esta Población valida’ estará compuesta de los mismos individuos que la Población válida, solamente que estos individuos serán determinados por un subconjunto de atributos, y no necesariamente por el total. Supongamos que los atributos Edad, Peso y Altura son los atributos que caracterizan a la población y el usuario elige como atributos a considerar sólo Edad y Altura. De esta manera, lo que llamamos Población valida’ serán individuos determinados solamente por estos dos atributos.

Page 62: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

62

PROCESO PROCEDIMIENTO 3. Seleccionar algoritmo

Este es uno de los procesos donde la decisión del usuario es fundamental para la continuación del flujo y procesos del ambiente. Aquí el usuario decide que algoritmo va a utilizar para continuar con el estudio de la población. Los posibles algoritmos a elegir son los siguientes: Ponderación de reglas, Inducir reglas o Clasificar población.

3.1. Ponderación de reglas

Al elegir este algoritmo, el usuario está determinando que el único proceso que necesita realizarle a la población es la ponderación de reglas de decisión que dieron origen a la clasificación de la población. Obviamente al elegir este algoritmo, se presupone que la población en estudio es una población clasificada. Previo a la generación de la red Bayesiana va a ser necesario que el ambiente genere el árbol de decisión, para poder determinar cuales son las reglas a inducir. Este punto es transparente al usuario, pero necesario para poder determinar las reglas.

3.1.1. Seleccionar atributo clase

En este proceso el usuario deberá seleccionar del subconjunto de atributos que caracterizan a la población valida’ cual de ellos es el atributo clase. A partir de esta elección, el sistema deberá generar una red Bayesiana de clasificación, cuyo atributo clase u objetivo es precisamente el atributo seleccionado por el usuario.

3.2. Inducir reglas

Al elegir este algoritmo, la lectura que debemos hacer es que la población que ha ingresado al ambiente es una población ya clasificada, por lo que la necesidad del usuario recae en lograr información sobre aspectos que no tienen que ver con una clusterización de la población, sino con la de lograr determinar las reglas de decisión que dieron por origen la clasificación de esos individuos

3.2.1. Seleccionar atributo clase

Como la población que se ha ingresado al ambiente es ya una población clasificada, hay que definirle al ambiente cual de todos los atributos a considerar de la población es el que determina a que clase pertenece cada individuo. Esto lo determina el usuario.

3.3. Clasificar la población

Al elegir este algoritmo, lo que está planteando el usuario es una necesidad de clusterizar primero a la población, entendiéndose con esto que la población no tiene determinado ningún atributo que describa a que clase pertenece cada individuo. Esto significa que será el ambiente el encargado de realizar esta tarea, y lo hará mediante un algoritmo que no necesita de ninguna supervisión, por lo que el ambiente asume la total responsabilidad de la tarea de clusterizar a la población.

3.3.1. Agregar atributo clase

Como la necesidad del usuario es de clusterizar a la población, en este proceso es el sistema el que agrega un nuevo atributo, denominado CLASE, al conjunto ya existente de atributos característicos de la población. El valor que tome este nuevo

Page 63: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

63

PROCESO PROCEDIMIENTO atributo es el que determinará a que clase pertenecerá cada uno de los individuos, una vez realizada la clasificación.

3.3.2. Clasificar población

En este proceso se clusteriza a la población, determinándose el valor que tomará, para cada uno de los individuos, el atributo CLASE. La cantidad de clases en la que el ambiente intentará clasificar a los individuos es un valor que el propio usuario del ambiente determinará. La forma con la que se implementa este proceso de clusterización es mediante la utilización redes neuronales denominadas de aprendizaje competitivo y cooperativo. Con este tipo de aprendizaje se pretende que cuando se presente a la red cierta información de entrada, solo una de las neuronas de salida de la red se active o alcance su valor de respuesta máximo. Es por eso que las neuronas compiten para activarse, quedando finalmente una como neurona ganadora, mientras que el resto quedan anuladas. Los individuos con características similares son clasificados formando parte de la misma categoría y por lo tanto deben activar la misma neurona de salida.

4. Generar árbol de decisión

Las instancias del dominio o población con las clases a las que pertenecen son presentadas al ambiente, quien como consecuencia de realizar la tarea de inducción, generará un árbol de decisión.

5. Seleccionar Reporte

El usuario simplemente elige que tipo de reporte quiere obtener del ambiente. Puede optar por el Reporte de Reglas, donde el ambiente solamente presentará las reglas que dieron origen a la clasificación, o puede elegir el Reporte de Reglas Ponderadas, donde el ambiente además de presentar las reglas, también determinará la probabilidad de ocurrencia para cada una de esas reglas.

5.1. Reporte de Reglas

5.1.1. Generar Reglas El árbol de decisión es recorrido desde la raíz hasta cada una de las hojas, y se generarán las reglas de decisión interpretando o mapeando cada bifurcación del árbol con su respectivo atributo y valor que la bifurcación tome. Las reglas generadas serán del estilo

SI Atributo1 = valor1 Y

Atributo2 = valor2 Y

… Y

AtributoN = valorN

ENTONCES

Clase = clase1.

5.2. Reporte de Reglas Ponderadas

5.2.1. Generar red Bayesiana clasificadora

Las instancias del dominio o población clasificadas son presentadas al ambiente. El ambiente utiliza estas instancias como datos de entrenamiento para generar, mediante un algoritmo de entrenamiento supervisado, de una red Bayesiana

Page 64: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

64

PROCESO PROCEDIMIENTO clasificadora. El tipo de algoritmo a utilizar para el entrenamiento de la red bayesiana es un dato que lo determina el usuario del ambiente.

5.2.2. Generar reglas ponderadas

El árbol de decisión generado a partir de las instancias clasificadas es recorrido por el procesador de reglas, el cual generará las reglas de decisión interpretando o mapeando cada bifurcación del árbol con su respectivo atributo y valor que éste tome en la bifurcación. Para cada una de estas reglas, utilizará a la red bayesiana para poder determinar la probabilidad de ocurrencia de esta regla. Las reglas generadas serán del estilo

SI Atributo1 = valor1 Y

Atributo2 = valor2 Y

… Y

AtributoN = valorN

ENTONCES

Clase = clase1.

PROBABILIDAD

% de probabilidad de ocurrencia de la

regla inducida

4.2. Representación de los datos de entrada

Uno de los factores importantes a considerar en el diseño del ambiente, además

de las funciones de clasificación de instancias, selección y ponderación de reglas, es la

forma en que se van a representar los datos que van a servir tanto de entrada al ambiente

(dominio o población) como así también las salidas del mismo (reglas inducidas).

Hay que tener en cuenta que el ambiente va a tener que ser capas de recibir

cualquier tipo de estructura de datos de la cual se quieran inducir reglas, lo que hace

suponer distintos tipos de datos (enteros, decimales, fechas, caracteres, etc.), distintos

nombres identificatorios de estos datos (nombre, edad, precio, etc.) y considerar

también distintos rangos y/o valores máximos y mínimos para estos datos. Ninguno de

estos aspectos es trivial al diseño del ambiente, por lo que es necesaria una correcta

definición de cómo se van a representar los datos.

Una de las formas de abordar este desafío es el de definir, mediante alguna

estructura fija, los datos propiamente dichos, y en un esquema aparte la representación y

el significado que esos datos tienen, o sea los metadatos. Esta podría ser una solución

Page 65: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

65

que se podría implementar. El ambiente recibiría por cada archivo donde se informa la

población, un archivo aparte donde se indica cual es la estructura de dichos datos.

Sin embargo, existe un estándar que hoy en día puede resolver este

inconveniente, y es el estándar XML o Extensible Markup Lenguaje.

4.2.1. El Standard XML

Introducción a XML Actualmente, las compañías confrontan muchos inconvenientes en lo que refiere

a la organización de datos debido a que deben cumplir con los siguientes

requerimientos:

• Los datos deben ser leídos tanto por las computadoras como por los seres

humanos.

• Tanto el contenido como la estructura de los datos debe ser definidos.

• La estructura de los datos debe estar separada de la presentación de los datos.

• La estructura de los datos debe ser abierta y extensible.

XML cumple con todos estos requerimientos asistiendo a las compañías y demás

en la organización de los datos.

¿Qué es XML? XML es un formato universal que esta siendo utilizado para describir e

intercambiar documentos estructurados y datos. XML es un subconjunto del llamado

Standard Generalizad Markup Lenguaje (SGML), y esta definido por el consorcio de la

World Wide Web (W3C).

XML define la estructura de los datos en una manera abierta y auto descripta.

Esto permite que los datos puedan ser trasferidos entre diferentes aplicaciones y que los

Page 66: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

66

mismo sean correctamente procesados por el receptor. XML describe como los datos se

estructuran, no como deberían los mismo ser mostrados al usuario o usados, a diferencia

de lo que hace HTML. Los documentos XML contienen tags que asignan significado al

contenido del documento. Estos tags permiten a los programadores además encontrar

datos que necesitan en el documento XML.

Sin embargo la pregunta no es tan simple de responder. En un primer nivel,

XML es un protocolo para contener y manejar información. En otro nivel, es una

familia de tecnologías que pueden hacer cualquier cosa desde formatear documentos

hasta filtrar datos. Y en un nivel superior, es una filosofía para el manejo de

información que busca el máximo uso y flexibilidad para los datos refiriéndose a su

pureza y su más estructurada forma. Un entendimiento completo de XML toca estos tres

niveles.

Analizaremos el primer nivel de XML: como contiene y maneja información con

markup. Este esquema empaquetador de datos universal es la creación necesaria para el

próximo nivel, donde XML se convierte realmente en interesante. Comprendiendo los

fundamentos del markup, documentos y presentación nos ayudará a comprender lo más

beneficioso de XML y sus accesorios.

Markup Nótese que a pesar de su nombre, XML no es por si solo un lenguaje de markup,

sino una serie de reglas para construir lenguajes de markup. Pero ¿qué es exactamente

un leguaje de markup? Markup es información agregada a un documento que aumenta

su significado en cierto modo, identificando las partes y como se relacionan con cada

una. Por ejemplo, cuando se esta leyendo un periódico, uno puede identificar los

artículos separadamente ya sea por su posición o su espaciado entre cada uno de ellos, y

también por las diferentes fuentes y tamaños de las letras tanto para encabezados como

para el articulo en si mismo. El markup trabaja de una forma similar, excepto que en

lugar de espaciado utiliza símbolos. Un leguaje markup es un conjunto de símbolos que

Page 67: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

67

pueden ser puestos en el texto de un documento para demarcar y etiquetar las diferentes

partes del documento.

Markup es importante en los documentos electrónicos, a los cuales nos

referiremos a partir de ahora al referirnos a documentos, debido a que éstos son

procesados por programas de computadoras. Si un documento no está etiquetado,

entonces el programa no va a saber como tratar el pedazo de texto para distinguirlo de

cualquier otra parte. Esencialmente, el programa va a tener que trabajar con el

documento entero como si fuera una unidad, limitando las cosas interesantes que se

podrían hacer con el contexto. Paralelamente, un periódico sin espaciado entre los

artículos y con un solo estilo de fuente seria como una gran bola de texto in entendible.

Probablemente uno podría darse cuenta donde empieza y donde termina cada articulo,

pero debería tomarse mucho trabajo para hacerlo. Un programa de computadora ni

siquiera podría hacer eso.

Por suerte, el markup es una solución a estos problemas. Aquí hay un ejemplo de

cómo el markup XML se ve cuando es embebido en un pedazo de texto:

<mensaje>

<exclamación>Hola, mundo!</exclamación>

<párrafo>XML es<enfatizar>divertido</enfatizar>y

<enfatizar>fácil</enfatizar>de usar.

<graficfileref=”smiley_face.pict”/>

</párrafo>

</mensaje>

Este retazo incluye los siguientes símbolos markup, o tags:

• Los tags <mensaje> y </mensaje> marcan el principio y el final del

fragmento XML.

• Los tags <exclamación> y </exclamación> enmarcan el texto Hola,

mundo!.

• Los tags <párrafo> y </párrafo> enmarcan una región grande de

texto y tags.

Page 68: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

68

• Algunos tags <enfatizar> y </enfatizar> etiquetan palabras

individuales.

De este ejemplo se pueden sacar algunos patrones. Algunos tags funcionan como

sujetalibros, marcando el principio y final de regiones, mientras que otros marcan un

lugar en el texto. Hasta el más simple documento aquí contiene mucha información:

Limites

Un pedazo de texto comienza en un lugar y termina en otro. Los tags

<mensaje> y </mensaje> definen el comienzo y final de una

colección de texto y markup, el cual es etiquetado como mensaje.

Roles

Que es una región de texto en el documento? Aquí, los tags <párrafo>

y <párrafo> etiquetan texto como un párrafo, y no como un titulo o

lista u algún otro tipo.

Posiciones

Un pedazo de texto viene después de algunas cosas y antes que otras. El

párrafo aparece después del texto etiquetado como exclamación, por lo

que probablemente será impreso en esa forma.

Contención

El texto divertido esta dentro del elemento <enfatizar>, el cual está

dentro de un <párrafo>, que está dentro de un <mensaje>. Este

anidamiento de elementos es tenido en cuanta por el software de

procesamiento de XML, el cual tratará cada contexto de diferente

manera, dependiendo de donde aparezca cada uno. Por ejemplo, un titulo

puede llegar a tener un tamaño de fuente diferente dependiendo si es el

titulo del periódico o el titulo de un artículo.

Relaciones

Page 69: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

69

Un pedazo de texto puede ser linkeado a algún recurso en cualquier otro

lugar. Por ejemplo, el tag <graficfileref=”smiley_face.pict”/>

crea una relación (link) entre el fragmento de XML y un nombre de

archivo smiley_face.pict. La intención es la de importar información

grafica del archivo y mostrarlo en este fragmento.

En XML, tanto los markups como los contextos contribuyen al valor de la

información en el documento. Los markup permiten a programas de computadora

determinar las funciones y limites de cada parte de un documento. El contexto (texto

regular) es lo importante para el lector, pero necesita ser presentado en una forma que

tenga sentido. XML ayuda a la computador formatear el documento para hacerlo mas

comprensible a los humanos.

Documentos

Cuando uno escucha la palabra documento, probablemente piense en una

secuencia de palabras divididas dentro de párrafos, secciones y capítulos, componiendo

un registro legible por el ser humano, como ser un libro, articulo o ensayo. Pero en

XML un documento es mucho más general que esto. Un documento en XML es la

unidad básica de información, compuesta de elementos y markups en un paquete

ordenado. Puede contener texto como en un artículo, pero no es que deba contener

necesariamente texto. Podría consistir en una base de números, o alguna estructura

abstracta de representación de una ecuación molecular. De hecho, una de las más

promisorias aplicaciones de XML es utilizarlo como un formato de intercambio de datos

entre aplicaciones. Tengamos en cuenta que un documento XML contiene una

definición mucho mas amplia de lo que uno puede pensar como un documento

tradicional.

Un documento esta compuesto de partes llamadas elementos. Los elementos se

anidan dentro de cada uno como pequeñas cajas dentro de cajas más grandes,

etiquetando el contenido del documento. En el nivel de mas arriba, un solo elemento

llamado el elemento documento o elemento raíz contiene otros elementos.

Page 70: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

70

Un documento no es lo mismo que un archivo. Un archivo es un paquete de

datos tratado como una unidad contigua por el sistema operativo de la máquina. Esto es

la llamada estructura física. Un documento XML puede existir en uno o más archivos,

alguno de los cuales puede hasta estar en otro sistema diferente. XML utiliza markups

especiales para integrar el contenido de diferentes archivos para poder crear una única

unidad, la cual llamamos estructura lógica. Manteniendo un documento independiente

de las restricciones de un archivo, XML facilita un enlazado de documentos los cuales

pueden residir en cualquier lado.

Modelado de documentos

XML no es un lenguaje en si mismo, sino una especificación para crear

lenguajes e markup. Hay dos formas de crear lenguajes basados en XML. La primera

forma es llamada XML libre (freedom XML). En este modo existen solo unas mínimas

reglas acerca de cómo formar y utilizar tags, pero cualquier nombre de tag puede ser

utilizado y pueden aparecer en cualquier orden. Cuando un documento cumple con estas

mínimas reglas de XML, se dice que el documento esta bien formado (well-formed), y

califica como un buen XML.

Un documento XML es considerado bien formado si:

• Contienen exactamente un elemento raíz.

• Todos los elementos hijos están anidados correctamente dentro de otros.

• Los tags de comienzo y fin de un elemento en particular existe dentro del

cuerpo del mismo elemento padre.

Ejemplo de un XML bien formado:

<Temp> 22</Temp>

Page 71: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

71

Sin embargo, freedom XML es limitado en su uso. Debido a que no hay

restricciones en los tags que se pueden utilizar, tampoco hay entonces una

especificación que sirva como instrucciones para utilizar el lenguaje. Seguramente se

podrá tratar de ser consistente sobre el uso de los tags, pero siempre va a estar la

posibilidad de algún error que el programa que lea el XML podrá procesar en forma

incorrecta. En términos de control calificado, muchas más cosas se pueden hacer con

XML.

Afortunadamente, XML provee una forma de describir el lenguaje en términos

no inciertos. Esto se suele llamar modelado de documentos, debido a que involucra el

creado de una especificación que traza las reglas de cómo un documento puede verse.

En efecto, es un modelo contra el cual se puede comparar un documento en particular

(denominado documento instancia) para ver si realmente representa el lenguaje, por lo

que el documento se puede testear para estar seguro que machea la especificación. Esto

se llama test de validación. Si un documento es valido, se sabe que el mismo esta libre

de errores tales como tags, órdenes incorrectos o datos inexistentes.

Un documento XML es valido si su vocabulario conforma el conjunto de

requerimientos que están listados en el esquema.

La forma más común de modelar documentos es con un documento de

definición de tipo (DTD, Document Type Definition). Este es un conjunto de reglas o

declaraciones que especifican que tags pueden ser utilizados y lo que cada una puede

contener. Al principio del documento existe una referencia al DTD, declarando que se

quiere validar el documento contra este validador.

Un nuevo estándar para el modelado de documentos conocido como esquema

XML también esta emergiendo. Los esquemas utilizan fragmentos XML llamados

templates para demostrar como un documento debe verse. El beneficio en la utilización

de esquemas es que los esquemas son una forma de XML, por lo que se pueden editar

con las mismas herramientas que se utilizan para editar documentos XML. También

Page 72: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

72

introducen un chequeo más poderoso de tipos de datos, haciendo posible encontrar

errores tanto en el contenido de cada tag como en el uso propio de los tags.

Hay tres tipos de esquemas que pueden ser utilizados para validar documentos

instancia XML:

• Document Type Definition (DTD):

• XML Data Reduced (XDR Schema)

• XML Schema Definition language (XSD):

Un lenguaje de markup creado utilizando reglas XML se llama aplicación XML

o también document type.

Un esquema XML es un documento XML que define la estructura y el tipo de

restricciones para un determinado vocabulario en documentos XML. Las estructuras

utilizadas para crear esquemas XML están definidas por la W3C en la siguiente URL

http://www.w3.org/TR/xmlschema-1/. El listado de los tipos de datos básicos está

también definido por la W3C en http://www.w3.org/TR/xmlschema-2/. Los esquemas

XML pueden utilizar estos tipos de datos para restringir el contenido de los elementos y

los atributos.

4.3. Características necesarias de los datos de entrada

El ambiente prevé que el documento XML que ingresa al mismo tenga una

determinada estructura, mas allá de la propia impuesta por el estándar XML.

Existen unas restricciones en cuanto a no permitir que dentro del documento

XML existan los llamados atributos nested o atributos anidados. Esta restricción hace

que el archivo deba tener una estructura como la que se especifica a continuación, para

ser considerado válido:

<raíz>

Page 73: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

73

<individuo>

<atributo1>Valor Atributo1</atrinuto1>

<atributo2>Valor Atributo2</atrinuto2>

….

<atributoN>Valor Atributo1</atrinutoN>

</individuo>

</raíz>

O sea, del tag que representa a la raíz colgará directamente el tag que

representará a cada individuo (en el ejemplo representado por el tag <individuo>) y

colgando de éste tag se deberán definir cada uno de los atributos, en forma atómica o no

anidada. Cuando se dice en forma atómica, se quiere decir que no deberá existir, por

ejemplo, un atributo que tenga la siguiente estructura:

<Persona>

<Nombre>Juan</Nombre>

<Apellido>Perez</Apellido>

<Domicilio>

<Calle>Belgrano</Calle>

<Numero>10</Numero>

<Piso>4</Piso>

<Depto>E</Depto>

<Localidad>Buenos Aires</Localidad>

</Domicilio>

</Persona>

En este ejemplo la estructura del atributo <Domicilio> no es atómica, ya que el

atributo está compuesto por otros atributos, en forma anidada.

Un ejemplo de un documento XML correcto en función de los límites impuestos

para el ambiente podría ser el siguiente:

<books>

<book>

<calidad>Malo</calidad>

<tema>Ciencias</tema>

<tamano>Chico</tamano>

</book>

Page 74: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

74

<book>

<calidad>Regular</calidad>

<tema>Matemáticas</tema>

<tamano>Chico</tamano>

</book>

</books>

La solución propuesta ha sido aceptada en VII Jornadas Iberoamericanas de

Ingeniería del Software e Ingeniería del Conocimiento 2008 [Schulz, G., Britos, P.,

García-Martínez, R., 2008].

Page 75: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

75

5. Diseño del ambiente. La metodología UML

En este capitulo se desarrolla la metodología UML aplicada al diseño y

desarrollo del ambiente a implementar. Primero se da una reseña del lenguaje utilizado,

ambientes de desarrollo y demás características del software utilizado para la

construcción y compilado del software (Sección 5.1). Luego se presentan los casos de

uso (Sección 5.2). A continuación se presenta la transición de estados en el ambiente

(Sección 5.3), y luego se presenta el diseño de las distintas pantallas desarrolladas

(Sección 5.4). Por último se describen las pruebas que se realizaron sobre los casos de

uso, para evaluar la efectividad de la solución propuesta (Sección 5.5).

5.1. Generalidades

El software desarrollado está implementado en el lenguaje Java. Contiene una

interfaz grafica GUI, desarrollada con componentes Swing que Java provee.

Se utilizó para el desarrollo la versión Java Runtime Enviroment 1.6, y el IDE

Eclipse.

5.2. Casos de Uso Para detallar los casos de uso, dividimos a los mismos en 5 grupos:

� Población

� Clasificador

� Selector

� Ponderador

� El menú

A continuación se detallan los casos de uso para cada uno de estos grupos.

Page 76: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

76

5.2.1. Población

POBLACION Descripción de Casos de Uso

Nombre: Cargar Población

Actores: Usuario

Función: Permitir cargar una población

Descripción: El Usuario puede cargar al ambiente una población nueva. El sistema debe validar que el archivo seleccionado esté disponible, y tenga una estructura XML válida. También el sistema deberá validar la existencia del archivo esquema con igual nombre del archivo población. Se setea el estado del ambiente a POBLACION_CARGADA.

Nombre Validar Población

Actores Usuario

Función Permite validar una población

Descripción El usuario hace clic en el botón de Validar Población. El sistema deberá validar primero que el estado del ambiente sea como mínimo POBLACION_CARGADA. Luego validará que cada uno de los atributos de cada uno de los individuos dentro del archivo XML de la población cargada tenga valores válidos, según lo especificado en el archivo esquema XSD.

Nombre Seleccionar Atributos a Considerar

Actores Usuario

Page 77: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

77

Función Permite seleccionar atributos

Descripción El usuario puede seleccionar aquellos atributos que desea que se tengan en cuenta para el estudio de la población, del total de atributos que caracterizan a la población.

Nombre Seleccionar Modo de Estudio

Actores Usuario

Función Permite seleccionar el modo en el cual se va a realizar el estudio de la población.

Descripción El usuario selecciona el modo de estudio de la población, pudiendo elegir entre las siguientes alternativas: Clasificar, Seleccionar Reglas o Ponderar Reglas.

Page 78: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

78

5.2.2. Clasificador

CLASIFICADOR Descripción de Casos de Uso

Nombre: Clasificar Población

Actores: Usuario

Función: Permitir clasificar una población

Descripción: El Usuario hace clic en el botón Clasificar Población. Primero se valida que el estado actual del ambiente sea como mínimo POBLACION_VALIDADA, de no ser así devuelve un error. Una vez validado el estado del ambiente, éste, de acuerdo a las características del clasificador, realiza la tarea de clasificar a la población en las N clases especificadas. Una vez clasificada la población, se setea el estado del ambiente a POBLACION_CLASIFICADA.

Nombre Parar Clasificación

Actores Usuario

Función Permite cancelar una clasificación en curso

Page 79: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

79

Descripción El usuario hace clic en el botón de Cancelar Clasificación. El sistema deberá validar que actualmente se encuentre en proceso clasificatorio. Si es así, el sistema mata el proceso de clasificación, volviendo el estado del ambiente al que corresponda. Si no se está en proceso de clasificación o el ambiente ya clasificó a la población, no se lleva a cabo ninguna acción

Nombre Setear valores por Default

Actores Usuario

Función Permite setear valores por default a las características del clasificador.

Descripción El usuario hace clic en el botón Valores por Default. El ambiente completa las características del clasificador con valores por default ya establecidos.

Nombre Generar Archivo de Clasificación Actores Usuario

Función Permite generar un archivo de la clasificación realizada. Descripción El usuario hace clic en el botón Generar archivo de la

clasificación, habiendo seleccionado previamente la opción Todos los atributos. Se valida que el estado del ambiente sea como mínimo POBLACION_CLASIFICADA. De no ser así, se muestra un error. Se muestra la pantalla para que el usuario elija el archivo que desea generar. Una vez que se selecciona el nombre del archivo, se genera el archivo con la clasificación realizada, con todos los atributos de la población.

Nombre Definir Filtro

Actores Usuario

Función Permite filtrar un subconjunto de atributos para que el archivo de la clasificación se genere con los atributos seleccionados, y no con todos los atributos.

Descripción El usuario hace clic en el botón Generar archivo de la clasificación, habiendo seleccionado previamente la opción Definir Filtro. Se valida que el estado del ambiente sea como mínimo POBLACION_CLASIFICADA. De no ser así, se muestra un error. Se muestra una pantalla para que el usuario elija, del total de atributos que caracterizan a la población, aquellos que quiere incorporar al archivo de la clasificación.

Page 80: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

80

5.2.3. Selector

SELECTOR Descripción de Casos de Uso

Nombre: Seleccionar Atributo CLASE de Selector

Actores: Usuario

Función: Permitir seleccionar el atributo CLASE del selector

Descripción: El Usuario selecciona, del total de atributos a considerar en el estudio de la población, que atributo desea que sea el atributo CLASE. Una vez seleccionada, el estado de la población pasa a ser ATRIBUTO_CLASE_SETEADO.

Nombre Generar Árbol de Decisión

Actores Usuario

Función Permite generar el árbol de decisión

Descripción El usuario hace click en el botón Generar Árbol de decisión. Se debe validar que el estado del ambiente sea al menos

Page 81: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

81

SELECTOR_SETEADO. De no ser así se muestra un mensaje de error. El ambiente genera, de acuerdo a las características del selector, el árbol de decisión. Una vez generado el árbol de decisión, el estado del ambiente pasa a ser REGLAS_SELECCIONADAS.

Nombre Cancelar árbol de decisión

Actores Usuario

Función Permite cancelar un árbol de decisión en curso

Descripción El usuario hace clic en el botón de Cancelar árbol de Decisión. El sistema deberá validar que actualmente se encuentre en proceso de generación del árbol. Si es así, el sistema mata el proceso que está generando el árbol de decisión, volviendo el estado del ambiente al que corresponda. Si no se está en proceso de generación del árbol de decisión o el ambiente ya generó el árbol, no se lleva a cabo ninguna acción

Nombre Generar archivo de Reglas

Actores Usuario

Función Permite generar un archivo XML de las reglas generadas

Descripción El usuario hace clic en el botón Generar archivo Reglas, habiendo seleccionado previamente la opción Todas las Reglas. Se valida que el estado del ambiente sea como mínimo REGLAS_SELECCIONADAS. De no ser así, se muestra un error. Se muestra la pantalla para que el usuario elija el archivo que desea generar. Una vez que se selecciona el nombre del archivo, se genera el archivo con las reglas de decisión generadas por el árbol de decisión, en formato XML.

Nombre Definir Filtro Actores Usuario Función Permite filtrar un subconjunto de características de las reglas

de decisión para que el archivo que detalla las reglas sea un subconjunto del total. Se permite filtrar por Clase a la cual determina la regla, o por confianza de la regla.

Descripción El usuario hace clic en el botón Generar archivo Reglas, habiendo seleccionado previamente la opción Definir Filtro. Se valida que el estado del ambiente sea como mínimo REGLAS_SELECCIONADAS. De no ser así, se muestra un error. Se muestra una pantalla para que el usuario elija los filtros por Clase y Confianza de la regla.

Page 82: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

82

5.2.4. Ponderador

PONDERADOR Descripción de Casos de Uso Nombre: Seleccionar Atributo CLASE de Ponderador Actores: Usuario

Función: Permitir seleccionar el atributo CLASE del ponderador Descripción: El Usuario selecciona, del total de atributos a considerar

en el estudio de la población, que atributo desea que sea el atributo CLASE.

Page 83: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

83

Nombre Ponderar Reglas

Actores Usuario

Función Permite generar la red bayesiana

Descripción El usuario hace click en el botón Generar red bayesiana. Se debe validar que el estado del ambiente sea al menos RED_BAYESIANA_SETEADA. De no ser así se muestra un mensaje de error. El ambiente genera, de acuerdo a las características, la red bayesiana. Una vez generada la red, el estado del ambiente pasa a ser RED_BAYESIANA_GENERADA.

Nombre Generar Archivo de Reglas Ponderadas

Actores Usuario

Función Permite seleccionar atributos

Descripción El usuario pude seleccionar aquellos atributos que desea que se tengan en cuenta para el estudio de la población, del total de atributos que caracterizan a la población.

Nombre Definir Filtro

Actores Usuario

Función Permite seleccionar el modo en el cual se va a realizar el estudio de la población.

Descripción El usuario selecciona el modo de estudio de la población, pudiendo elegir entre las siguientes alternativas: Clasificar, Seleccionar Reglas, Ponderar Reglas.

Nombre Mover Nodos

Actores Usuario

Función Setea el estado de la red Bayesiana en Mover, lo que permite mover los diferentes nodos de la red con el Mouse.

Descripción El usuario hace click en el botón Mover. Luego, con el Mouse, va a poder mover los nodos de la red Bayesiana.

Nombre Consultar Nodos

Actores Usuario

Función Setea el estado de la red Bayesiana en Consultar, lo que permite al hacer click en algún nodo, que se muestre las probabilidades de ocurrencia de cada uno de los posibles estados del nodo.

Descripción El usuario hace click en el botón Consultar. Luego, al hacer click con el Mouse en algún nodo, se va a mostrar una pantalla con las probabilidades para cada uno de los

Page 84: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

84

estados del nodo.

Nombre Observar Nodos

Actores Usuario

Función Setea el estado de la red Bayesiana en Observar, lo que permite al hacer click en algún nodo, que se de la posibilidad de setear al nodo en alguno de sus estados, como probabilidad a priori.

Descripción El usuario hace click en el botón Observar. Luego, al hacer click con el Mouse en algún nodo, se va a mostrar una pantalla para que se seleccione alguno de los estados posibles que el nodo puede tomar.

Nombre Guardar Observación

Actores Usuario

Función Permite guardar en un archivo de texto la observación del estado actual de la red Bayesiana.

Descripción El usuario hace click en el botón Guardar observación. Se genera un archivo de texto con las distintas probabilidades a posteriori de aquellos nodos que no estén en estado Observado.

Page 85: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

85

5.2.5. El menú

EL MENÙ Descripción de Casos de Uso Nombre: Consultar estado del ambiente Actores: Usuario

Función: Permitir consultar el estado actual del ambiente Descripción: El Usuario hace click en el menú Ambiente->Estado del

ambiente. Se muestra un mensaje con la descripción del estado actual del ambiente.

Nombre Salir

Page 86: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

86

Actores Usuario

Función Permite salir del ambiente.

Descripción El Usuario hace click en el menú Ambiente->Salir. Se muestra un mensaje preguntando al usuario si esta seguro que quiere salir. Si el usuario acepta el mensaje, se cierra el ambiente.

Nombre Convertir Comma Separated a XML

Actores Usuario

Función Permite convertir un archivo delimitado por coma, en un archivo XML.

Descripción El Usuario hace click en el menú Población->Convertir a XML->Comma Separated a XML. Se muestra una pantalla para que el usuario elija en archivo que quiere convertir. Se genera un archivo XML con la conversión del archivo origen seleccionado.

Nombre Convertir Excel a XML

Actores Usuario Función Permite convertir un archivo Excel, en un archivo XML.

Descripción El Usuario hace click en el menú Población->Convertir a XML->Excel a XML. Se muestra una pantalla para que el usuario elija en archivo que quiere convertir. Se genera un archivo XML con la conversión del archivo origen seleccionado.

Nombre Convertir Tab Delimiter a XML

Actores Usuario

Función Permite convertir un archivo delimitado por Tabs, en un archivo XML.

Descripción El Usuario hace click en el menú Población->Convertir a XML->Tab delimiter a XML. Se muestra una pantalla para que el usuario elija en archivo que quiere convertir. Se genera un archivo XML con la conversión del archivo origen seleccionado.

Nombre Cargar Población

Actores Usuario

Función Permite cargar una población

Descripción El Usuario puede cargar al ambiente una población nueva. El sistema debe validar que el archivo seleccionado esté disponible, y tenga una estructura XML válida. También el sistema deberá validar la existencia del archivo esquema con igual nombre del archivo población.

Page 87: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

87

Se setea el estado del ambiente a POBLACION_CARGADA.

Nombre Validar Población

Actores Usuario

Función Permite validar una población cargada.

Descripción El usuario hace clic en el botón de Validar Población. El sistema deberá validar primero que el estado del ambiente sea como mínimo POBLACIÓN_CARGADA. Luego validará que cada uno de los atributos de cada uno de los individuos dentro del archivo XML de la población cargada tenga valores válidos, según lo especificado en el archivo esquema XSD.

Nombre Guardar Grafico

Actores Usuario

Función Permite guardar en un archivo jpg el gráfico de la pantalla en la que se encuentra actualmente.

Descripción El usuario hace click en el menú Grafico->Guardar Grafico. Se muestra una pantalla para que el usuario seleccione el nombre del archivo. Se guarda el grafico de la pantalla en la que se encuentra actualmente, en el archivo que el usuario seleccionó.

Nombre Acerca de

Actores Usuario

Función Muestra la pantalla de Acerca de…

Descripción El usuario hace click en el menú Ayuda->Acerca de. Se muestra la pantalla de Acerca de.

Nombre Temas de ayuda

Actores Usuario

Función Muestra la ayuda del sistema.

Descripción El usuario hace click en el menú Ayuda->Temas de ayuda. Se muestra la pantalla de Ayuda del sistema.

Page 88: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

88

5.3. Transición de estados en el ambiente

El diagrama de la Figura 17 muestra la secuencia de los estados del ambiente

durante su ciclo de vida, en respuesta a las acciones o eventos recibido por parte del

usuario del mismo. Los diferentes estados y el orden por los que puede pasar el

ambiente son los siguientes:

1. ESTADO_INICIAL

2. POBLACION_CARGADA

3. POBLACION_VALIDADA

4. CLASIFICADOR_SETEADO

5. POBLACION_CLASIFICADA

6. ATRIBUTO_CLASE_SETEADO

7. SELECTOR_SETEADO

8. REGLAS_SELECCIONADAS

9. RED_BAYESIANA_SETEADA

10. RED_BAYESIANA_GENERADA

Estos posibles estados siguen una secuencia, de manera que para llegar al estado

POBLACION_VALIDADA, es necesario que el ambiente haya pasado previamente por

el estado POBLACION_CARGADA. Los estados hacen referencia a una condición que

se cumple durante la vida del ambiente y determinan además que acciones pueden y no

pueden realizarse. Por ejemplo, no va a ser posible clasificar a la población si el estado

del ambiente es menor a CLASIFICADOR_SETEADO.

El ambiente permanece en un estado por un tiempo finito, hasta que se cumpla la

condición o evento que produce el cambio. Existen eventos específicos que hacen que el

ambiente cambie de estado. Todo esto se muestra gráficamente en la Figura 17.

Page 89: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

89

Figura 17. Transacción de estados.

Page 90: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

90

5.4. La interfase grafica

A continuación se detalla la forma en la que se diseñó la interfase grafica que

tendrá el Ambiente Integrado.

El Ambiente Integrado está conformado por una pantalla principal, que a su vez

se divide en 4 pantallas.

Estas 4 pantallas son las siguientes:

- Población

- Clasificador

- Selector

- Ponderador

5.4.1. Población

Aquí es donde el usuario realiza las siguientes acciones:

1. Ingresar el archivo que se va a analizar

2. Validar el archivo que se va a analizar.

3. Seleccionar qué atributos van a ser tenidos en cuenta para el análisis

4. Decidir que análisis se le va a realizar a la población. Las opciones son:

- Clasificar.

- Seleccionar Reglas.

- Ponderar Reglas.

Además en esta pantalla se pueden observar las características principales de la

población que se va a analizar, como ser:

- Nombre del archivo de la población

Page 91: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

91

- Nombre del archivo esquema

- Cantidad de atributos que caracteriza a la población

- Cantidad de individuos que existen en la población

- Nombre, Tipo de dato y Valores permitidos de cada uno de los atributos

que caracteriza a la población

En la Figura 18 se muestra esta pantalla.

5.4.2. Clasificador

Aquí es donde el usuario realiza las siguientes acciones:

1. Setear las características funcionales del clasificador, que son:

Figura 18. Pantalla Poblacion

Page 92: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

92

- Cantidad de clases en las que se quiere clasificar a la

población.

- Número de iteraciones a realizar por el clasificador.

- Ratio inicial de clasificación

- Ratio final de clasificación

- Sigma inicial de clasificación

- Sigma final de clasificación

2. Clasificar a la población.

3. Posibilidad de generar el archivo de la población clasificada.

Además en esta pantalla se pueden observar las características principales de la

población clasificada, como ser:

- Nombre del archivo de la población

- Cantidad de atributos utilizados en la clasificación

- Cantidad de individuos de la población clasificados

- Tiempo incurrido en la clasificación

- Grafico de barras con la cantidad de individuos que se clasificaron en

cada una de las clases

En la Figura 19 se muestra esta pantalla.

5.4.3. Selector

Aquí es donde el usuario realiza las siguientes acciones:

1. Setea las características funcionales del selector de reglas, que son:

a. Función de splitting para generar el árbol de decisión

b. Algoritmo de poda a utilizar para podar el árbol de decisión

generado

Page 93: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

93

2. Selecciona que atributo va a ser considerado Atributo CLASE. Esta

posibilidad se da solo cuando en la pantalla Población se selecciono

la opción de Seleccionar Reglas.

3. Genera el árbol de decisión.

4. Posibilidad de generar un archivo con las reglas de decisión

generadas. Este archivo puede contener todas las reglas, o se puede

especificar que se filtren un subconjunto de estas reglas.

Además en esta pantalla se puede observar las características graficas del árbol

de decisión generado.

En la Figura 20 se muestra esta pantalla.

Figura 19. Pantalla Clasificador

Page 94: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

94

5.4.4. Ponderador

Aquí es donde el usuario realiza las siguientes acciones:

1. Setea las características funcionales del ponderador de reglas, que

son:

a. Algoritmo a utilizar

b. Medida de calidad para el algoritmo que se seleccione

Figura 20. Pantalla Selector

Page 95: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

95

2. Selecciona que atributo va a ser considerado Atributo CLASE. Esta

posibilidad se da solo cuando en la pantalla Población se selecciono

la opción de Ponderar Reglas.

3. Genera la red bayesiana.

4. Posibilidad de generar un archivo con las reglas de decisión

ponderadas generadas. Este archivo puede contener todas las reglas, o

se puede especificar que se filtren un subconjunto de estas reglas.

Además en esta pantalla se puede observar las características graficas de la red

bayesiana generada.

En la Figura 21 se muestra esta pantalla.

Figura 21. Pantalla Ponderador

Page 96: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

96

5.5. Casos de Prueba

A continuación se detalla, para cada uno de los casos de uso detallados en la

sección 5.2, los casos de prueba a realizar.

Para las pruebas, se utilizaron bases de datos obtenidas del UCI Machine

Learning Repository del Departamento de Información y Ciencias de la Computación

de la Universidad de California.

A continuación se resumen las características de las bases de datos utilizadas.

Base Atributos Instancias Descripción de la base de datos

Flag 30 194

Una base de datos que contiene 30 atributos, de diferentes tipos (numéricos, booleanos, rangos) que definen banderas de diferentes países.

Zoo 18 101

Una base de datos simple que contiene 16 atributos booleanos y 1 atributo numérico que definen diferentes animales. El atributo “tipo” define el atributo clase.

Para cada uno de los casos de prueba, se detalla lo siguiente:

- Nombre del caso de uso

- Precondiciones necesarias para el testeo del caso de uso

- Secuencia principal de acciones realizadas por los actores del caso de

uso

- Alternativas a la secuencia principal de acciones

- Posibles errores que el sistema deberá mostrar

- Poscondiciones que deberán ocurrir una vez realizada la secuencia

- Notas sobre los resultados obtenidos de la prueba

5.5.1. Población

POBLACION Casos de Uso bajo Prueba

Nombre: Cargar Población

Page 97: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

97

Precondiciones No hay

Secuencia principal 1. El usuario oprime el botón Abrir archivo Población. 2. El sistema muestra la pantalla para elegir el archivo. 3. El usuario selecciona un archivo. 4. El sistema carga el archivo en el ambiente.

Alternativas 3.1. El usuario puede optar por cancelar la pantalla en lugar de elegir un archivo.

Errores 3.2. El sistema no encuentra el archivo seleccionado. 3.3. El sistema encuentra un error al momento de abrir el

archivo. 3.4. El sistema no encuentra el archivo esquema al

momento de abrir el archivo población.

Poscondiciones El estado del ambiente cambia a POBLACION_CARGADA. Notas

Nombre Validar Población Precondiciones No hay

Secuencia principal 1. El usuario oprime el botón Validar Población. 2. El sistema valida la población, de acuerdo a la

estructura y características del archivo esquema. 3. El sistema muestra un mensaje de que la población es

válida.

Alternativas

Errores Si el estado del ambiente es menor que POBLACION_CARGADA, el sistema deberá mostrar un error informando de eso. La población no es valida, por lo que el sistema muestra un mensaje informando el motivo por el cual la población no es valida.

Poscondiciones El estado del ambiente cambia a POBLACION_VALIDADA. Se llena la grilla de Seleccionar Atributos. Se completa el árbol de Estructura de la Población.

Notas

Nombre Seleccionar atributos a considerar

Precondiciones 1. El estado del ambiente debe ser al menos POBLACION_VALIDADA.

2. Los atributos que se listan son los que caracterizan a la población.

3. Todos los atributos deben estar tildados como seleccionados.

Secuencia principal 1. El usuario selecciona, haciendo click en los checkboxs, que atributos desea.

Alternativas 1.1. El usuario aprieta el botón Todos.

Page 98: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

98

1.2. El usuario aprieta el botón Ninguno. 1.3. El usuario aprieta el botón Invertir.

Errores No hay.

Poscondiciones Todos los atributos se deben tildar como seleccionados Ningún atributo se debe tildar como seleccionado Se deben quedar tildados los atributos que no están tildados al momento de apretar el botón.

Notas

Nombre Seleccionar modo de estudio

Precondiciones El estado del ambiente debe ser al menos POBLACION_VALIDADA.

Secuencia principal 1. El usuario selecciona el modo de estudio de la población, haciendo click en la opción que desee.

Alternativas El usuario selecciona el modo Clasificador. El usuario selecciona el modo Selector. El usuario selecciona el modo Ponderador.

Errores Poscondiciones 1.1. Se habilitan los tabs Clasificador, Selector y

Ponderador. 1.2. Se habilitan los tabs Selector y Ponderador 1.3. Se habilita el tab Ponderador.

Notas

5.5.2. Clasificador

CLASIFICADOR Casos de Uso bajo Prueba

Nombre: Clasificar Población

Precondiciones Se debe haber elegido el modo de estudio de la población de Clasificador

Secuencia principal 1. El usuario hace clic en el botón Clasificar 2. El sistema comienza a clasificar a la población, de

acuerdo a las características del clasificador.

Alternativas No hay

Errores 1.1.Si no se completaron todas las características del clasificador, entonces el sistema muestra un mensaje de error, informando de esto.

Page 99: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

99

1.2.Si no se seleccionó ningún atributo a considerar de los que caracterizan a la población, el sistema deberá mostrar un error.

Poscondiciones El estado del ambiente cambia a POBLACION_CLASIFICADA Se muestra un grafico de barras con la clasificación realizada.

Notas

Nombre Parar clasificación

Precondiciones La clasificación debe estar en proceso

Secuencia principal 1. El usuario hace click en el botón Cancelar Clasificación.

2. El sistema cancela la clasificación en curso.

Alternativas No hay

Errores

Poscondiciones

Notas

Nombre Setear valores por Default

Precondiciones Se debe haber elegido el modo de estudio de la población de Clasificador

Secuencia principal 1. El usuario hace click en el botón Valores por Default 2. El sistema completa los valores de las características

del clasificador.

Alternativas No hay

Errores No hay

Poscondiciones Los valores de las características del clasificador se completan con valores.

Notas

Nombre Generar Archivo de Clasificación

Precondiciones Se debe haber elegido el modo de estudio de la población de Clasificador

Secuencia principal 1. El usuario hace click en el botón Generar Archivo de la clasificación

2. Si se tildo la opción Todos los atributos, entonces el sistema muestra una pantalla para seleccionar el archivo a generar.

3. El usuario selecciona el nombre del archivo a generar. 4. El sistema guarda el archivo.

Alternativas Si se tildó la opción Definir filtro, entonces se pasa al caso de uso Definir Filtro. El usuario puede optar por cancelar la pantalla en

Page 100: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

100

lugar de elegir un archivo. Si el archivo elegido ya existe, el sistema mostrará un mensaje con esa advertencia, dándole la opción de guardar o cancelar.

Errores 1.1. Si el estado del ambiente es menor que POBLACION_CLASIFICADA, entonces el sistema deberá mostrar un mensaje informando de esto.

Poscondiciones Se genera el archivo de la clasificación con todos los atributos.

Notas

Nombre Definir Filtro

Precondiciones Se tildó la opción de Definir Filtro.

Secuencia principal 1. El usuario hace click en el botón Generar archivo de la Clasificación.

2. El sistema muestra una pantalla con todos los atributos que caracterizan a la población.

3. El usuario selecciona aquellos atributos que desee y aprieta el botón Aceptar.

4. El sistema guarda estos atributos para el momento de generar el archivo.

5. El sistema muestra una pantalla para seleccionar el archivo a generar.

6. El usuario selecciona el nombre del archivo a generar. 7. El sistema guarda el archivo, generándolo solo con los

atributos seleccionados. Alternativas 3.1. El usuario puede optar por cancelar la pantalla en

lugar de elegir los atributos. El usuario puede optar por cancelar la pantalla en lugar de elegir un archivo. 5.2. Si el archivo elegido ya existe, el sistema mostrará un mensaje con esa advertencia, dándole la opción de guardar o cancelar.

Errores 1.1. Si el estado del ambiente es menor que POBLACION_CLASIFICADA, entonces el sistema deberá mostrar un mensaje informando de esto.

Poscondiciones Se genera el archivo de la clasificación con los atributos seleccionados.

Notas

5.5.3. Selector

SELECTOR

Page 101: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

101

Casos de Uso bajo Prueba

Nombre: Seleccionar Atributo CLASE de Selector

Precondiciones Se debe haber elegido el modo de estudio de la población de Selector.

Secuencia principal 1. El sistema deberá mostrar en la grilla, todos los atributos que en la pantalla Población se hayan seleccionado. 2. El usuario selecciona uno de los atributos a considerar para que sea el atributo CLASE para el árbol de decisión a generarse.

Alternativas 2.1. El usuario podrá elegir solo un atributo.

Errores

Poscondiciones 2.1. El sistema guarda el atributo seleccionado como atributo CLASE tanto del selector como del ponderador.

Notas

Nombre Generar árbol de decisión

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el botón Generar Árbol de decisión.

2. El sistema comienza a generar el árbol de decisión. 3. El sistema informa de que el árbol de decisión ya fue

generado.

Alternativas No hay

Errores 1.1. Si el estado del ambiente es menor a Población Clasificada, el sistema debería mostrar un error informando de esto.

1.2. Si no se setearon las características del selector, el sistema deberá mostrar un mensaje informando de esto.

1.3. Si se eligió como modo de estudio de la población como Selector, y no se seleccionó el atributo CLASE, el sistema deberá mostrar un error informando de esto.

Poscondiciones El estado del ambiente cambia a REGLAS_SELECCIONADAS.

Notas

Nombre Generar archivo de Reglas

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el botón Generar Archivo de Reglas

2. Si se tildo la opción Todas las reglas, entonces el sistema muestra una pantalla para seleccionar el

Page 102: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

102

archivo a generar. 3. El usuario selecciona el nombre del archivo a generar. 4. El sistema guarda el archivo.

Alternativas Si se tildó la opción Definir filtro, entonces se pasa al caso de uso Definir Filtro. El usuario puede optar por cancelar la pantalla en lugar de elegir un archivo. Si el archivo elegido ya existe, el sistema mostrará un mensaje con esa advertencia, dándole la opción de guardar o cancelar.

Errores 1.1. Si el estado del ambiente es menor que REGLAS_SELECCIONADAS, entonces el sistema deberá mostrar un mensaje informando de esto.

Poscondiciones Se genera el archivo con todas las reglas de producción generadas por el árbol de decisión.

Notas

Nombre Definir filtro

Precondiciones Se tildó la opción de Definir Filtro.

Secuencia principal 1. El usuario hace click en el botón Generar archivo de la Clasificación.

2. El sistema muestra una pantalla con dos filtros para seleccionar. Por un lado la clase a la que determina la reglas y por otro lado el porcentaje de confianza de la reglas.

3. El usuario setea los filtros como desee y aprieta el botón Aceptar.

4. El sistema guarda estos filtros para el momento de generar el archivo.

8. El sistema muestra una pantalla para seleccionar el archivo a generar.

9. El usuario selecciona el nombre del archivo a generar. 10. El sistema guarda el archivo, generándolo de acuerdo a

los filtros seleccionados.

Alternativas 3.1. El usuario puede optar por cancelar la pantalla en lugar de setear los filtros.

El usuario puede optar por cancelar la pantalla en lugar de elegir un archivo.

5.2. Si el archivo elegido ya existe, el sistema mostrará un mensaje con esa advertencia, dándole la opción de guardar o cancelar.

Errores 1.1. Si el estado del ambiente es menor que REGLAS_SELECCIONADAS, entonces el sistema deberá mostrar un mensaje informando de esto.

Poscondiciones Se genera el archivo de las reglas generadas por el árbol de decisión de acuerdo a los filtros seleccionados.

Page 103: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

103

Notas

5.5.4. Ponderador

PONDERADOR Casos de Uso bajo Prueba

Nombre: Seleccionar Atributo CLASE de Ponderador

Precondiciones Se debe haber elegido el modo de estudio de la población de Ponderador.

Secuencia principal 1. El sistema deberá mostrar en la grilla, todos los atributos que en la pantalla Población se hayan seleccionado. 2. El usuario selecciona uno de los atributos a considerar para que sea el atributo CLASE para la red Bayesiana a generarse.

Alternativas 2.1. El usuario podrá elegir solo un atributo.

Errores

Poscondiciones 2.1. El sistema guarda el atributo seleccionado como atributo CLASE tanto del ponderador.

Notas

Nombre Ponderar Reglas

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el botón Generar red Bayesiana.

2. El sistema comienza a generar la red Bayesiana. 3. El sistema muestra la red Bayesiana generada.

Alternativas No hay

Errores 1.1.Si el estado del ambiente es menor a REGLAS_SELECCIONADAS, el sistema debería mostrar un error informando de esto.

1.2.Si no se setearon las características del ponderador, el sistema deberá mostrar un mensaje informando de esto.

1.3.Si se eligió como modo de estudio de la población como Ponderador, y no se seleccionó el atributo CLASE, el sistema deberá mostrar un error informando de esto.

Poscondiciones El estado del ambiente cambia a RED_BAYESIANA_GENERADA.

Notas

Page 104: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

104

Nombre Generar archivo de Reglas Ponderadas

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el botón Generar Archivo de Reglas

2. Si se tildo la opción Todas las reglas, entonces el sistema muestra una pantalla para seleccionar el archivo a generar.

3. El usuario selecciona el nombre del archivo a generar. 4. El sistema guarda el archivo.

Alternativas Si se tildó la opción Definir Porcentaje, entonces se pasa al caso de uso Definir Porcentaje. El usuario puede optar por cancelar la pantalla en lugar de elegir un archivo. Si el archivo elegido ya existe, el sistema mostrará un mensaje con esa advertencia, dándole la opción de guardar o cancelar.

Errores 1.1. Si el estado del ambiente es menor que RED_BAYESIANA_GENERADA, entonces el sistema deberá mostrar un mensaje informando de esto.

Poscondiciones Se genera el archivo con todas las reglas de producción generadas por el árbol de decisión ponderadas.

Notas

Nombre Definir porcentaje

Precondiciones Se tildó la opción de Definir Filtro.

Secuencia principal 1. El usuario hace click en el botón Generar Archivo de Reglas.

2. El sistema muestra una pantalla con el filtro de probabilidad de ocurrencia de la regla.

3. El usuario setea el filtro como desee y aprieta el botón Aceptar.

4. El sistema guarda ese filtro para el momento de generar el archivo.

11. El sistema muestra una pantalla para seleccionar el archivo a generar.

12. El usuario selecciona el nombre del archivo a generar. 13. El sistema guarda el archivo, generándolo de acuerdo

al filtro seleccionado.

Alternativas 3.1. El usuario puede optar por cancelar la pantalla en lugar de setear los filtros. 5.1.El usuario puede optar por cancelar la pantalla en lugar

de elegir un archivo. 5.2. Si el archivo elegido ya existe, el sistema mostrará un mensaje con esa advertencia, dándole la opción de guardar o cancelar.

Page 105: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

105

Errores 1.1. Si el estado del ambiente es menor que RED_BAYESIANA_GENERADA, entonces el sistema deberá mostrar un mensaje informando de esto.

Poscondiciones Se genera el archivo de las reglas ponderadas generadas por el árbol de decisión de acuerdo al filtro seleccionado.

Notas

5.5.5. El menú

EL MENU Casos de Uso bajo Prueba

Nombre: Consultar Estado del ambiente

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el menú Ambiente->Estado del ambiente.

Alternativas No hay

Errores No hay

Poscondiciones 1.1. El sistema muestra un mensaje con el estado actual del ambiente.

Notas

Nombre Salir

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el menú Ambiente->Salir. 2. Se muestra un mensaje, para que el usuario

seleccione si quiere o no salir del sistema. 3. El usuario acepta salir del sistema

Alternativas 3.1. El usuario no acepta salir del ambiente.

Errores No hay

Poscondiciones No hay

Notas

Nombre Convertir Comma Separated a XML

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el menú Población->Convertir a XML->Comma Separated a XML

2. El sistema muestra una pantalla para que el usuario seleccione el archivo a convertir.

Page 106: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

106

3. El usuario selecciona el nombre del archivo a convertir.

4. El sistema convierte el archivo, generando un archivo con el mismo nombre que el archivo origen, añadiéndole en el nombre .xml.

Alternativas El usuario puede optar por cancelar la pantalla en lugar de elegir un archivo.

Errores 3.1 Si el archivo origen no existe, se muestra un mensaje de error.

Poscondiciones Se genera el archivo con todos los registros del archivo origen, pero en formato XML.

Notas

Nombre Convertir Excel a XML

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el menú Población->Convertir a XML->Comma Separated a XML

2. El sistema muestra una pantalla para que el usuario seleccione el archivo a convertir.

3. El usuario selecciona el nombre del archivo a convertir.

4. El sistema convierte el archivo, generando un archivo con el mismo nombre que el archivo origen, añadiéndole en el nombre .xml.

Alternativas 3.1. El usuario puede optar por cancelar la pantalla en lugar de elegir un archivo.

Errores Si el archivo origen no existe, se muestra un mensaje de error. Si el archivo no es un archivo de formato Excel, se muestra un error. Si el archivo no contiene una hoja con el nombre Población, se muestra un error

Poscondiciones Se genera el archivo con todos los registros del archivo origen, pero en formato XML.

Notas

Nombre Convertir Tab Delimiter a XML

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el menú Población->Convertir a XML->Tab delimiter a XML

2. El sistema muestra una pantalla para que el usuario seleccione el archivo a convertir.

3. El usuario selecciona el nombre del archivo a convertir.

4. El sistema convierte el archivo, generando un archivo con el mismo nombre que el archivo origen,

Page 107: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

107

añadiéndole en el nombre .xml.

Alternativas 3.1. El usuario puede optar por cancelar la pantalla en lugar de elegir un archivo.

Errores 3.1 Si el archivo origen no existe, se muestra un mensaje de error.

Poscondiciones Se genera el archivo con todos los registros del archivo origen, pero en formato XML.

Notas

Nombre: Cargar Población

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el menú Población-> Cargar Población.

2. El sistema muestra la pantalla para elegir el archivo.

3. El usuario selecciona un archivo. 4. El sistema carga el archivo en el ambiente.

Alternativas El usuario puede optar por cancelar la pantalla en lugar de elegir un archivo.

Errores 3.1 El sistema no encuentra el archivo seleccionado. 3.2 El sistema encuentra un error al momento de abrir

el archivo. 3.3 El sistema no encuentra el archivo esquema al

momento de abrir el archivo población.

Poscondiciones El estado del ambiente cambia a POBLACION_CARGADA.

Notas

Nombre Validar Población

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el menú Población-> Validar Población.

2. El sistema valida la población, de acuerdo a la estructura y características del archivo esquema.

3. El sistema muestra un mensaje de que la población es válida.

Alternativas

Errores 1.1 Si el estado del ambiente es menor que POBLACION_CARGADA, el sistema deberá mostrar un error informando de eso.

1.2 La población no es valida, por lo que el sistema muestra un mensaje informando el motivo por el cual la población no es valida.

Poscondiciones El estado del ambiente cambia a POBLACION_VALIDADA.

Page 108: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

108

Se llena la grilla de Seleccionar Atributos. Se completa el árbol de Estructura de la Población.

Notas

Nombre Guardar gráfico

Precondiciones La pantalla en la que se encuentra el ambiente deberá ser: Clasificador, Selector o Ponderador.

Secuencia principal 1. El usuario hace click en el menú Grafico-> Guardar grafico.

2. El sistema muestra la pantalla para elegir el archivo.

3. El usuario selecciona un archivo. Alternativas 3.1 El usuario puede optar por cancelar la pantalla en

lugar de elegir un archivo.

Errores

Poscondiciones El sistema genera un archivo jpg con el grafico de la pantalla en la que se encuentre.

Notas Nombre Acerca de…

Precondiciones No hay

Secuencia principal 1. El usuario hace click en el menú Ayuda->Acerca de…

Alternativas No hay

Errores No hay Poscondiciones Se muestra la pantalla de Acerca de… Notas Nombre Temas de ayuda Precondiciones No hay

Secuencia principal 1. El usuario hace click en el menú Ayuda->Temas de ayuda.

Alternativas No hay

Errores No hay

Poscondiciones Se muestra la pantalla de ayuda de la aplicación

Notas

Page 109: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

109

6. Comparación experimental con otros ambientes

En este capítulo se realiza una comparación entre los resultados experimentales

obtenidos con el ambiente desarrollado y otros ambientes existentes, respecto a cada

una de las funciones que el ambiente desarrollado provee. Se comienza dando una

introducción de las bases de datos utilizados para realizar la comparación (Sección 6.1).

Luego se detalla la comparación realizada respecto a la clasificación de instancias

(Sección 6.2), continuando por un detalle de la comparación en la inducción de reglas

(Sección 6.3) y finalizando con la descripción de la comparación entre los métodos de

ponderación de reglas (Sección 6.4).

6.1. Introducción

Se realizó una experimentación con dos bases de datos como casos de estudio, y

se compararon los resultados para cada una de las funciones que provee nuestro

ambiente integrado con otros ambientes.

Para realizar esta experimentación, se utilizaron bases de datos obtenidas del

UCI Machine Learning Repository del Departamento de Información y Ciencias de la

Computación de la Universidad de California.

A continuación, en la tabla 2, se resumen las características de la base de datos

utilizadas.

Base de datos

Atributos Instancias Descripción de la base de datos

Iris 5 150

Una base de datos que contiene 4 atributos numéricos y un atributo nominal que determina la clase de la instancia.

Zoo 18 101

Una base de datos simple que contiene 16 atributos booleanos y uno numérico que definen diferentes animales. El atributo “tipo” define el atributo clase.

Tabla 2. Bases de datos utilizadas

Page 110: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

110

6.2. Clasificador de instancias

Se realizó la clasificación de instancias de cada una de las poblaciones descriptas

en la Tabla 2. Se utilizó el ambiente Weka [Weka] para realizar la comparación.

A continuación se detalla un resumen de las experimentaciones realizadas y de

los resultados obtenidos.

Iris

Se realizó una clasificación de esta base de datos, pidiéndole a ambos ambientes

que agrupasen los datos en 3 diferentes grupos.

En la figura 22 se observa la comparación de la clasificación.

Clasificación - A.I. vs Weka

0

10

20

30

40

50

60

70

clase

cantidad A.I.

Weka

A.I. 38 62 50

Weka 36 64 50

1 2 3

Instancias clasificadas en forma exacta por ambos ambientes = 97.20%

Figura 22. Clasificación de instancias. Iris

Page 111: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

111

Zoo

Se realizó una clasificación de esta base de datos, pidiéndole a ambos ambientes

que agrupasen los datos en 6 diferentes grupos.

En la figura 23 se observa la comparación de la clasificación.

Clasificación - A.I. vs Weka

0

5

10

15

20

25

30

35

40

clase

cantidad AI

Weka

AI 21 13 16 10 6 35

Weka 21 21 7 11 4 37

1 2 3 4 5 6

Instancias clasificadas en forma exacta por ambos ambientes = 76.3%

6.3. Inducción de reglas Se utilizó el ambiente Sipina [Sipina] para realizar la comparación con nuestro

ambiente integrado, respecto a la inducción de reglas.

Iris

Para esta comparación, lo primero que se hizo fue obtener el total de reglas para

cada uno de los dos ambientes. Con esta base de datos, nuestro ambiente integrado

generó más reglas y reglas más especificas que el ambiente Sipina [Sipina]. Se

Figura 23. Clasificación de instancias. Zoo

Page 112: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

112

utilizaron entonces las reglas obtenidas por nuestro ambiente integrado para obtener la

confianza de cada de ellas en ambos ambientes.

En la figura 24 se observa un gráfico donde se muestra la relación entre la

confianza de cada una de esas reglas en ambos ambientes.

Debido a que las reglas obtenidas en nuestro ambiente integrado eran reglas más

especificas, se observa un mejor comportamiento de este ambiente en cuanto al

porcentaje de confianza de cada regla inducida.

Inducción - Confianza de ReglasA.I. vs Sipina

0

20

40

60

80

100

120

1 2 3 4 5 6 7 8

regla

% confian

za

A.I.

Sipina

Las reglas obtenidas con cada uno de los ambientes se detallan a continuación.

Ambiente Integrado Sipina

REGLA CONF. REGLA CONF.

SI petallength <=3.95 Y sepalwidth <=3.2 Y petalwidth =1.3 Y sepallength <=6.1 ENTONCES clase = Iris-setosa

64% SI petallength <=3.95 Y sepalwidth <=3.2

ENTONCES clase = Iris-setosa

62%

SI petallength <=3.95 Y sepalwidth <=3.2 Y petalwidth >1.3 ENTONCES clase = Iris-versicolor

100% SI petallength <=3.95 Y sepalwidth <=3.2

ENTONCES clase = Iris-versicolor

38%

SI petallength <=3.95 Y sepalwidth >3.2 ENTONCES clase = Iris-setosa

100% SI petallength <=3.95 Y sepalwidth >3.2 ENTONCES clase = Iris-setosa

100%

SI petallength >3.95 Y petalwidth <=1.3

100% SI petallength >3.95 Y petalwidth <=1.3

100%

Figura 24. Inducción de reglas. Gráfico comparativo - Iris

Page 113: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

113

ENTONCES clase = Iris-versicolor ENTONCES clase = Iris-versicolor SI petallength >3.95

Y petalwidth >1.3 Y sepallength <=6.1 Y sepalwidth <=3.2 ENTONCES clase = Iris-virginica

58% SI petallength >3.95 Y petalwidth >1.3 Y sepallength <=6.1 ENTONCES clase = Iris-virginica

55%

SI petallength >3.95 Y petalwidth >1.3 Y sepallength <=6.1 Y sepalwidth >3.2 ENTONCES clase = Iris-versicolor

100% SI petallength >3.95 Y petalwidth >1.3 Y sepallength <=6.1 ENTONCES clase = Iris-virsicolor

45%

SI petallength >3.95 Y petalwidth >1.3 Y sepallength >6.1 Y sepalwidth <=3.2 ENTONCES clase = Iris-virginica

74% SI petallength >3.95 Y petalwidth >1.3 Y sepallength >6.1 ENTONCES clase = Iris-virginica

76%

SI petallength >3.95 Y petalwidth >1.3 Y sepallength >6.1 Y sepalwidth >3.2 ENTONCES clase = Iris-virginica

89% SI petallength >3.95 Y petalwidth >1.3 Y sepallength >6.1 ENTONCES clase = Iris-virginica

76%

Zoo

Se obtuvo el total de reglas para cada uno de los dos ambientes. Con esta base de

datos, nuestro ambiente integrado generó más reglas de inducción que el ambiente

Sipina [Sipina], y al igual que lo ocurrido con la base de datos Iris, las reglas generadas

por nuestro ambiente integrado fueron reglas más específicas. Se utilizaron las reglas

obtenidas por nuestro ambiente integrado para obtener la confianza de cada una de esas

reglas en ambos ambientes.

En la figura 25 se observa un gráfico donde se muestra la relación entre la

confianza de cada una de esas reglas en ambos ambientes.

Page 114: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

114

Inducción - Confianza de ReglasA.I. vs Sipina

0

20

40

60

80

100

120

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

reglas

% confian

zaA.I.

Sipina

Nuevamente se observa un mejor comportamiento de nuestro ambiente integrado

en cuanto al porcentaje de confianza de cada regla inducida.

Las reglas obtenidas con cada uno de los ambientes se detallan a continuación.

Ambiente Integrado Sipina

REGLA CONF. REGLA CONF.

SI leche = 0 Y aletas = 0 Y plumas = 0 Y vertebrado = 0 Y aereo = 0 Y depredador = 0 Y patas = 0 ENTONCES tipo = 7

100% SI leche = 0 Y plumas = 0 Y aletas = 0 Y vertebrado = 0 Y aereo = 0 ENTONCES tipo = 7

83%

SI leche = 0 Y aletas = 0 Y plumas = 0 Y vertebrado = 0 Y aereo = 0 Y depredador = 0 Y patas = 2 ENTONCES tipo = 7

100% SI leche = 0 Y plumas = 0 Y aletas = 0 Y vertebrado = 0 Y aereo = 0 ENTONCES tipo = 7

83%

SI leche = 0 Y aletas = 0 Y plumas = 0 Y vertebrado = 0 Y aereo = 0 Y depredador = 0 Y patas = 4 ENTONCES tipo = 7

100% SI leche = 0 Y plumas = 0 Y aletas = 0 Y vertebrado = 0 Y aereo = 0 ENTONCES tipo = 7

83%

SI leche = 0 Y aletas = 0

100% SI leche = 0 Y plumas = 0

83%

Figura 25. Inducción de reglas. Gráfico comparativo - Zoo

Page 115: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

115

Y plumas = 0 Y vertebrado = 0 Y aereo = 0 Y depredador = 0 Y patas = 5 ENTONCES tipo = 7

Y aletas = 0 Y vertebrado = 0 Y aereo = 0 ENTONCES tipo = 7

SI leche = 0 Y aletas = 0 Y plumas = 0 Y vertebrado = 0 Y aereo = 0 Y depredador = 0 Y patas = 6 ENTONCES tipo = 6

100% SI leche = 0 Y plumas = 0 Y aletas = 0 Y vertebrado = 0 Y aereo = 0 ENTONCES tipo = 6

17%

SI leche = 0 Y aletas = 0 Y plumas = 0 Y vertebrado = 0 Y aereo = 0 Y depredador = 0 Y patas = 8 ENTONCES tipo = 7

100% SI leche = 0 Y plumas = 0 Y aletas = 0 Y vertebrado = 0 Y aereo = 0 ENTONCES tipo = 7

83%

SI leche = 0 Y aletas = 0 Y plumas = 0 Y vertebrado = 0 Y aereo = 0 Y depredador = 1 ENTONCES tipo = 7

100% SI leche = 0 Y plumas = 0 Y aletas = 0 Y vertebrado = 0 Y aereo = 0 ENTONCES tipo = 7

83%

SI leche = 0 Y aletas = 0 Y plumas = 0 Y vertebrado = 0 Y aereo = 1 ENTONCES tipo = 6

100% SI leche = 0 Y plumas = 0 Y aletas = 0 Y vertebrado = 0 Y aereo = 1 ENTONCES tipo = 6

100%

SI leche = 0 Y aletas = 0 Y plumas = 0 Y vertebrado = 1 Y cola = 0 ENTONCES tipo = 5

100% SI leche = 0 Y plumas = 0 Y aletas = 0 Y vertebrado = 1 ENTONCES tipo = 5

44%

SI leche = 0 Y aletas = 0 Y plumas = 0 Y vertebrado = 1 Y cola = 1 Y acuatico = 0 ENTONCES tipo = 3

100% SI leche = 0 Y plumas = 0 Y aletas = 0 Y vertebrado = 1 ENTONCES tipo = 3

56%

SI leche = 0 Y aletas = 0 Y plumas = 0

100% SI leche = 0 Y plumas = 0 Y aletas = 0

56%

Page 116: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

116

Y vertebrado = 1 Y cola = 1 Y acuatico = 1 Y huevos = 0 ENTONCES tipo = 3

Y vertebrado = 1 ENTONCES tipo = 3

SI leche = 0 Y aletas = 0 Y plumas = 0 Y vertebrado = 1 Y cola = 1 Y acuatico = 1 Y huevos = 1 ENTONCES tipo = 5

100% SI leche = 0 Y plumas = 0 Y aletas = 0 Y vertebrado = 1 ENTONCES tipo = 3

44%

SI leche = 0 Y aletas = 0 Y plumas = 1 ENTONCES tipo = 2

100% SI leche = 0 Y plumas = 1 ENTONCES tipo = 1

100%

SI leche = 0 Y aletas = 1 ENTONCES tipo = 4

SI leche = 0 Y plumas = 0 Y aletas = 1 ENTONCES tipo = 4

100%

SI leche = 1 ENTONCES tipo = 1

100% SI leche = 1 ENTONCES tipo = 1

100%

6.4. Ponderación de reglas

Se utilizó el ambiente Elvira [Elvira] para realizar la comparación con nuestro

ambiente integrado.

Se tomaron todas las reglas generadas por el árbol de decisión para cada una de

las bases de datos en estudio, y se calculó el porcentaje de ocurrencia de cada una de

esas reglas en ambos ambientes de comparación.

A continuación se detalla en forma gráfica, en las figuras 26 y 27, la

comparación entre los resultados de la probabilidad de ocurrencia para cada una de las

reglas inducidas de ambos ambientes.

Page 117: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

117

Iris

Ponderación - A.I. vs Elvira

0

20

40

60

80

100

120

1 2 3 4 5 6 7 8 9

regla

% ocurrencia

A.I.

Elvira

Figura 26. Ponderación de Reglas. Gráfico comparativo - Iris

Zoo

Ponderación - A.I. vs Elvira

0

20

40

60

80

100

120

1 2 3 4 5 6 7 8 9 10 11 12 13 14

regla

% ocurrencia

A.I.

Elvira

Figura 27. Ponderación de Reglas. Gráfico comparativo - Zoo

Los resultados obtenidos para las dos bases de datos comparadas muestran que

el comportamiento de los dos ambientes es prácticamente el mismo, obteniéndose un

valor muy parecido para la probabilidad de ocurrencia de cada una de las reglas.

Page 118: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

118

Page 119: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

119

7. Conclusiones

En base a los resultados experimentales obtenidos y a las comparaciones

realizadas con otros ambientes de minería de datos, podemos concluir que el ambiente

integrado desarrollado mejora, en varios aspectos, a otros ambientes utilizados como

comparación. En la inducción de reglas, por ejemplo, se observa un mejor

comportamiento del ambiente en relación a Sipina [Sipina].

El aspecto más importante del ambiente integrado desarrollado es que presenta

en su funcionalidad la integración de las funciones de clasificación, inducción y

ponderación de reglas. Ninguno de los ambientes detallados en el capítulo 1 logra

integrar estas tres funciones. Es más, hasta el momento no existe siquiera un ambiente

que integre, junto con alguna otra función, la ponderación de reglas utilizando métodos

probabilísticos como lo son las redes bayesianas.

Estas características hacen que el ambiente provea una funcionalidad más

completa e integrada para el estudio de las características de una población de

individuos en comparación a los ambientes de minería de datos existentes, que, de

acuerdo a las necesidades del usuario, podrían ser:

• Clusterizar o agrupar una población en la cantidad de clusters que uno

decida, decidiendo también sobre cada uno de los parámetros utilizados por

el algoritmo de agrupamiento (ratio inicial y final de aprendizaje, sigma de

gauss, etc.)

• Clusterizar una población e inmediatamente obtener o inducir las reglas de

producción que dieron como origen a la clasificación

• Clusterizar una población y obtener la probabilidad de ocurrencia de cada

regla de producción inducida

Page 120: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

120

• Si se tiene una población ya clasificada, obtener o inducir las reglas de

producción que dan como origen a la clasificación

• Si se tiene una población ya clasificada, obtener la probabilidad de

ocurrencia de cada regla de producción

• Permite al usuario la elección de los atributos que se quieren considerar, y

sólo utilizar esos atributos en el estudio de las características de la población

• El ambiente permite la generación de varios archivo de salida, como ser:

o Generar el archivo de la clasificación realizada, con la posibilidad de

seleccionar que atributos mostrar en ese archivo

o Generar un archivo con las reglas inducidas, teniendo la posibilidad de

seleccionar reglas pertenecientes a clases específicas

o Generar un informe de aquellas reglas inducidas con una probabilidad de

ocurrencia mayor a cierto valor deseado

o Generar un informe de probabilidades condicionales, especificando

previamente las observaciones deseadas (probabilidades a priori) en la

red bayesiana

o Generar archivos con los gráficos de la clasificación, del árbol de

decisión, o de la red bayesiana generados, en formato JPG

• Utiliza un estándar altamente aceptado en el mercado, como lo es el Standard

XML, para la representación de la población. Este aspecto es muy

importante, ya que el ambiente se independiza de tener que lidiar o de tener

que definir cuestiones que el propio estándar ya resuelve.

Page 121: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

121

Bibliografía

[AC2] ISoft. AC2. Web: http://www.alice-soft.com/html/prod_ac2.htm

[AnswerTree] SPSS. AnswerTree. Web: http://www.spss.com/la/productos/answer-

tree/answer.htm

[Bazell D. y Aha D., 2001]. Bazell D. y Aha D. Ensembles of Classifiers for

Morphological Galaxy Classification, Astrophysical Journal, 548, 219-223.

[Bishop, 1995] Bishop C. Neural Networks for Pattern Recognition. Clarendon Press,

Oxford.

[Bouckaert, 1994]. Properties of Bayesian network learning algorithms. In R. L. de

Mantarás and Poole (Eds.), Proceedings of the Tenth Conference on Uncertainty in

Artificial Intelligence, 102-109. San Francisco, CA.

[Box, 1970] Box G.E., Jenkins G.M. Time Series Analisys. Holden-Day. San Francisco.

[Breiman L, 1984] Breiman L, Friedman J, Olshen R y Stone C. Classification and

regression trees. Belmon, CA: Wadsworth International Group.

[CART] Salford Systems. CART. Web: http://www.salford-systems.com/cart.php

[Chatfield, 1989] Chatfield C. The Analysis of Time Series – An Introduction. Chapman

and Hall. London. 4th Edition.

[Chow, C. y Lui, C., 1968]. Chow, C. y Liu. Approximating Discrete Probability

Distributions with Dependence Trees. IEEE Transactions on Information Theory, vol

14, 462- 467.

Page 122: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

122

[Clementine] SPSS. Clementine. Web: http://www.spss.com/clementine/

[Connor, 1992] Connor J., Atlas L.E., Martin D.R. Recurrent Networks and NARMA

Modeling in Moody J.E.

[Dorffner, 1996] Geog Dorffner. Neural Networks for Time Series Processing. Dept of

Medical Cybernetics and Artificial Intelligence. University of Vienna and Austrian

Research Institute for Artificial Intelligence

[Duda, R. O. y P. E. Hart., 1973]. Duda, R. O. y P. E. Hart. Pattern Classification and

Scene Analysis. New York: John Wiley & Sons.

[Elvira] Proyecto Elvira, Universidad de Granada. Web: http://www.ia.uned.es/~elvira/

[Friedman, N., Geiger, D. y Goldszmidt, M., 1997]. Friedman, N., Geiger, D. y

Goldszmidt, M. Bayesian Network Classifiers. Machine Learning, 29,131-163.

[Fritz, 1996] Walter Fritz. Sistemas Inteligentes y sus Sociedades. New Horizons Press.

[Haykin, 1994] Simon Haykin. Neural Networks. A Comprehensive Foundation.

Prentice Hall, 1994.

[Hertz, 1991] Hertz J.A., Palmer R.G., Krogh A.S. Introduction to the Theory of Neural

Computation. Addison-Wesley. Redwood City, C.A.

[Kim S., Seo H. y Rim H., 2003]. Kim S., Seo H. y Rim H. Poisson Naive Bayes for

Text Classification with Feature Weighting. International Workshop on Information

Retrieval with Asian Languages.

[Kohonen, 1982] Teuvo Kohonen. Self-Organizing Maps. Springer

Page 123: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

123

[Krose y otros, 1993] Ben J.A. Kröse y P. Patrik van der Smagt. An introduction to

neural networks, 1993.

[Lam, 1994] Lam, W. and Bacchus, F. (1994). Learning Bayesian Belief Networks. An

Approach Based on the MDL Principle. Computational Intelligence, 10, 269-293.

[Morgan, 1991] Morgan D.P., Scofield C.L. Neural Networks and Speech Processing.

Kluwer Academic Publisher. Boston.

[Pearl, 1988] Pearl, J. Probabilistic reasoning in intelligent systems: networks of

plausible inference. San Mateo, California: Morgan Kaufmann.

[Quinlan, 1986] J. Ross Quinlan. Induction of desition trees. Machine Learning.

[Quinlan, 1987] J. Ross Quinlan. Rule induction with statical data – a comparison

with multiple regression. Journal of the Operational Research Society, 38:347-352,

1987.

[Quinlan, 1993] J. Ross Quinlan. C4.5: Programs for Machine Learning. Morgan

Kaufmann, San Mateo, CA., USA, 1993.

[Rissanen, J. , 1989] Rissanen, J. (1989). Stochastic complexity in statistical inquiry.

River Edge, NJ: World Scientific

[Sahami, M., Dumais, S., Heckerman, D. y Horvitz E., 1998]. Sahami, M., Dumais,

S., Heckerman, D. y Horvitz E. A Bayesian Approach to Filtering Junk E-Mail. In

Learning for Text Categorization, Papers from the 1998 Workshop. AAAI Technical

Report WS-98-05.

Page 124: UN AMBIENTE INTEGRADO DE CLASIFICACION, SELECCION Y ...laboratorios.fi.uba.ar/lsi/schulz-tesisingenieriainformatica.pdf · clasificados en un ambiente diferente, capaz de inducir

124

[Schulz, G., Britos, P., García-Martínez, R., 2008]. Schulz, G., Fernández, E.,

Merlino, H., Rodríguez, D., Britos, P., García-Martínez, R. Un Ambiente de Explotación

de Información basado en la Integración de Agrupamiento, Inducción y Ponderación

Bayesiana de Reglas. Jornadas Iberoamericanas de Ingeniería del Software e Ingeniería

del Conocimiento 2008. Web: https://www.jiisic08.espol.edu.ec (Aceptado)

[Schwarz, 1978] Schwarz, G. (1978). Estimating the dimension of a model. Annals of

Statistics, 6, 461-464.

[Sebe N., Lew M., Cohen I., Gary A. y Huang T., 2002]. Sebe N., Lew M., Cohen I.,

Gary A. y Huang T. Emotion Recognition Using Cauchy Naive Bayes Classifier.

International Conference on Pattern Recognition, Volume 1.

[Sipina] University of Lyon. Francia. Sipina. Web: http://eric.univ-

lyon2.fr/~ricco/sipina.html.

[Suzuki, 1996] Suzuki, J. (1996). Learning Bayesian Belief Networks Based on the

Minimum Description Length Principle: An Efficient Algorithm Using the B&B

Technique. In Proceedings of the Thirteenth International Conference on Machine

Learning, 462-470.

[Ulbricht, 1995] Ulbricht C. State Formation in Neural Networks for Handling

Temporal Information. Institut fuer Med.Kyberneik u.AI. Univ. Vienna.

[Weka] The University of Waikato. Weka. Web: http://www.cs.waikato.ac.nz/ml/weka/