You are on page 1of 144

INTEGRACIN DE ALGORITMOS DE INDUCCIN

Y AGRUPAMIENTO.
ESTUDIO DEL COMPORTAMIENTO.

TESIS DE GRADO EN INGENIERA EN INFORMTICA

Laboratorio de Sistemas Inteligentes


Facultad de Ingeniera
Universidad de Buenos Aires

Tesista:

Sr. Ariel Yosef KOGAN ZAHAVI

Directores: Prof. Dr. Ramn GARCA MARTNEZ


Prof. M. Ing. Paola BRITOS
Prof. M. Ing. Claudio RANCN

Mayo 2007

INTEGRACIN DE ALGORITMOS DE INDUCCIN


Y AGRUPAMIENTO.
ESTUDIO DEL COMPORTAMIENTO.

TESIS DE GRADO EN INGENIERA EN INFORMTICA

Laboratorio de Sistemas Inteligentes


Facultad de Ingeniera
Universidad de Buenos Aires

Sr. Ariel Yosef Kogan Zahavi


Tesista

Prof. Dr. Ramn Garca Martnez


Director

Prof. M. Ing. Paola Britos


Co-Directora

Prof. M. Ing. Claudio Rancn


Co-Director

Mayo 2007

Agradecimientos
Al Dr. Garca Martnez por darme la posibilidad de finalizar mi carrera de grado
gozando de aprender y ayudarme a desafiar mi intelecto de forma permanente. Por
haber aportado a mi formacin sin limitarse a lo acadmico. Por su gran dedicacin
plasmada, entre otras cosas, en la enorme cantidad de horas de su tiempo dedicadas a
mi tesis.
A la M. Ing. Britos por su continua orientacin y por hacer tan ameno nuestro
trabajo. Al M. Ing. Rancn por su dedicacin y paciencia en ayudarme a no dejar
ningn detalle sin atender.
A mi hermano Jonathan por su forma de ser vertiginosa, por nunca permitir que
un da sea igual (de tranquilo) al anterior, logrando as mantenerme conectado con lo
verdaderamente importante. Por traer la alegra a la casa y por su gran sinceridad
cuando tiene algo que ensearme.
A mis padres, por haberme transmitido el valor sin igual de la educacin. Por su
apoyo permanente. Por haber dedicado todos sus esfuerzos a brindarme las
condiciones para formarme sin otra preocupacin que la de estudiar.
A mi padre por sus pragmticos consejos y su enseanza mediante el ejemplo.
Y a mi madre quien con esta tesis finaliza la carrera conmigo, despus de haber vivido
como propio cada momento de estudio y festejado (ms que yo) la aprobacin de cada
examen.

Resumen
En esta tesis se estudia cmo se comporta la integracin de los algoritmos de
agrupamiento e induccin al ir variando sus parmetros en condiciones de laboratorio.
Adicionalmente se intentar medir la calidad de las reglas obtenidas y la degradacin
de dicha calidad como consecuencia de la variacin de los parmetros controlados en
los experimentos.

Abstract
This thesis studies the behavior of the integration of induction and clustering
algorithms varying its parameters under laboratory conditions. The quality of the
obtained rules will try to be measured as a consequence of the variation of the
parameters being controlled on the experiments.

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

ndice
1

Introduccin ..............................................................................................................1

Estado del Arte ..........................................................................................................4


2.1

Self Organizing Maps (SOM) ...............................................................................4

2.1.1

Algoritmo del SOM ......................................................................................4

2.1.2

Aplicaciones ...............................................................................................12

2.2

rboles de decisin TDIDT .............................................................................12

2.2.1

Caractersticas de los rboles de decisin .................................................12

2.2.2

Construccin de los rboles de decisin ...................................................12

2.2.3

Descripcin general de los algoritmos ......................................................16

2.2.4

Presentacin de los resultados..................................................................23

Descripcin del Problema ........................................................................................24

Solucin Propuesta ..................................................................................................25


4.1

Identificacin de los parmetros del problema................................................25

4.2

Definiciones ......................................................................................................26

4.2.1

Cubrimiento de una regla sobre otra ........................................................26

4.2.2

Cubrimiento de una regla original por reglas descubiertas ......................28

4.2.3

Concentracin de las reglas que indican la pertenencia a cada clase ......29

4.3

4.3.1

Descripcin del mtodo.............................................................................30

4.3.2

Ejemplo de generacin de un caso de experimentacin ..........................32

4.4

Mtodo de generacin de casos de experimentacin .....................................30

Descripcin del Banco de Pruebas ....................................................................35

4.4.1

Funcionalidades .........................................................................................35

4.4.2

Dinmica del Banco de Pruebas ................................................................37

Experimentacin ......................................................................................................39
5.1

Definicin de Variables .....................................................................................39

5.2

Delimitacin del Universo de Estudio ...............................................................40

5.3

Dominio Patrn .................................................................................................42

5.4

Formato de los Resultados ...............................................................................42

5.5

Estrategia de Rastrillaje ....................................................................................44

5.5.1

Requerimientos .........................................................................................44

5.5.2

Solucin Adoptada.....................................................................................44

ndice

Ariel Kogan

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.5.3

Seleccin de los pares de variables independientes a ser estudiados ......45

5.5.4

Diccionario de Parmetros Segn Enfoque ...............................................46

5.6

Anlisis de los Experimentos ............................................................................47

5.6.1 Variacin del nmero de clases que rigen el dominio para distinta
cantidad de atributos que tienen los ejemplos .......................................................47
5.6.2 Variacin del nmero de clases que rigen el dominio para distinta
cantidad de valores que puede tomar cada atributo ..............................................49
5.6.3 Variacin del nmero de clases que rigen el dominio para distinta
cantidad de reglas que indican la pertenencia a cada clase ...................................51
5.6.4 Variacin del nmero de reglas que indican la pertenencia a cada
clase para distinta cantidad de atributos que tienen los ejemplos ........................53
5.6.5 Variacin del nmero de reglas que indican la pertenencia a cada
clase para distinta cantidad de clases que rigen el dominio ...................................55
5.6.6 Variacin del nmero de posibles valores que puede tomar cada
atributo para distinta cantidad de atributos que conforman los ejemplos ............57
5.6.7 Variacin del nmero de posibles valores que puede tomar cada
atributo para distinta cantidad de reglas que indican la pertenencia a cada
clase
...................................................................................................................59
5.6.8 Variacin del nmero de atributos que conforman los ejemplos
para distinta cantidad de posibles valores que puede tomar cada uno .................61
5.6.9 Variacin del nmero de atributos que conforman los ejemplos
para distinta cantidad de clases que rigen el dominio ............................................63
5.6.10 Variacin del nmero de atributos que conforman los ejemplos
para distinta cantidad de reglas que indican la pertenencia a cada clase ..............65
5.6.11 Estudio de dominios variando la especificidad del cubrimiento de
cada regla sobre sus ejemplos asociados, para distinta cantidad de estos ............67
5.6.12 Estudio de dominios variando la especificidad del cubrimiento de
cada regla sobre sus ejemplos asociados, para distinta concentracin de las
reglas que indican la pertenencia a cada clase .......................................................69
5.6.13 Estudio de dominios variando la concentracin de las reglas que
indican la pertenencia a cada clase, para distinta cantidad de ejemplos que
dan soporte a cada regla .........................................................................................71
5.6.14 Estudio de dominios variando la concentracin de las reglas que
indican la pertenencia a cada clase, para distinta especificidad del
cubrimiento de cada regla sobre sus ejemplos asociados ......................................73
5.6.15 Estudio de dominios variando el nmero de ejemplos que dan
soporte a cada regla, para distinta especificidad del cubrimiento de cada
regla sobre sus ejemplos asociados ........................................................................75
5.6.16 Estudio de dominios variando el nmero de ejemplos que dan
soporte a cada regla, para distinta concentracin de las reglas que indican la
pertenencia a cada clase .........................................................................................77

ii

Ariel Kogan

ndice

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.7

Unificacin de los resultados experimentales ..................................................79

5.7.1

Enfoque orientado al dominio...................................................................79

5.7.2

Enfoque orientado a los ejemplos .............................................................82

Conclusiones ............................................................................................................84
6.1

Aportes ..............................................................................................................84

6.2

Futuras lneas de trabajo ..................................................................................85

6.2.1 Anlisis de los resultados obtenidos mediante la aplicacin de


minera de datos ......................................................................................................85
6.2.2 Inclusin de los parmetros de la red SOM como variables del
experimento ............................................................................................................86
6.2.3

Otras lneas de trabajo ..............................................................................87

Referencias ..............................................................................................................88

Metodologa ............................................................................................................92
A.1

Requerimientos.................................................................................................92

A.2

Anlisis ..............................................................................................................92

A.2.1

Diagrama de Clases....................................................................................92

A.2.2

Casos de Uso ..............................................................................................94

A.2.3

Diagrama de transicin de estados ...........................................................96

A.3

Diseo ...............................................................................................................97

A.3.1

Ejecucin de experiencias .........................................................................98

A.3.2

Graficacin de resultados ..........................................................................99

A.3.3

Unificacin de los resultados obtenidos para su anlisis en conjunto .....99

A.4

Codificacin .......................................................................................................99

A.5

Implementacin ..............................................................................................100

A.5.1
A.6

Procesos y Pantallas ................................................................................100

Pruebas ...........................................................................................................102

A.6.1

Plan de pruebas .......................................................................................102

A.6.2

Documento de diseo de la prueba ........................................................102

A.6.3

Especificacin de los casos de prueba.....................................................103

A.6.4

Especificacin del procedimiento de prueba ..........................................105

A.6.5

Informe de los casos de prueba ejecutados ............................................106

A.6.6

Informe de la prueba ...............................................................................107

A.7

Gestin de configuracin ................................................................................107

A.7.1

Identificacin de la configuracin ...........................................................107

A.7.2

Control de configuracin .........................................................................108

A.7.3

Generacin de informes de estado .........................................................109

ndice

Ariel Kogan

iii

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Manual de Usuario ................................................................................................113


B.1

B.1.1

Descripcin de los componentes.............................................................113

B.1.2

Plataforma y lenguaje ..............................................................................113

B.1.3

Libreras utilizadas ...................................................................................114

B.1.4

Presentacin del producto ......................................................................114

B.2

Requerimientos...............................................................................................115

B.2.1

Mquina virtual Java................................................................................115

B.2.2

PostgreSQL...............................................................................................115

B.2.3

JFreeChart ................................................................................................116

B.3

Configuracin del entorno ..............................................................................116

B.3.1

Classpath..................................................................................................116

B.3.2

Creacin del esquema de base de datos .................................................118

B.4

iv

Introduccin ....................................................................................................113

Utilizacin del banco de pruebas ....................................................................118

B.4.1

Procedimientos comunes a todas las operaciones .................................118

B.4.2

Ejecucin de experiencias .......................................................................122

B.4.3

Unificacin de datos ................................................................................125

B.4.4

Graficacin ...............................................................................................126

Ariel Kogan

ndice

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

ndice de tablas
Tabla 4.1: Parmetros identificados del problema ........................................................ 26
Tabla 5.1: Definicin de variabilidad o no de cada uno de los parmetros ................... 40
Tabla 5.2: Rango de variacin de las variables ............................................................... 41
Tabla 5.3: Rango de variacin de las variables involucradas en la figura 5.1 ................ 43
Tabla 5.4: Origen de pertenencia de las variables ......................................................... 45
Tabla 5.5: Combinacin de variables de los experimentos a realizar ............................ 46
Tabla 5.6: Diccionario de parmetros segn el enfoque ............................................... 47

ndice de tablas

Ariel Kogan

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

ndice de Figuras
Figura 2.1: Estructuras de los mapas .................................................................................5
Figura 2.2: Vecindario de una neurona .............................................................................6
Figura 2.3: Funciones de vecindario ..................................................................................9
Figura 2.4: Tasas de aprendizaje .....................................................................................10
Figura 2.5: U-Matrix.........................................................................................................11
Figura 4.1: Definicin grfica de una clase que rige el dominio......................................29
Figura 4.2: Atributos de un ejemplo del dominio ...........................................................33
Figura 4.3: Valores posibles que pueden tomar los atributos de un ejemplo ................33
Figura 4.4: Definicin grfica de una clase que rige el dominio......................................34
Figura 4.5: Definicin grfica de reglas que indican la pertenencia a una clase .............34
Figura 4.6: Experimento en 3 pasos ................................................................................37
Figura 5.1: Ejemplo de una de las grficas como resultado de un experimento.
Estudio de dominios variando la cantidad de reglas que indican la
pertenencia a cada clase, para distinta cantidad de atributos que tienen las
reglas. ......................................................................................................................43
Figura A.1: Diagrama de clases fundamentales del banco de pruebas...........................93
Figura A.2: Diagrama de casos de uso de alto nivel de abstraccin ...............................94
Figura A.3: Diagrama de casos de uso de ejecucin de experiencias .............................95
Figura A.4: Diagrama de casos de uso de iteraciones .....................................................96
Figura A.5: Diagrama de transicin de estados de ejecucin de experiencias ...............97

vi

Ariel Kogan

ndice de Figuras

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

ndice de Grficas
Grfica 5.1: Estudio de dominios variando la cantidad de clases que los rigen,
para distinta cantidad de atributos que tienen los ejemplos .................................48
Grfica 5.2: Estudio de dominios variando la cantidad de clases que los rigen,
para distinta cantidad de valores posibles que pueden tomar cada atributo ........50
Grfica 5.3: Estudio de dominios variando la cantidad de clases que los rigen,
para distinta cantidad de reglas que indican la pertenencia a cada clase ..............52
Grfica 5.4: Estudio de dominios variando la cantidad de reglas que indican la
pertenencia a cada clase, para distinta cantidad de atributos que conforman
los ejemplos .............................................................................................................54
Grfica 5.5: Estudio de dominios variando la cantidad de reglas que indican la
pertenencia a cada clase, para distinta cantidad de clases que rigen los
dominios ..................................................................................................................56
Grfica 5.6: Estudio de dominios variando la cantidad de valores posibles que
puede tomar cada uno de los atributos que tienen las reglas, para distinta
cantidad de atributos que tienen las reglas ............................................................58
Grfica 5.7: Estudio de dominios variando la cantidad de valores posibles que
puede tomar cada uno de los atributos que conforman las reglas, para
distinta cantidad de reglas que indican la pertenencia a cada clase ......................60
Grfica 5.8: Estudio de dominios variando la cantidad de atributos que
conforman los ejemplos, para distinta cantidad de valores posibles que
pueden tomar cada uno de estos atributos ............................................................62
Grfica 5.9: Estudio de dominios variando la cantidad de atributos que tienen las
reglas, para distinta cantidad clases que rigen los dominios ..................................64
Grfica 5.10: Estudio de dominios variando la cantidad de atributos que tienen
las reglas, para distinta cantidad de reglas que indican la pertenencia a cada
clase .........................................................................................................................66
Grfica 5.11: Estudio de dominios variando la especificidad del cubrimiento de
cada regla sobre sus ejemplos asociados, para distinta cantidad de estos ............68

ndice de Grficas

Ariel Kogan

vii

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.12: Estudio de dominios variando la especificidad del cubrimiento de


cada regla sobre sus ejemplos asociados, para distinta concentracin de
reglas que indican la pertenencia a cada clase .......................................................70
Grfica 5.13: Estudio de dominios variando la concentracin de las reglas que
indican la pertenencia a cada clase, para distinta cantidad de ejemplos que
dan soporte a cada regla .........................................................................................72
Grfica 5.14: Estudio de dominios variando la concentracin de las reglas que
indican la pertenencia a cada clase, para distinta especificidad del
cubrimiento de cada regla sobre sus ejemplos asociados ......................................74
Grfica 5.15: Estudio de dominios variando el nmero de ejemplos que dan
soporte a cada regla, para distinta especificidad del cubrimiento de cada
regla sobre sus ejemplos asociados ........................................................................76
Grfica 5.16: Estudio de dominios variando el nmero de ejemplos que dan
soporte a cada regla, para distinta concentracin de las reglas que indican la
pertenencia a cada clase .........................................................................................78

viii

Ariel Kogan

ndice de Grficas

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Introduccin

Se denomina Minera de Datos al conjunto de tcnicas y herramientas aplicadas


al proceso no trivial de extraer y presentar conocimiento implcito, previamente
desconocido, potencialmente til y humanamente comprensible, a partir de grandes
conjuntos de datos, con objeto de predecir de forma automatizada tendencias y
comportamientos y describir de forma automatizada modelos previamente
desconocidos [Piatetski-Shapiro et al., 1991; Chen et al., 1996; Mannila, 1997; Britos et
al., 2005].
El caso particular de la Minera de Datos Inteligente [Evangelos & Han, 1996;
Michalski et al., 1998] consiste en la aplicacin de mtodos de aprendizaje automtico
[Michalski et al., 1983; Holsheimer & Siebes, 1991] para descubrir y enumerar
patrones presentes en los datos o mejorar procesos predictivos [Felgaer et al., 2006].
Un procedimiento recurrente a la hora de realizar minera de datos inteligente
consiste en tomar el conjunto de datos a estudiar, aplicar un algoritmo de clustering
[Kaski, 1997, Hall y Colmes, 2003] para separarlo en distintos grupos (clases) y sobre
cada uno de estos grupos intentar generar reglas que caractericen su conformacin,
tambin utilizando un determinado algoritmo a tales efectos [Grosser et al., 2005;
Cogliati et al., 2006].
Una de las opciones para llevar adelante el proceso de clustering es dada por el
uso de los mapas auto-organizados [Kohonen, 1982, Kohonen, 1990, Kohonen, 1995,
Kohonen et al., 1996], los cuales son un algoritmo de redes neuronales que ha sido
utilizado para una gran variedad de aplicaciones, principalmente para problemas de
ingeniera, pero tambin para anlisis de datos.
En cuanto a la induccin de reglas, dada la caracterizacin de las entidades que
se utilizan comnmente con la minera de datos, fuertemente basada en los valores de
sus atributos y no en las relaciones establecidas entre estos, se suelen emplear
mtodos atribucionales. Uno de los ms claros y difundidos son los rboles de decisin
o clasificacin [Michalski et al., 1998; Grossman et al., 1999] en los cuales se cuenta
con nodos que modelizan cada atributo, ramas que se originan en estos nodos, una
por cada valor que el atributo puede tomar, y finalmente las hojas que corresponden a
las clases individuales. Recorriendo un rbol desde su nodo padre hasta las distintas
hojas, se pueden generar de forma muy simple las reglas a las cuales la clasificacin
responde. Una de las herramientas aplicadas al mencionado proceso es la familia de
algoritmos TDIDT [Quinlan, 1986; Servente y Garca-Martnez, 2002]. Sin embargo,
estos pasos se realizan nicamente bajo la presuncin de obtener un resultado
representativo del conjunto de datos sobre el que se trabaja.
En este contexto, en esta tesis se estudia cmo se comporta la integracin de
los algoritmos de induccin y agrupamiento al ir variando sus parmetros en
condiciones de laboratorio. Adicionalmente se intentar medir la calidad de las reglas

Introduccin

Ariel Kogan

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

obtenidas y la degradacin de dicha calidad como consecuencia de la variacin de los


parmetros controlados en los experimentos.
En el captulo del Estado del Arte se presenta el contexto terico para el
estudio de la integracin de agrupamiento por SOM e induccin de reglas por TDIDT
como mtodo de descubrimiento de conocimiento. Se describen los mapas autoorganizados SOM, el algoritmo que los gobierna y las aplicaciones de esta red
neuronal. Se presentan los rboles de decisin TDIDT, sus caractersticas, el mtodo
para la construccin de estos, se hace una descripcin general de sus algoritmos y se
expone la forma en la que se muestran los resultados obtenidos.
En el captulo de la Descripcin del Problema se presenta el problema a
resolver, se fundamenta el porqu de su eleccin y se seala su importancia en el
contexto de estudio.
En el captulo de la Solucin Propuesta se describe la respuesta al problema
planteado. Se identifican los parmetros del problema, se plantean definiciones
necesarias como el cubrimiento de una regla sobre otra, el cubrimiento de una regla
original por reglas descubiertas y el concepto de concentracin de reglas que indican la
pertenencia a una clase. Se aborda el mtodo de generacin de casos de
experimentacin describindolo y dando un ejemplo para su mejor comprensin.
Finalmente, se realiza una descripcin del Banco de Pruebas, abordando sus
funcionalidades y describiendo su dinmica de funcionamiento.
En el captulo de Experimentacin se exponen los resultados obtenidos de los
experimentos realizados. Se han definido los parmetros a variar, delimitado el
universo de estudio, determinado un dominio patrn y establecido el formato de los
resultados a obtener. Se ha definido una estrategia de aspectacin de valores de
variables en base a requerimientos sobre sta, habindose adoptado una solucin en
particular. Para esta solucin, se han determinado los pares de variables a estudiar y se
ha confeccionado un diccionario de variables dependientes e independientes segn el
enfoque adoptado para una comprensin ms clara. Se han analizado e interpretado
los experimentos y se han sistematizado las proposiciones experimentales formuladas,
tanto para el enfoque orientado al dominio como para el enfoque orientado a los
ejemplos.
En las Conclusiones se resumen los aportes formulados en la tesis y se
presentan futuras lneas de trabajo proponiendo minera de datos para el anlisis de
los resultados, incluir la variacin de los parmetros de la red SOM en futuros estudios
y lneas complementarias.
En el anexo A se describe la metodologa empleada para la construccin del
banco de pruebas. Se enumeran los requerimientos, se hace el anlisis del sistema
mediante diagramas de clase, determinacin de casos de uso, y diagramas de
transicin de estados. Se realiza el diseo de la aplicacin para sus componentes de
ejecucin de experiencias, graficacin de resultados y unificacin de los resultados
obtenidos para su anlisis en conjunto. Se aborda la codificacin de la solucin y su

Ariel Kogan

Introduccin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

implementacin describiendo sus procesos y pantallas. Finalmente, se cubre la etapa


de pruebas estableciendo un plan de pruebas, documentando el diseo de cada
prueba, especificando los casos de prueba, los procedimientos, se confecciona un
informe de los casos de prueba ejecutados, as como un informe de la prueba. Se
determina la gestin de configuracin en cuanto a su identificacin, control y
generacin de informes de estado.
En el anexo B se transcribe el manual de usuario del banco de pruebas. Se
introduce el banco de pruebas describiendo sus componentes, la plataforma y el
lenguaje para los cuales est desarrollado, las libreras utilizadas y se presenta el
producto. Se enumeran los requerimientos previos para poner en funcionamiento el
producto, se detalla el procedimiento para configurar el entorno de trabajo mediante
el establecimiento del classpath apropiado y la creacin del esquema necesario para la
base de datos. Finalmente, se describe la forma de utilizar el banco de pruebas, tanto
para los procedimientos comunes a todas las operaciones, como para la ejecucin de
experiencias, unificacin de datos y graficacin de resultados.

Introduccin

Ariel Kogan

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Estado del Arte

En este captulo se presenta el contexto terico para el estudio de la


integracin de agrupamiento por SOM e induccin de reglas por TDIDT como mtodo
de descubrimiento de conocimiento. Se describen los mapas auto-organizados SOM
(seccin 2.1), el algoritmo que los gobierna (seccin 2.1.1) y las aplicaciones de esta
red neuronal (seccin 2.1.2). Se presentan los rboles de decisin TDIDT (seccin 2.2),
sus caractersticas (seccin 2.2.1), el mtodo para la construccin de estos (2.2.2), se
hace una descripcin general de sus algoritmos (seccin 2.2.3) y se expone la forma en
la que se muestran los resultados obtenidos (seccin 2.2.4).

2.1

Self Organizing Maps (SOM)

Existen evidencias que demuestran que en el cerebro hay neuronas que se


organizan en muchas zonas, de forma que las informaciones captadas del entorno a
travs de los rganos sensoriales se representan internamente en forma de mapas
bidimensionales [Beveridge, 1996]. Por ejemplo, en el sistema visual se han detectado
mapas del espacio visual en zonas del crtex (capa externa del cerebro); tambin en el
sistema auditivo se detecta una organizacin segn la frecuencia a la que cada
neurona alcanza mayor respuesta [Hilera Gonzlez & Martnez Hernando, 2000].
Aunque en gran medida esta organizacin neuronal est predeterminada
genticamente, es probable que parte de ella se origine mediante el aprendizaje. Esto
sugiere, por tanto, que el cerebro podra poseer capacidad inherente de formar mapas
topolgicos de las informaciones recibidas del exterior.
A partir de estas ideas, Teuvo Kohonen present en 1982 [Kohonen, 1982] un
sistema con un comportamiento semejante; se trata de un modelo de red neuronal
con capacidad para formar mapas de caractersticas de manera similar a como ocurre
en el cerebro. El objetivo de Kohonen era demostrar que un estmulo externo
(informacin de entrada) por s solo, suponiendo una estructura propia y una
descripcin funcional del comportamiento de la red, era suficiente para forzar la
formacin de mapas. Estudiaremos, entonces, este modelo llamado Self Organizing
Maps (SOM) que se basa en el principio de formacin de mapas topolgicos para
establecer caractersticas comunes entre las informaciones (vectores) de entrada a la
red. Este modelo es uno de los ms populares que se utilizan en redes neuronales
artificiales y pertenece a la categora de redes con aprendizaje competitivo.

2.1.1

Algoritmo del SOM

El algoritmo de aprendizaje del SOM est basado en el aprendizaje no


supervisado y competitivo, lo cual quiere decir que no se necesita intervencin
humana durante el mismo y que se necesita saber muy poco sobre las caractersticas

Ariel Kogan

Estado del Arte

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

de la informacin de entrada. Podramos, por ejemplo, usar un SOM para clasificar


datos sin saber a qu clase pertenecen los mismos [Hollmen, 1996]. El mismo provee
un mapa topolgico de datos que se representan en varias dimensiones utilizando
unidades de mapa (las neuronas) simplificando el problema [Kohonen, 1995]. Las
neuronas usualmente forman un mapa bidimensional por lo que el mapeo de un
problema ocurre con muchas dimensiones en el espacio a un plano [Hollmen, 1996]. La
propiedad de preservar la topologa significa que el mapeo preserva las distancias
relativas entre puntos [Kohonen, 1982]. Los puntos que estn cerca unos de los otros
en el espacio original de entrada son mapeados a neuronas cercanas en el SOM; por lo
tanto, el SOM sirve como herramienta de anlisis de clases de datos de muchas
dimensiones [Vesanto & Alhoniemi, 2000]; adems tiene la capacidad de generalizar
[Essenreiter, Karrenbach & Treitel, 1999], lo que implica que la red puede reconocer o
caracterizar entradas que nunca antes ha encontrado; una nueva entrada es asimilada
por la neurona a la cual queda mapeada.
El SOM es un vector bidimensional de neuronas:
= 1 , ,

Una neurona es un vector llamado patrn representado de la siguiente forma:


= 1 , ,

La neurona tiene las mismas dimensiones que los vectores de entrada (datos de
entrada), es decir que es n-dimensional. Las neuronas estn conectadas a las neuronas
adyacentes por una relacin de vecinos. Esta dicta la topologa, o la estructura, del
mapa; usualmente, las neuronas estn conectadas unas con otras en una topologa
hexagonal o rectangular. En la figura 2.1 podemos observar (a) una estructura
rectangular y (b) una estructura hexagonal.

Figura 2.1: Estructuras de los mapas

Estado del Arte

Ariel Kogan

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Se puede definir una distancia entre las neuronas de acuerdo a su relacin de


topologa; las mismas pueden ser vecinas inmediatas (las neuronas adyacentes) que
pertenecen al vecindario de la neurona . La funcin de vecindario es una funcin
decreciente en el tiempo: = .

Figura 2.2: Vecindario de una neurona

En la figura 2.2 podemos observar vecindarios de distintos tamaos. En el


hexgono ms pequeo se encuentran todas las neuronas vecinas que pertenecen al
vecindario ms pequeo de la neurona ubicada en el centro.
En el algoritmo bsico del SOM, las relaciones topolgicas y el nmero de
neuronas son fijos desde el comienzo; este nmero de neuronas determina la escala o
la granularidad del modelo resultante. La seleccin de la granularidad afecta la certeza
y la capacidad de generalizar del modelo. Debe tenerse en cuenta que la granularidad
y la generalizacin son objetivos contradictorios [Hollmen, 1996]. Mejorando el
primero, se pierde en el segundo, y viceversa. Esto se debe a que si aumentamos el
primero se obtendrn muchos ms grupos para poder clasificar los datos de entrada,
evitando que se pueda generalizar el espacio en clases ms abarcativas. De manera
inversa, si se generaliza demasiado se puede perder informacin que caracterice a un
grupo especfico que quede incluido en otro por la falta de granularidad.

2.1.1.1

Pre-procesamiento de los datos

Los datos que alimentan al SOM incluyen toda la informacin que toma la red.
Si se le presenta informacin errnea, el resultado es errneo o de mala calidad.
Entonces, el SOM, tanto como los otros modelos de redes neuronales, deben eliminar
la informacin basura para que no ingrese al sistema. Por lo cual se debe trabajar
con un subconjunto de los datos; estos deben ser relevantes para el modelo a analizar.
Tambin se deben eliminar los errores en los datos; si los mismos se obtienen a travs
de una consulta a una base de datos, el resultado puede incluir datos errneos debido
a la falta de integridad de la base; entonces estos deben ser filtrados usando
conocimientos previos del dominio del problema y el sentido comn.

Ariel Kogan

Estado del Arte

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Comnmente los componentes de los datos de entrada se normalizan para


tener una escala de 0 a 1. Esto asegura que por cada componente, la diferencia entre
dos muestras contribuye un valor igual a la distancia medida calculada entre una
muestra de entrada y un patrn. Es decir que los datos deben previamente codificarse
(normalizarse). De lo contrario no ser posible usar la distancia como una medida de
similitud. Esta medida debe ser cuantificable por lo que la codificacin debe ser
armnica con la medida de similitud utilizada. La medida mayormente utilizada es la
distancia Eucldea. Los datos simblicos no pueden ser procesados por un SOM como
tales, por lo que deben ser transformados a una codificacin adecuada.

2.1.1.2

Inicializacin

Existen varios tipos de inicializaciones para los valores de las neuronas


(patrones): entre ellos se pueden nombrar la inicializacin al azar y la inicializacin
utilizando usando las primeras muestras. En la inicializacin al azar se asignan valores
aleatorios a los patrones; se utiliza cuando se sabe muy poco o nada sobre los datos de
entrada en el momento de comenzar el entrenamiento. La inicializacin utilizando las
primeras muestras utiliza los primeros datos de entrada asignndolos a los patrones;
tiene la ventaja que automticamente se ubican en la parte correspondiente del
espacio de entrada.

2.1.1.3

Entrenamiento

El entrenamiento es un proceso iterativo a travs del tiempo. Requiere un


esfuerzo computacional importante, y por lo tanto, consume mucho tiempo. Este
consiste de muestras del conjunto de datos de entrada que van ingresando a la red
para que la misma las aprenda. El aprendizaje consiste en elegir una neurona
ganadora por medio de una medida de similitud y actualizar los valores de los patrones
en el vecindario del ganador; este proceso se repite varias veces para poder ir
refinando (acotando) el error y acercar las neuronas a una representacin ms
adecuada de los datos de entrada.
En un paso del entrenamiento, un vector muestra se toma de los datos de
entrada; este vector es presentado a todas las neuronas en la red y se calcula la
medida de similitud entre la muestra ingresada y todos los patrones. La unidad ms
parecida o Best Matching Unit (BMU) se elige como el prototipo con la mayor similitud
con la muestra de entrada; esta similitud usualmente se define con una medida de
distancia vectorial. Por ejemplo, en el caso de la distancia Eucldea la BMU es la
neurona ms cercana a la muestra presentada en el espacio representado por todos
los datos de entrada. La norma Eucldea de un vector x se define como:

=
=1

Estado del Arte

Ariel Kogan

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

donde:
: corresponde al valor de la componente del vector .
: corresponde a la dimensin del vector .
Por lo tanto, la distancia Eucldea en trminos de la diferencia de la norma
Eucldea entre dos vectores se define como:
, =
donde:
: corresponde al vector .
: corresponde al vector .
La BMU, usualmente denotada con , es el patrn que ms se parece al
vector de entrada . Se define formalmente como la neurona para la cual
= min

donde:
: corresponde al vector de entrada .
: corresponde al vector que representa la BMU.
: corresponde a la neurona .
: corresponde al vector que representa la neurona .
Luego de encontrar la BMU, se actualizan todas las neuronas del SOM. Durante
el procedimiento de actualizacin, la BMU se actualiza para acercarse an ms al
vector de entrada. Los vecinos topolgicos de la BMU tambin se actualizan de manera
similar utilizando una tasa de aprendizaje de menor valor. Este procedimiento acerca a
la BMU y a sus vecinos topolgicos hacia la muestra ingresada.
El esfuerzo computacional consiste en encontrar una BMU entre todas las
neuronas y actualizar cada uno de los patrones en el vecindario de la unidad ganadora.
Si el vecindario es grande, entonces ms patrones debern ser actualizados; este es el
caso que se presenta en el comienzo del entrenamiento, donde se recomienda utilizar
vecindarios grandes. En el caso de redes con muchas neuronas, gran parte del tiempo
se utiliza buscando a la ganadora. Obviamente que dependiendo del diseo del
software utilizado y el hardware estas consideraciones sern ms o menos
significativas.
A travs del procedimiento de actualizacin descripto, la red forma una red
elstica que durante el aprendizaje cae en una nube formada por los datos de entrada.
Los patrones tienden a posicionarse all donde los datos son densos, mientras que se
tiende a tener pocos patrones donde los datos de entrada estn ms dispersos. Por lo

Ariel Kogan

Estado del Arte

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

tanto, la red tiende a aproximar la funcin de densidad de probabilidad de los datos de


entrada [Kohonen, 1995].
La regla de actualizacin del SOM para una unidad , es la siguiente:
+ 1 = +
dnde:
: representa un estado en el tiempo.
Por lo tanto, y como se mencion anteriormente, este es un proceso de
entrenamiento a travs del tiempo. El vector de entrada es tomado en instante
para ser procesado, es una funcin de vecindario alrededor de la unidad ganadora
decreciente en el tiempo.
La funcin de vecindario que incluye la tasa de aprendizaje determina la
forma en que sern actualizadas las neuronas vecinas. La misma se puede escribir
como:
=

2
2 2

en el caso de una funcin de vecindario Gaussiana alrededor de la neurona .


Se pueden utilizar otras funciones de vecindario como las funciones que se
presentan en la figura 2.3. La nica restriccin es que sean decrecientes alrededor de
la neurona . Por lo tanto, tambin podran ser constantes alrededor de la neurona
ganadora.

Figura 2.3: Funciones de vecindario

En la figura 2.3 se pueden observar dos funciones de vecindario: (a) funcin


Gaussiana, (b) funcin constante.
Estado del Arte

Ariel Kogan

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

La tasa de aprendizaje utilizada en la funcin vecindario es una funcin


decreciente en el tiempo. Dos formas comnmente usadas son la funcin lineal y la
inversamente proporcional al tiempo .

Figura 2.4: Tasas de aprendizaje

En la figura 2.4 se pueden observar tipos de tasas de aprendizaje: (a) la funcin


lineal decrece a cero linealmente durante el aprendizaje, (b) la funcin inversamente
proporcional decrece rpidamente desde su valor inicial.
Los valores de la tasa de aprendizaje se definen de la siguiente manera:
= 0 1 , para el caso de la funcin inversa y
= 0 + , para el caso de la funcin lineal donde se puede definir como

100 y corresponde a la cantidad total de vectores muestra utilizados en el


entrenamiento.
Se debe determinar el valor inicial de , que define el valor inicial de la tasa de
aprendizaje. Usualmente, cuando se utiliza una funcin inversa el valor inicial puede
ser mayor que en el caso lineal. El aprendizaje se realiza usualmente en dos fases:
-

En la primera vuelta se utilizan valores relativamente altos de (desde 0,3 a


0,99).
En la segunda vuelta se utilizan valores ms pequeos. Esto corresponde a
adaptaciones que se van haciendo hasta que la red funciona correctamente
[Kohonen, 1995].

La eleccin de los valores iniciales de y la forma en que estos van variando


pueden modificar sensiblemente los resultados obtenidos.

10

Ariel Kogan

Estado del Arte

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

2.1.1.4

Visualizacin

El SOM es una aproximacin de la funcin de densidad de probabilidad de los


datos de entrada [Kohonen, 1995] y puede representarse de una manera visual.
La representacin U-Matrix (unified distance matrix) del SOM visualiza la
distancia entre neuronas adyacentes [Kohonen, 1995]. La misma se calcula y se
presenta con diferentes colores entre los nodos adyacentes. Un color oscuro entre
neuronas corresponde a una distancia grande que representa un espacio importante
entre los valores de los patrones en el espacio de entrada. Un color claro, en cambio,
significa que los patrones estn cerca unos de otros. Las reas claras pueden pensarse
como clases y las oscuras como separadores. Esta puede ser una representacin
muy til de los datos de entrada sin tener informacin a priori sobre las clases.

Figura 2.5: U-Matrix

En la figura 2.5 podemos observar las neuronas indicadas por un punto negro.
La representacin revela que existe una clase separada en la esquina superior derecha
de la red. Las clases estn separadas por una zona negra. Este resultado se logra con
aprendizaje no supervisado, es decir, sin intervencin humana. Ensear a un SOM y
representarla con la U-Matrix ofrece una forma rpida de analizar la distribucin de los
datos.

2.1.1.5

Validacin

Se pueden crear la cantidad de modelos que se quiera, pero antes de utilizar


alguno de ellos, deben ser validados. La validacin significa que el modelo debe ser
probado para asegurar que devuelve valores razonables y certeros. La misma debe
realizarse usando un conjunto independiente de datos; este es similar al utilizado para
el entrenamiento pero no parte de l; puede verse a este conjunto de prueba como un
caso representativo del caso general.

Estado del Arte

Ariel Kogan

11

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

2.1.2

Aplicaciones

Se ha demostrado que los SOM son muy tiles en aplicaciones tcnicas. En la


industria, se ha utilizado, por ejemplo, en monitoreo de procesos y mquinas [Alander
& Frisk, 1991; Cumming, 1993; Alhoniemi, 1995], identificacin de fallas [Vapola,
Simula & Kohonen, 1994] y control de robots [Ritter, Martinetz & Schulten, 1992].
La capacidad de dividir el espacio en clases y patrones representativos lo hace
muy poderoso tambin para la clasificacin y segmentacin de los datos.

2.2

rboles de decisin TDIDT

La familia de los Top Down Induction of Decision Trees (TDIDT) pertenece a los
mtodos inductivos del aprendizaje automtico que aprenden a partir de ejemplos
preclasificados; en minera de datos, sta se utiliza para modelar las clasificaciones en
los datos mediante rboles de decisin.

2.2.1

Caractersticas de los rboles de decisin

Los rboles de decisin representan una estructura de datos que organiza


eficazmente los descriptores; dichos rboles son construidos de forma tal que en cada
nodo se realiza una prueba sobre el valor de los descriptores y de acuerdo con la
respuesta se va descendiendo en las ramas, hasta llegar al final del camino donde se
encuentra el valor del clasificador. Se puede analizar un rbol de decisin como una
caja negra en funcin de cuyos parmetros (descriptores) se obtiene un cierto valor del
clasificador, tambin puede analizarse como una disyuncin de conjunciones, donde
cada camino desde la raz hasta las hojas representa una conjuncin, y todos los
caminos son alternativos, es decir, son disyunciones.

2.2.2

Construccin de los rboles de decisin

Los rboles TDIDT, a los cuales pertenecen los generados por el ID3 y por el
C4.5, se construyen a partir del mtodo de Hunt [Hunt et al., 1966]. El esqueleto de
este mtodo para construir un rbol de decisin a partir de un conjunto de datos de
entrenamiento se detalla a continuacin; sean las clases 1 , 2 , , , existen tres
posibilidades:
1. contiene uno o ms casos, todos pertenecientes a una nica clase :
El rbol de decisin para es una hoja identificando la clase .

12

Ariel Kogan

Estado del Arte

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

2. no contiene ningn caso:


El rbol de decisin es una hoja, pero la clase asociada debe ser determinada por
informacin que no pertenece a . Por ejemplo, una hoja puede escogerse de
acuerdo a conocimientos de base del dominio, como ser la clase mayoritaria.
3. contiene casos pertenecientes a varias clases:
En este caso, la idea es refinar en subconjuntos de casos que tiendan, o
parezcan tender hacia una coleccin de casos pertenecientes a una nica clase.
Se elige una prueba basada en una nica variable, que tiene uno o ms
resultados, mutuamente excluyentes 1 , 2 , , , se particiona en los
subconjuntos 1 , 2 , , donde contiene todos los casos de que tienen el
resultado para la prueba elegida. El rbol de decisin para consiste en un
nodo de decisin identificando la prueba, con una rama para cada resultado
posible. El mecanismo de construccin del rbol se aplica recursivamente a cada
subconjunto de datos de entrenamiento, para que la i-sima rama lleve al rbol
de decisin construido por el subconjunto de datos de entrenamiento.

2.2.2.1

Clculo de la ganancia de informacin

En los casos en los que el conjunto contiene ejemplos pertenecientes a


distintas clases, se realiza una prueba sobre las distintas variables y se realiza una
particin segn la mejor variable. Para encontrar la mejor variable, se utiliza la
teora de la informacin, que sostiene que la informacin se maximiza cuando la
entropa se minimiza, la entropa determina la azarosidad o desestructuracin de un
conjunto, si se supone que se tienen ejemplos positivos y negativos, la entropa del
subconjunto , puede calcularse como:
= + log +
donde + es la probabilidad de que un ejemplo tomado al azar de sea positivo. Esta
probabilidad puede calcularse como:
+

+
= +
+

siendo + la cantidad de ejemplos positivos de y la cantidad de ejemplos


negativos.
La probabilidad se calcula en forma anloga a +, reemplazando la cantidad
de ejemplos positivos por la cantidad de ejemplos negativos, y viceversa.
Generalizando la expresin anterior para cualquier tipo de ejemplos,
obtenemos la frmula general de la entropa:

Estado del Arte

Ariel Kogan

13

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

H Si =

log
=1

En todos los clculos relacionados con la entropa, definimos 0 log 0 = 0.


Si la variable divide el conjunto en los subconjuntos 1 , 2 , , , entonces
la entropa total del sistema de subconjuntos ser:

H Si , =


=1

donde es la entropa del subconjunto y es la probabilidad de que un


ejemplo pertenezca a ; puede calcularse utilizando los tamaos relativos de los
subconjuntos, como:
=

La ganancia en informacin puede calcularse como la disminucin en entropa.


Es decir:
, = ,
donde es el valor de la entropa a priori, antes de realizar la subdivisin, y
, es el valor de la entropa del sistema de subconjuntos generados por la
particin segn .

2.2.2.2

Poda de los rboles generados

Existen varias razones para la poda de los rboles generados por los mtodos
de TDIDT [Michalski et al., 1998], entre ellas podemos nombrar la sobregeneralizacin, la evaluacin de variables poco importantes o significativas, y el gran
tamao del rbol obtenido. En el primer caso, un rbol puede haber sido construido a
partir de ejemplos con ruido, con lo cual algunas ramas del rbol pueden ser
engaosas; en cuanto a la evaluacin de variables no relevantes, stas deben podarse
ya que slo agregan niveles en el rbol y no contribuyen a la ganancia de informacin.
Por ltimo, si el rbol obtenido es demasiado profundo o demasiado frondoso, se
dificulta la interpretacin por parte del usuario, con lo cual hubiera sido lo mismo
utilizar un mtodo de caja negra.
Existen dos enfoques para podar los rboles: la pre-poda (preprunning) y la
post-poda (postprunning). En el primer caso se detiene el crecimiento del rbol cuando
la ganancia de informacin producida al dividir un conjunto no supera un umbral
determinado, en la post-poda se podan algunas ramas una vez que se ha terminado de
construir el rbol. El primer enfoque, tiene la ventaja de que no se pierde tiempo en

14

Ariel Kogan

Estado del Arte

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

construir una estructura que luego ser simplificada en el rbol final; el mtodo tpico
en estos casos es buscar la mejor manera de partir el subconjunto y evaluar la
particin desde el punto de vista estadstico mediante la teora de la ganancia de
informacin, reduccin de errores, etc., si esta evaluacin es menor que un lmite
predeterminado, la divisin se descarta y el rbol para el subconjunto es simplemente
la hoja ms apropiada; sin embargo, este tipo de mtodo tiene la contra de que no es
fcil detener un particionamiento en el momento adecuado, un lmite muy alto puede
terminar con la particin antes de que los beneficios de particiones subsiguientes
parezcan evidentes, mientras que un lmite demasiado bajo resulta en una
simplificacin demasiado leve. El segundo enfoque utilizado por el ID3 y el C4.5,
procede a la simplificacin una vez construido el rbol segn los criterios propios de
cada uno de los algoritmos.

2.2.2.3

El Principio de longitud de descripcin mnima (MDL)

El principio de longitud de descripcin mnima (MDL) [Joachims et al., 1995;


Mitchell, 2000; Quinlan, 1993c; Quinlan, 1995; Quinlan & Cameron-Jones, 1995]
sostiene que la mejor teora para un conjunto de datos es aquella que minimiza el
tamao de la teora y la cantidad de informacin necesaria para especificar las
excepciones, desde el punto de vista del aprendizaje automtico esto significa que
dado un conjunto de instancias, un sistema de aprendizaje infiere una teora a partir
de ellas; supngase una analoga con el campo de las comunicaciones: la teora con las
excepciones debe ser transmitida por un canal perfecto. El MDL sostiene que la mejor
generalizacin es aquella que requiere la menor cantidad de bits para transmitir la
generalizacin junto con los ejemplos a partir de la cual fue generada. Esto evita las
teoras que satisfacen los datos al extremo sobre-ajuste, ya que los ejemplos se
transmiten tambin, y las teoras demasiado extensas sern penalizadas. Por otro lado,
tambin se puede transmitir la teora nula que no ayuda en lo ms mnimo al
transmitir los ejemplos. Entonces, pueden transmitirse tanto las teoras simples como
aquellas muy complejas y el MDL provee una forma de medir la performance de los
algoritmos basndose en los datos de entrenamiento nicamente. Esta parece ser la
solucin ideal al problema de medir la performance.
Veamos cmo se aplica el principio MDL. Supongamos que un sistema de
aprendizaje genera una teora , basada en un conjunto de entrenamiento , y
requiere una cierta cantidad de bits para codificar la teora. Dada la teora, el
conjunto de entrenamiento puede codificarse en una cantidad de bits.
est dada por la funcin de ganancia de informacin sumando todos los miembros del
conjunto de entrenamiento. La longitud de descripcin total de la teora es +
. El principio MDL recomienda la teora que minimiza esta suma.
Hay que recordar que los algoritmos de la familia TDIDT realizan una bsqueda
en el espacio de hiptesis posibles, constituido por todos los rboles de decisin
posibles. Su sesgo inductivo, siguiendo el principio de la Afeitadora de Occam, es una
preferencia sobre los rboles pequeos frente a los rboles ms profundos y
frondosos.
Estado del Arte

Ariel Kogan

15

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

2.2.3

Descripcin general de los algoritmos

El algoritmo principal de los sistemas de la familia TDIDT, a la cual pertenecen el


ID3 y su descendiente el C4.5, es el proceso de generacin de un rbol de decisin
inicial a partir de un conjunto de datos de entrenamiento. La idea original est basada
en un trabajo de Hoveland y Hunt de los aos 50, culminado en el libro Experiments in
Induction [Hunt et al., 1966] que describe varios experimentos con varias
implementaciones de sistemas de aprendizaje de conceptos (Concept Learning
Systems CLS).

2.2.3.1

Divisin de los datos

El mtodo divide y reinars realiza en cada paso una particin de los datos del
nodo segn una prueba realizada sobre la mejor variable. Cualquier prueba que
divida a en una manera no trivial, tal que al menos dos subconjuntos distintos
no estn vacos, eventualmente resultar en una particin de subconjuntos de una
nica clase, an cuando la mayora de los subconjuntos contengan un solo ejemplo. Sin
embargo, el proceso de construccin del rbol no apunta meramente a encontrar
cualquier particin de este tipo, sino a encontrar un rbol que revele una estructura
del dominio y, por lo tanto, tenga poder predictivo. Para ello, se necesita un nmero
importante de casos en cada hoja o, dicho de otra manera, la particin debe tener la
menor cantidad de clases posibles. En el caso ideal, se busca elegir en cada paso la
prueba que genere el rbol ms pequeo; es decir, se busca un rbol de decisin
compacto que sea consistente con los datos de entrenamiento. Para ello se pueden
explorar todos los rboles posibles y elegir el ms simple, pero desafortunadamente
un nmero exponencial de rboles debera ser analizado. El problema de encontrar el
rbol de decisin ms pequeo consistente con un conjunto de entrenamiento es de
complejidad NP-completa.
La mayora de los mtodos de construccin de rboles de decisin, incluyendo
el C4.5 y el ID3, no permiten volver a estados anteriores, es decir, son algoritmos
golosos sin vuelta atrs. Una vez que se ha escogido una prueba para particionar el
conjunto actual, tpicamente basndose en la maximizacin de alguna medida local de
progreso, la particin se concreta y las consecuencias de una eleccin alternativa no se
exploran. Por este motivo, la eleccin debe ser bien realizada.

2.2.3.1.1

Eleccin del criterio de divisin:

Para realizar la divisin de los datos en cada paso, Quinlan propone la


utilizacin de los mtodos de la teora de la informacin. En un principio, el ID3
utilizaba la ganancia como criterio de divisin, sin embargo a partir de numerosas
pruebas se descubri que este criterio no era efectivo en todos los casos y se obtenan
mejores resultados si se normalizaba el criterio en cada paso, por lo tanto, comenz a

16

Ariel Kogan

Estado del Arte

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

utilizarse la proporcin de ganancia de informacin, con mayor xito; a continuacin se


presentan ambos criterios.

2.2.3.1.1.1 Criterio de ganancia:


La definicin de ganancia se presenta de la siguiente forma. Supongamos que
tenemos una prueba posible con resultados que particionan al conjunto de
entrenamiento en los subconjuntos 1 , 2 , , . Si la prueba se realiza sin explorar las
divisiones subsiguientes de los subconjuntos , la nica informacin disponible para
evaluar la particin es la distribucin de clases en y sus subconjuntos.
Consideremos una medida similar luego de que ha sido particionado de
acuerdo a los resultados de la prueba . La informacin esperada (entropa) puede
determinarse como la suma ponderada de los subconjuntos, de la siguiente manera:

, =
=1

La cantidad , = , mide la informacin ganada al partir


de acuerdo a la prueba . El criterio de ganancia, entonces, selecciona la prueba que
maximice la ganancia de informacin, es decir, antes de particionar los datos en cada
nodo, se calcula la ganancia que resultara de particionar el conjunto de datos segn
cada una de las variables posibles y se realiza la particin que resulta en la mayor
ganancia.

2.2.3.1.1.2 Criterio de proporcin de ganancia:


El criterio de ganancia tiene un defecto muy serio, y es que presenta una
tendencia muy fuerte a favorecer las pruebas con muchos resultados. Analicemos una
prueba sobre una variable que sea la clave primaria de un conjunto de datos, en la cual
obtendremos un nico subconjunto para cada caso y para cada subconjunto
tendremos , = 0, entonces la ganancia de informacin ser mxima. Desde el
punto de vista de la prediccin, este tipo de divisin no es til.
Esta tendencia inherente al criterio de ganancia puede corregirse mediante una
suerte de normalizacin, en la cual se ajusta la ganancia aparente atribuible a pruebas
con muchos resultados. Consideremos el contenido de informacin de un mensaje
correspondiente a los resultados de las pruebas. Por analoga a la definicin de la
tenemos:

_ =
=1

Estado del Arte

log 2

Ariel Kogan

17

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Esto representa la informacin potencial generada al dividir en


subconjuntos, mientras que la ganancia de informacin mide la informacin relevante
a una clasificacin que nace de la misma divisin. Entonces:
__ =

,
_

expresa la proporcin til de informacin generada en la particin. Si la particin es


casi trivial, la informacin de la divisin ser pequea y esta proporcin se volver
inestable. Para evitar este fenmeno, el criterio de proporcin de ganancia selecciona
una prueba que maximice la expresin anterior, sujeta a la restriccin de que la
informacin de la divisin sea grande, al menos tan grande como la ganancia promedio
sobre todas las pruebas realizadas.

2.2.3.2

Construccin de rboles

2.2.3.2.1

ID3

El algoritmo ID3, diseado en 1993 por J. Ross Quinlan [Quinlan, 1993a,


Quinlan, 1993b], toma objetos de una clase conocida y los describe en trminos de una
coleccin fija de propiedades o de variables, produciendo un rbol de decisin sobre
estas variables que clasifica correctamente todos los objetos [Quinlan, 1993b]. Hay
ciertas cualidades que diferencian a este algoritmo de otros sistemas generales de
inferencia. La primera se basa en la forma en que el esfuerzo requerido para realizar
una tarea de induccin crece con la dificultad de la tarea. El ID3 fue diseado
especficamente para trabajar con masas de objetos, y el tiempo requerido para
procesar los datos crece slo linealmente con la dificultad, como producto de:
La cantidad de objetos presentados como ejemplos.
La cantidad de variables dadas para describir estos objetos.
La complejidad del concepto a ser desarrollado (medido por la cantidad de nodos
en el rbol de decisin).
Esta linealidad se consigue a costa del poder descriptivo ya que los conceptos
desarrollados por el ID3 slo toman la forma de rboles de decisin basados en las
variables dadas, y este lenguaje es mucho ms restrictivo que la lgica de primer
orden o la lgica multivaluada, en la cual otros sistemas expresan sus conceptos
[Quinlan, 1993b].
El ID3 fue presentado como descendiente del CLS creado por Hunt y, como
contrapartida de su antecesor, es un mecanismo mucho ms simple para el
descubrimiento de una coleccin de objetos pertenecientes a dos o ms clases. Cada
objeto debe estar descripto en trminos de un conjunto fijo de variables, cada una de
las cuales cuenta con su conjunto de posibles valores. Por ejemplo, la variable
humedad puede tener los valores {alta, baja}, y la variable clima, {soleado, nublado,
lluvioso}.

18

Ariel Kogan

Estado del Arte

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Una regla de clasificacin en la forma de un rbol de decisin puede construirse


para cualquier conjunto de variables de esta forma [Quinlan, 1993b]:
Si est vaco, entonces se lo asocia arbitrariamente a cualquiera de las clases.
Si contiene los representantes de varias clases, se selecciona una variable y se
particiona en conjuntos disjuntos 1 , 2 , , , donde contiene aquellos
miembros de que tienen el valor para la variable seleccionada. Cada uno de
estos subconjuntos se maneja con la misma estrategia.
El resultado es un rbol en el cual cada hoja contiene un nombre de clase y
cada nodo interior especifica una variable para ser testeada con una rama
correspondiente al valor de la variable.

2.2.3.2.1.1 Descripcin del ID3


El objetivo del ID3 es crear una descripcin eficiente de un conjunto de datos
mediante la utilizacin de un rbol de decisin. Dados datos consistentes, es decir, sin
contradiccin entre ellos, el rbol resultante describir el conjunto de entrada a la
perfeccin. Adems, el rbol puede ser utilizado para predecir los valores de nuevos
datos, asumiendo siempre que el conjunto de datos sobre el cual se trabaja es
representativo de la totalidad de los datos.
Dados:
Un conjunto de datos.
Un conjunto de descriptores de cada dato.
Un clasificador/conjunto de clasificadores para cada objeto.
Se desea obtener un rbol de decisin simple basndose en la entropa, donde
los nodos pueden ser:
Nodos intermedios: en donde se encuentran los descriptores escogidos segn el
criterio de entropa, que determinan cul rama es la que debe tomarse.
Hojas: estos nodos determinan el valor del clasificador.
Este procedimiento de formacin de reglas funcionar siempre, dado que no
existen dos objetos pertenecientes a distintas clases pero con idntico valor para cada
uno de sus variables; si este caso llegara a presentarse, las variables son inadecuadas
para el proceso de clasificacin.
Hay dos conceptos importantes a tener en cuenta en el algoritmo ID3 [Blurock,
1996]: la entropa y el rbol de decisin. La entropa se utiliza para encontrar el
parmetro ms significativo en la caracterizacin de un clasificador. El rbol de
decisin es un medio eficiente e intuitivo para organizar los descriptores que pueden
ser utilizados con funciones predictivas.

Estado del Arte

Ariel Kogan

19

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

2.2.3.2.1.2 Algoritmo ID3


A continuacin se presenta el algoritmo del mtodo ID3 para la construccin de
rboles de decisin en funcin de un conjunto de datos previamente clasificados.
Funcin ID3
(R: conjunto de atributos no clasificadores,
C: atributo clasificador,
S: conjunto de entrenamiento) devuelve un rbol de decisin;
Comienzo
Si S est vaco,
Devolver un nico nodo con Valor Falla;
Si todos los registros de S tienen el mismo valor para el atributo clasificador,
Devolver un nico nodo con dicho valor;
Si R est vaco, entonces
Devolver un nico nodo con el valor ms frecuente del atributo clasificador en los
registros de S [Nota: habr errores, es decir, registros que no estarn bien
clasificados en este caso];
Si R no est vaco, entonces
D atributo con mayor Ganancia(D,S) entre los atributos de R;
Sean {dj| j=1,2, .., m} los valores del atributo D;
Sean {Sj| j=1,2, .., m} los subconjuntos de S correspondientes a los valores de d j
respectivamente;
Devolver un rbol con la raz nombrada como D y con los arcos nombrados d 1, d2,..,
dm que van respectivamente a los rboles
ID3(R-{D}, C, S1), ID3(R-{D}, C, S2), .., ID3(R-{D}, C, Sm);
Fin

2.2.3.2.1.3 Poda de los rboles de decisin


La poda de los rboles de decisin se realiza con el objetivo de que stos sean
ms comprensibles, lo cual implica que tengan menos niveles y/o sean menos
frondosos. La poda aplicada en el ID3 se realiza una vez que el rbol ha sido generado y
es un mecanismo bastante simple: si de un nodo nacen muchas ramas, las cuales
terminan todas en la misma clase, entonces se reemplaza dicho nodo por una hoja con
la clase comn, en caso contrario, se analizan todos los nodos hijos.
2.2.3.2.1.4 Limitaciones al ID3
El ID3 puede aplicarse a cualquier conjunto de datos, siempre y cuando las
variables sean discretas. Este sistema no cuenta con la facilidad de trabajar con
variables continuas ya que analiza la entropa sobre cada uno de los valores de una
variable, por lo tanto, tomara cada valor de una variable continua individualmente en
el clculo de la entropa, lo cual no es til en muchos de los dominios. Cuando se
trabaja con variables continuas, generalmente se piensa en rangos de valores y no en
valores particulares.
Existen varias maneras de solucionar este problema del ID3, como la
agrupacin de valores presentada en [Gallion et al., 1993] o la discretizacin de los

20

Ariel Kogan

Estado del Arte

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

mismos explicada en [Blurock, 1996; Quinlan, 1993c]. El C4.5 resolvi el problema de


los atributos continuos mediante la discretizacin.

2.2.3.2.2

C4.5

El C4.5 se basa en el ID3, por lo tanto, la estructura principal de ambos mtodos


es la misma. El C4.5 construye un rbol de decisin mediante el algoritmo divide y
reinars y evala la informacin en cada caso utilizando los criterios de entropa y
ganancia o proporcin de ganancia, segn sea el caso. A continuacin, se explicarn las
caractersticas particulares de este mtodo que lo diferencian de su antecesor.
2.2.3.2.2.1 Algoritmo C4.5
El algoritmo del mtodo C4.5 para la construccin de rboles de decisin es a
grandes rasgos muy similar al del ID3. Vara en la manera en que realiza las pruebas
sobre las variables, tal como se detalla en las secciones siguientes.
Funcin C4.5
(R: conjunto de atributos no clasificadores,
C: atributo clasificador,
S: conjunto de entrenamiento) devuelve un rbol de decisin;
Comienzo
Si S est vaco,
Devolver un nico nodo con Valor Falla;
Si todos los registros de S tienen el mismo valor para el atributo clasificador,
Devolver un nico nodo con dicho valor;
Si R est vaco, entonces
Devolver un nico nodo con el valor ms frecuente del atributo clasificador en los
registros de S [Nota: habr errores, es decir, registros que no estarn bien
clasificados en este caso];
Si R no est vaco, entonces
D atributo con mayor Proporcin de Ganancia(D,S) entre los atributos de R;
Sean {dj| j=1,2, .., m} los valores del atributo D;
Sean {Sj| j=1,2, .., m} los subconjuntos de S correspondientes a los valores de dj
respectivamente;
Devolver un rbol con la raz nombrada como D y con los arcos nombrados d 1, d2,..,
dm que van respectivamente a los rboles
C4.5(R-{D}, C, S1), C4.5(R-{D}, C, S2), .., C4.5(R-{D}, C, Sm);
Fin

2.2.3.2.2.2 Caractersticas particulares del C4.5


En cada nodo, el sistema debe decidir cul prueba escoge para dividir los datos.
Los tres tipos de pruebas posibles propuestas por el C4.5 son [Quinlan, 1993c]:
1. La prueba estndar para las variables discretas, con un resultado y una rama
para cada valor posible de la variable.

Estado del Arte

Ariel Kogan

21

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

2. Una prueba ms compleja, basada en una variable discreta, en donde los


valores posibles son asignados a un nmero variable de grupos con un
resultado posible para cada grupo, en lugar de para cada valor.
3. Si una variable tiene valores numricos continuos, se realiza una prueba
binaria con resultados y > , para lo cual debe determinarse el valor
lmite .
Todas estas pruebas se evalan de la misma manera, mirando el resultado de la
proporcin de ganancia, o alternativamente, el de la ganancia resultante de la divisin
que producen. Ha sido til agregar una restriccin adicional: para cualquier divisin, al
menos dos de los subconjuntos deben contener un nmero razonable de casos. Esta
restriccin, que evita las subdivisiones casi triviales, es tenida en cuenta solamente
cuando el conjunto es pequeo.

2.2.3.2.2.3 Poda de los rboles de decisin


El mtodo recursivo de particionamiento para construir los rboles de decisin
descriptos anteriormente, subdividir el conjunto de entrenamiento hasta que la
particin contenga casos de una nica clase, o hasta que la prueba no ofrezca mejora
alguna. Esto da como resultado, generalmente, un rbol muy complejo que sobreajusta los datos al inferir una estructura mayor que la requerida por los casos de
entrenamiento [Mitchell, 2000; Quinlan, 1995]. Adems, el rbol inicial generalmente
es extremadamente complejo y tiene una proporcin de errores superior a la de un
rbol ms simple. Mientras que el aumento en complejidad se comprende a simple
vista, la mayor proporcin de errores puede ser ms difcil de visualizar.
Para entender este problema, supongamos que tenemos un conjunto de datos con
dos clases, donde una proporcin 0,5 de los casos pertenecen a la clase
mayoritaria. Si un clasificador asigna todos los casos con valores indeterminados a la
clase mayoritaria, la proporcin esperada de error es claramente 1 . Si, en cambio,
el clasificador asigna un caso a la clase mayoritaria con probabilidad y a la otra clase
con probabilidad 1 , su proporcin esperada de error es la suma de:
La probabilidad de que un caso perteneciente a la clase mayoritaria sea asignado
a la otra clase, 1 .
La probabilidad de que un caso perteneciente a la otra clase sea asignado a la
clase mayoritaria, 1 .
que da como resultado 2 1 . Como es al menos 0,5, esto es generalmente
superior a 1 , entonces el segundo clasificador tendr una mayor proporcin de
errores. Un rbol de decisin complejo tiene una gran similitud con este segundo tipo
de clasificador. Los casos no se relacionan a una clase, entonces, el rbol manda cada
caso al azar a alguna de las hojas.
Un rbol de decisin no se simplifica borrando todo el rbol a favor de una
rama, sino que se eliminan las partes del rbol que no contribuyen a la exactitud de la

22

Ariel Kogan

Estado del Arte

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

clasificacin para los nuevos casos, produciendo un rbol menos complejo, y por lo
tanto, ms comprensible.

2.2.4

Presentacin de los resultados

Tanto el ID3 como el C4.5 generan un clasificador de la forma de un rbol de


decisin, cuya estructura es [Quinlan 1993c]:
Una hoja, indicando una clase, o
Un nodo de decisin que especifica alguna prueba a ser realizada sobre un nico
atributo, con una rama y subrbol para cada valor posible de la prueba.
El rbol de decisin generado por el C4.5 cuenta con varias caractersticas
particulares, entre ellas cada hoja tiene asociados dos nmeros, que indican el nmero
de casos de entrenamientos cubiertos por cada hoja y la cantidad de ellos clasificados
errneamente por la hoja; es en cierta manera, un estimador del xito del rbol sobre
los casos de entrenamiento. El ID3, en cambio, no clasifica errneamente a los datos
de entrenamiento, con lo cual no son necesarios este tipo de indicadores; es por ello
que este algoritmo, a diferencia del C4.5, corre el riesgo de caer en sobre-ajuste.

Estado del Arte

Ariel Kogan

23

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Descripcin del Problema

En este captulo se presenta el problema a resolver, se fundamenta el porqu


de su eleccin y se seala su importancia en el contexto de estudio.
La integracin de agrupamiento e induccin como tcnica de descubrimiento
de conocimiento utilizada frecuentemente en trabajos de campo [Grosser et al., 2005;
Britos et al., 2006; Cogliati et al., 2006; Ferrero et al., 2006; Salgueiro et al., 2006], no
cuenta con estudios sobre resultados o lineamientos ni mtricas que permitan
optimizar su desempeo.
Por otra parte, dicha integracin forma parte de estudios ms abarcativos
[Rancn et al., 2007] que tienden a la integracin entre sistemas basados en
conocimiento y sistemas de descubrimiento de conocimiento. El mejoramiento de una
base de conocimiento mediante la incorporacin de piezas de conocimiento
descubiertas de forma automtica, puede conducir a la degradacin de la base de
conocimiento original. Es por eso que resulta necesario explorar la degradacin de la
calidad del proceso de descubrimiento de conocimiento mediante el uso de la
integracin de agrupamiento e induccin.
La no existencia de conceptualizacin de dominios que permita el estudio
sistemtico de estos, es una limitacin que debera ser tenida en cuenta al realizar
cualquier estudio.
La ausencia de un sistema que permita la experimentacin controlada en un
ambiente de laboratorio, presenta el desafo de proveer una solucin para llevar
adelante una experimentacin sistemtica con el objetivo de adquirir resultados para
el anlisis del problema a resolver.
En este contexto, puede plantearse el estudio del comportamiento de la
integracin de los algoritmos de agrupamiento por SOM e induccin por TDIDT como
mecanismo de descubrimiento de conocimiento.

24

Ariel Kogan

Descripcin del Problema

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Solucin Propuesta

En este captulo se describe la respuesta al problema planteado. Se identifican


los parmetros del problema (seccin 4.1), se plantean definiciones necesarias (seccin
4.2) como el cubrimiento de una regla sobre otra (seccin 4.2.1), el cubrimiento de una
regla original por reglas descubiertas (seccin 4.2.2) y el concepto de concentracin de
reglas que indican la pertenencia a una clase (seccin 4.2.3). Se aborda el mtodo de
generacin de casos de experimentacin (seccin 4.3) describindolo (seccin 4.3.1) y
dando un ejemplo para su mejor comprensin (seccin 4.3.2). Finalmente, se realiza
una descripcin del Banco de Pruebas (seccin 4.4), abordando sus funcionalidades
(seccin 4.4.1) y describiendo su dinmica de funcionamiento (seccin 4.4.2).

4.1

Identificacin de los parmetros del problema

No existe una conceptualizacin de dominios que permita el estudio


sistemtico de estos en trminos de los parmetros que los rigen [Perez-Rey et al.,
2004; Chen et al., 2005; Pandey y Mishra, 2005; Gupta et al., 2006; Song et al., 2006].
Es as como en esta seccin se identifican los parmetros de este problema y se
propone un mtodo para la generacin de dominios de manera controlada, de forma
tal de emular dominios posibles para la aplicacin de descubrimiento de conocimiento.
Estos dominios deben ser generados en base a parmetros conocidos por el
experimentador y permitir su variacin con el objetivo de llevar adelante experimentos
sobre dominios cualitativamente diferentes.
Los parmetros del problema que han sido identificados se muestran en la
tabla 4.1:

Descripcin del Parmetro

Nemotcnico

Cantidad de atributos de cada ejemplo.

attributesNumber

Cantidad de posibles valores que puede tomar attPossibleValues


cada atributo.
Cantidad de clases que rigen los ejemplos.

classPossibleValues

Cantidad de reglas que indican la pertenencia a rulesPerClass


cada clase.
Cantidad de atributos sobre los cuales las reglas attUsedInRule
imponen condiciones.
Cantidad de ejemplos de cada regla.

Solucin Propuesta

instancesByRule

Ariel Kogan

25

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Porcentaje de la cantidad de valores posibles que classAttPossibleValuesPercentage


puede tomar cada atributo, mediante el cual -para
los atributos sobre los que se imponen
condiciones- se generar un subconjunto de los
valores posibles para cada atributo, de forma tal
de establecer un subespacio correspondiente a
una clase.
Indicacin de si los ejemplos se encuentran mix
distribuidos aleatoriamente antes de ser
procesadas por la combinacin de SOM y TDIDT o
no.
Indicacin de si se permite una concepcin no allowMultipleCoverage
estricta del cubrimiento de una regla o no.
Porcentaje de desviacin en la cantidad de allowedCoverageDesviation
instancias cubiertas, para considerar que la regla
ha sido cubierta.
Cantidad de veces que se somete a la SOM el somTrainingIterationsMultiplier
conjunto de datos, para entrenarla.
Ancho del mapa SOM, cantidad de neuronas en somMapWidth
horizontal
Alto del mapa SOM, cantidad de neuronas en somMapHeight
vertical
Tabla 4.1: Parmetros identificados del problema

4.2

Definiciones

Para la mejor comprensin de cierta terminologa utilizada en el presente


trabajo, es til realizar algunas definiciones.

4.2.1

Cubrimiento de una regla sobre otra

Para el presente trabajo, se ha definido un criterio para determinar si una regla


es cubrimiento de otra. El mismo consiste en:

26

Ariel Kogan

Solucin Propuesta

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Criterio de cubrimiento de una regla sobre otra


Comparando cada uno de los atributos de las reglas entre s, se debe cumplir
para todos los atributos que si la regla a cubrir impone condiciones y la regla que cubre
tambin lo hace, las condiciones deben ser las mismas.
Considrese un caso en el que se tienen las siguientes 2 reglas:
Regla que cubre:
1

Regla a cubrir:
1

De acuerdo al criterio expuesto, la primera s cubre a la segunda: La regla que


cubre no impone condiciones sobre el 2 atributo, mientras que la regla a cubrir s lo
hace. Esto no es un problema ya que la regla a cubrir es ms especfica que la regla que
cubre. En el caso del 4 atributo, ambas reglas imponen condiciones y stas son las
mismas. En el caso del 6 atributo, la regla que cubre impone condiciones, pero la
regla a cubrir no. Esto quiere decir que segn la regla a cubrir, el valor del 6 atributo
de sus ejemplos no est condicionado, mientras que para la regla que cubre s lo est.
Supngase la siguiente situacin. Sean:
Regla que cubre:
*

Regla a cubrir:

Y considrese el siguiente ejemplo:


1

Este ejemplo cumple con la regla a cubrir, pero no con la regla que cubre, ya
que el valor del 6 atributo no es 5. Sin embargo, como se dijo, bajo el criterio definido
para el presente trabajo, la primera regla s cubre a la segunda.
El motivo por el cual el criterio utilizado para el presente trabajo hace esta
concesin se debe a que, de acuerdo a lo observado de forma experimental, la
determinacin al azar de los valores de los atributos libres, puede arrojar ejemplos en
los cuales varias veces se repite el mismo valor. Es decir que para la original:
Solucin Propuesta

Ariel Kogan

27

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Supuesta regla original

Se pueden generar ejemplos como:


6

Supuesto ejemplo 1
Supuesto ejemplo 2
Supuesto ejemplo 3

Y tras el proceso de educcin de conocimiento, obtener una regla:


*

Supuesta regla descubierta

La regla descubierta no impone condiciones sobre el 2 atributo porque quizs


hacindolo sobre el 4 ya logr determinar un grupo de ejemplos. Sin embargo, la
coincidencia que el 6 atributo de los ejemplos haya tomado el mismo valor para todos
ellos, bien pudo haber provocado que la regla descubierta imponga condiciones sobre
este atributo ya que no hay manera de controlar dicha coincidencia y diferenciarla de
un patrn intencionado.
Se observ que si no se realizaba esta concesin al criterio de cubrimiento de
una regla sobre otra, el anlisis de la cantidad de reglas cubiertas de forma correcta no
resultaba preciso.

4.2.2

Cubrimiento de una regla original por reglas descubiertas

Experimentalmente se observ que las reglas descubiertas no necesariamente


imponan condiciones sobre los mismos atributos que las reglas originales. Sin
embargo, era posible notar que -a pesar de imponer condiciones sobre otros atributoslas reglas eran cubrimiento del mismo conjunto de ejemplos. Es as como no se pudo
utilizar como criterio de cubrimiento entre reglas, el hecho que impongan las
condiciones sobre los mismos atributos.
El proceso utilizado fue el siguiente:
1. Para cada una de las reglas originales, se toma del conjunto de reglas
descubiertas aquellas que la cubren.
2. Se suma la cantidad de ejemplos que responden al conjunto de reglas
descubiertas determinado en el paso 2.

28

Ariel Kogan

Solucin Propuesta

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

3. Si la suma de ejemplos computada en el paso 2 est comprendida entre la


cantidad de ejemplos que se sabe se generaron para la regla original y esta
cantidad sumada a una desviacin, se considera que la regla original ha sido
correctamente cubierta.
La condicin del paso 3 responde a los siguientes criterios:

Para considerar que una regla original ha sido correctamente cubierta, las
reglas descubiertas que la cubren deben cubrir al menos la misma cantidad de
ejemplos que la regla original.

Debido a que las reglas descubiertas no necesariamente imponen condiciones


sobre los mismos atributos que la regla original, es posible que cubran ciertos
ejemplos que no eran cubrimiento de la regla original. Sin embargo, es posible
aceptar una cierta desviacin en el cubrimiento. Esta desviacin puede ser
modelada como un cierto porcentaje de la cantidad de ejemplos que cubra la
regla
original.
Este
porcentaje
corresponde
al
parmetro
allowedCoverageDesviation.

4.2.3

Concentracin de las reglas que indican la pertenencia a cada


clase

Para la definicin de la concentracin de las reglas que indican la pertenencia a


cada clase, es til hacer uso de la figura 4.1, la cual define grficamente una clase que
rige el dominio.

v1

v1

v1

v1

v2

v2

v2

v2

v3

v3

v3

v3

v4

v4

v4

v4

v5

v5

v5

v5

v6

v6

v6

v6

v7

v7

v7

v7

v8

v8

v8

v8

v8

v8

v7

v7

v6

v6

v5

A6

v5

v4

A5

v4

v3

A4

v3

v2

A3

v2

v1

A2

v1

A1

Figura 4.1: Definicin grfica de una clase que rige el dominio

Solucin Propuesta

Ariel Kogan

29

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Esta clase impone condiciones de es igual nicamente sobre los atributos A2


y A4. En el caso del atributo A2, las condiciones pueden ser con los valores v1, v3, v4 y
v7, mientras que con el atributo A4, pueden ser con los valores v2, v5, v7 y v8.
Las reglas que pueden ser formuladas para esta clase, pueden imponer 4
condiciones distintas de es igual sobre los atributos sobre los cuales se imponen
condiciones, existiendo 8 valores para cada atributo. Si se pudieran imponer
nicamente 3 condiciones distintas de es igual con los mismos 8 valores posibles por
cada atributo, las reglas que indicaran la pertenencia a esta clase, estaran ms
concentradas.
Esta proporcin entre los valores posibles que puede tomar un atributo sobre
el que se imponen condiciones y la cantidad de valores posibles que puede tomar cada
atributo, corresponde al parmetro classAttPossibleValuesPercentage.
Es as como:
A mayor classAttPossibleValuesPercentage, menor concentracin de las reglas
que indican la pertenencia a cada clase.
A menor classAttPossibleValuesPercentage, mayor concentracin de las reglas
que indican la pertenencia a cada clase.

4.3

Mtodo de generacin de casos de experimentacin

4.3.1

Descripcin del mtodo

4.3.1.1

Conjuntos utilizados

Sea = 1 , 2 , ,
el conjunto de valores posibles que
puede tomar cada atributo, de cardinalidad = y que verifica
que , .
Sea = 1 , 2 , , un ejemplo del dominio compuesto por
attributesNumber atributos que verifican que , .
Sea = 1 , 2 , ,
el conjunto de clases que rigen el
dominio, de cardinalidad = .

Sea = 1 , 2 , ,
el conjunto de subndices de los atributos
sobre los que se imponen condiciones para la generacin de las reglas que indican la
pertenencia a la clase , de cardinalidad = .

Considerando:

30

= 1

, 2

, ,

Ariel Kogan

100

sea

el conjunto de posibles valores que

Solucin Propuesta

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

puede tomar el atributo sobre el que se imponen condiciones para la generacin

de las reglas que indican la pertenencia a la clase , de cardinalidad

.
Se define la cantidad de elementos del conjunto de reglas que indicarn la
pertenencia a cada una de las clases (rulesPerClass).

Sea = 1 , 2 , ,
el conjunto de reglas que indican la
pertenencia a la clase , de cardinalidad = y que verifica que

, . Cada regla es de la forma = , , ,


donde

Sea = 1 , 2 , ,

el conjunto de ejemplos que da

soporte a la regla , de cardinalidad = , donde cada ejemplo

es de la forma = / / .

Sea =
Sea =

=1

=1

el conjunto total de reglas que rigen al dominio.

el conjunto de ejemplos que da soporte a las

reglas que indican la pertenencia a la clase .


Sea =
el conjunto total de ejemplos que da soporte al
=1
conjunto de reglas .
Sea el conjunto de reglas que se obtiene como resultado de aplicar a
agrupamiento seguido por induccin de reglas mediante TDIDT.
Sea = / el conjunto de reglas
originales que son cubiertas por las reglas generadas. El cubrimiento es de acuerdo a lo
definido en la seccin 4.2.2.

4.3.1.2

Pasos del mtodo


El mtodo de generacin de experimentos consta de los siguientes pasos:

1. Se define el conjunto de valores posibles que podr tomar cada atributo.


2. Se establece la cantidad de atributos que compondrn los ejemplos del
dominio, definiendo as la forma de .

Solucin Propuesta

Ariel Kogan

31

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

3. Se define la cantidad de clases que regirn al dominio y se construye el


conjunto .
4. Se define la cantidad de atributos sobre los que se impondrn condiciones para
la generacin de las reglas que indican la pertenencia a cada clase, respetando
siempre que < .
5. Para cada clase se construye su conjunto y para cada atributo
correspondiente se construye su conjunto . Se construyen las reglas que

conformarn el conjunto , as como el conjunto de ejemplos que da


soporte a estas reglas.
6. Se construye el conjunto de todas las reglas y el conjunto de todos los
ejemplos.
7. Se aplica a agrupamiento por SOM e induccin de reglas por TDIDT y se
obtiene el conjunto de reglas resultado .
8. Se determina el conjunto de reglas pertenecientes a que son cubiertas por
reglas pertenecientes a y se genera el conjunto .
9. Se determina el porcentaje de reglas cubiertas de forma correcta: =

100.

4.3.2

Ejemplo de generacin de un caso de experimentacin

Para una mejor comprensin del significado de algunos de los parmetros del
problema, se propone un ejemplo de generacin de un dominio, para dejar de
manifiesto el papel que juega cada uno de estos en la ejecucin del experimento.
La siguiente tabla indica los valores asignados a algunos de los parmetros:

Parmetro
Valor
attributesNumber
6
attPossibleValues
8
classPossibleValues
5
rulesPerClass
4
instancesByRule
10
attUsedInRule
2
classAttPossibleValuesPercentage
50

32

Ariel Kogan

Solucin Propuesta

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

La primera caracterstica constructiva es la cantidad de atributos de cada regla


(attributesNumber), la cual es igual para los ejemplos. En este caso es 6, por lo que las
reglas y los ejemplos sern de la forma:

A1

A2

A3

A4

A5

A6

Figura 4.2: Atributos de un ejemplo del dominio

Cada uno de los atributos, puede tomar 8 valores posibles (attPossibleValues):

A1

A2

A3

A4

A5

A6

Figura 4.3: Valores posibles que pueden tomar los atributos de un ejemplo

Hasta aqu cada uno de los ejemplos es libre de tomar en cada uno de sus
atributos, alguno de los valores posibles.
Geomtricamente, cada ejemplo puede ser visto como un punto en un
hiperespacio de 6 dimensiones, en el cual cada una de sus coordenadas puede tomar
un valor que va del 1 al 8.
Con el objetivo de generar ejemplos que respondan a patrones comunes, se
imponen limitaciones sobre el hiperespacio de modo tal de crear nubes que agrupen
a los ejemplos de cada patrn.
La clase es la primera limitacin a los ejemplos. De acuerdo a lo definido en el
presente trabajo, sta consiste en determinar al azar cules son los atributos sobre los
que se impondrn condiciones y para cada uno de estos, determinar tambin al azar
cules son los valores posibles que podr tomar cada atributo.
Una representacin grfica de una clase se sintetiza en la figura 4.4:

Solucin Propuesta

Ariel Kogan

33

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

A1

A2

A3

A4

A5

A6

Figura 4.4: Definicin grfica de una clase que rige el dominio

Los atributos griseados son aquellos sobre los cuales la clase impone
condiciones. Estos son 2, tal como indica el parmetro attUsedInRule. Para la presente
clase, cada uno de estos puede tomar determinados valores, los cuales son elegidos al
azar entre los valores posibles que pueden tomar cada uno de los atributos. Tanto A2
como A4 pueden tomar 4 valores, nmero que corresponde al 50% de la cantidad total
de valores posibles, as como lo indica el parmetro classAttPossibleValuesPercentage.
Una vez definida la clase, es necesario definir las reglas que indican la
pertenencia a sta. Las reglas de una clase impondrn condiciones sobre los mismos
atributos que lo hace la clase, pero se tratarn de condiciones de es igual a alguno de
los valores posibles para dicho atributo, elegido al azar. Es as como un conjunto de
posibles reglas de la clase anterior son:

Figura 4.5: Definicin grfica de reglas que indican la pertenencia a una clase

34

Ariel Kogan

Solucin Propuesta

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

La forma de leer estas reglas es la siguiente: Considerando la primera de las


reglas, sta puede ser leda como Si A2 = 1 y A4 = 5, entonces el ejemplo pertenece a
la clase.
Para cada una de las clases, se generan rulesPerClass reglas. Los atributos
marcados con un asterisco, son libres de tomar cualquiera de los (8 en este caso)
valores posibles.
El ltimo paso restante para la generacin del dominio es generar los ejemplos
que darn soporte a cada regla. Estos provienen simplemente de tomar valores al azar
-entre los valores posibles- para cada uno de los atributos marcados con un asterisco, y
dejar siempre en el valor consignado aquellos atributos que en la figura 4.5 aparecen
griseados. Para cada regla, se generan instancesByRule ejemplos.
Cabe la posibilidad que un ejemplo responda a ms de una regla. Si se supone
que se tienen las siguientes 2 reglas, las cuales pertenecen a 2 clases distintas:
*

Y el siguiente ejemplo:
4

Es simple apreciar que ambas reglas cubren el ejemplo. Esta situacin puede
ser deseable o no. Mediante el parmetro allowMultipleCoverage se indica al banco de
pruebas si se desea trabajar de esta manera o no. En los experimentos realizados para
esta tesis, se determin que cada ejemplo poda responder a una nica regla.

4.4

Descripcin del Banco de Pruebas

El banco de pruebas es la herramienta utilizada para llevar adelante la


experimentacin. Es posible configurar el banco de pruebas mediante el ajuste de sus
parmetros, para realizar distintos experimentos.
La fijacin de los valores de los parmetros del banco de pruebas es la que
permite convertir la experiencia en un ambiente controlado de experimentacin.

4.4.1

Funcionalidades
El Banco de Pruebas provee las siguientes funcionalidades:

Solucin Propuesta

Ariel Kogan

35

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

4.4.1.1

Definicin de dominios

De acuerdo a los valores que toman los parmetros identificados en la seccin


4.1, el banco de pruebas es capaz de construir la definicin de un dominio. Esta
definicin responde a la modelizacin que se ha realizado estableciendo los valores de
los parmetros y generando al azar la informacin faltante.
Es as como el banco de pruebas provee la funcionalidad de definir dominios en
condiciones de laboratorio, en base a la modelizacin que se quiera imponer sobre
estos.

4.4.1.2

Generacin de ejemplos

Para los dominios definidos por el banco de pruebas, ste es capaz de generar
un conjunto de ejemplos que d soporte a cada uno de estos.

4.4.1.3

Agrupamiento por SOM

Una de las operaciones que permite efectuar el banco de pruebas es el


agrupamiento y la formacin de clusters mediante el algoritmo de redes neuronales
SOM.

4.4.1.4

Induccin por TDIDT

Para un conjunto de ejemplos, el banco de pruebas permite la aplicacin de


algoritmos de induccin de reglas haciendo uso de los rboles de induccin TDIDT, con
el objetivo de obtener reglas que lo caractericen.

4.4.1.5

Contrastacin de reglas

El banco de pruebas permite establecer la cantidad de reglas de un conjunto A


que son correctamente cubiertas por las reglas de un conjunto B, de acuerdo a las
definiciones establecidas en la seccin 4.2.
El mtodo de contrastacin de reglas que emplea el banco de pruebas,
responde a los siguientes lineamientos:

36

Debe concordar con los criterios comnmente utilizados en las prcticas de


descubrimiento de conocimiento.

Debe ser til para la evaluacin sobre dominios generados, con las
problemticas que esto pueda llegar a provocar.

Debe ser simple de evaluar y claro de comprender.

Ariel Kogan

Solucin Propuesta

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

4.4.2

Dinmica del Banco de Pruebas

La dinmica de trabajo del banco de pruebas consiste en realizar un


experimento en 3 pasos. El mismo se describe a continuacin:

Paso 3:
COMPARACIN DE
LOS CONJUNTOS DE
REGLAS

Generacin del dominio:

Generacin de clases.

Generacin de reglas
que indican la
pertenencia a cada
clase.

INDUCCIN
Reglas de clasificacin

Reglas descubiertas

Si .
.
Entonces ...

Si .
.
Entonces ...

Si .
.
Entonces ...

Si .
.
Entonces ...
Grupos (clases) formados a partir de los
ejemplos del dominio

Generacin de ejemplos:
Generacin de ejemplos que
dan soporte a cada una de las
reglas.

AGRUPAMIENTO

Ejemplos del dominio

Ejemplos del dominio

Paso 1:

Paso 2:

PREPARACIN DEL
EXPERIMENTO

EJECUCIN DEL
EXPERIMENTO

Figura 4.6: Experimento en 3 pasos

1. Preparacin del Experimento.


a. Generacin del dominio basada en la generacin de clases y reglas que
indican la pertenencia a cada una de stas.
b. Generacin de ejemplos que den soporte a cada una de las reglas de
clasificacin.
Como salida de este paso se obtiene un conjunto de reglas de clasificacin y un
conjunto de ejemplos del dominio que dan soporte a stas.

2. Ejecucin del Experimento.


a. Aplicacin del proceso de agrupamiento al conjunto de ejemplos del
dominio para obtener el conjunto de sus clusters (grupos).

Solucin Propuesta

Ariel Kogan

37

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

b. Aplicacin a cada cluster del proceso de induccin para obtener reglas


que caractericen la pertenencia a dicho cluster.
Como salida de este paso se obtiene el conjunto de reglas descubiertas.

3. Comparacin entre el conjunto de reglas de clasificacin del paso 1 y las reglas


descubiertas en el paso 2.
El porcentaje de reglas descubiertas de forma correcta, define el xito del
experimento.

38

Ariel Kogan

Solucin Propuesta

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Experimentacin

En este captulo se exponen los resultados obtenidos de los experimentos


realizados. Se han definido los parmetros a variar (seccin 5.1), delimitado el universo
de estudio (seccin 5.2), determinado un dominio patrn (seccin 5.3) y establecido el
formato de los resultados a obtener (seccin 5.4). Se ha definido una estrategia de
aspectacin de valores de variables (seccin 5.5) en base a requerimientos sobre sta
(seccin 5.5.1), habindose adoptado una solucin en particular (seccin 5.5.2). Para
esta solucin, se han determinado los pares de variables a estudiar (seccin 5.5.3) y se
ha confeccionado un diccionario de variables dependientes e independientes segn el
enfoque adoptado (5.5.4) para una comprensin ms clara.
Finalmente se han analizado e interpretado los experimentos (seccin 5.6) y se
han sistematizado las proposiciones experimentales formuladas (seccin 5.7), tanto
para el enfoque orientado al dominio (seccin 5.7.1) como para el enfoque orientado a
los ejemplos (seccin 5.7.2).

5.1

Definicin de Variables

De acuerdo a la demarcacin del alcance del presente trabajo, se han


establecido cules de los parmetros identificados del problema se estudiarn como
variables del experimento y cules se fijarn en un valor invariante a lo largo de la
ejecucin de todos los experimentos.
A continuacin se indica el carcter de variable o no de cada uno de los
parmetros:

Nemotcnico

Descripcin del Parmetro

Variable

attributesNumber

Cantidad de atributos de cada ejemplo.

attPossibleValues

Cantidad de posibles valores que puede


tomar cada atributo.

classPossibleValues

Cantidad de clases que rigen los


ejemplos.

rulesPerClass

Cantidad de reglas que indican la


pertenencia a cada clase.

attUsedInRule

Cantidad de atributos sobre los cuales


las reglas imponen condiciones.

instancesByRule

Cantidad de ejemplos de cada regla.

Experimentacin

Ariel Kogan

39

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

classAttPossibleValuesPercentage Porcentaje de la cantidad de valores


posibles que puede tomar cada
atributo, mediante el cual -para los
atributos sobre los que se imponen
condiciones- se generar un
subconjunto de los valores posibles
para cada atributo, de forma tal de
establecer un subespacio
correspondiente a una clase.

mix

Indicacin de si los ejemplos se


encuentran distribuidos aleatoriamente
antes de ser procesadas por la
combinacin de SOM y TDIDT o no.

No

allowMultipleCoverage

Indicacin de si se permite una


concepcin no estricta del cubrimiento
de una regla o no.

No

allowedCoverageDesviation

Porcentaje de desviacin en la cantidad


de instancias cubiertas, para considerar
que la regla ha sido cubierta.

No

somTrainingIterationsMultiplier

Cantidad de veces que se somete a la


SOM el conjunto de datos, para
entrenarla.

No

somMapWidth

Ancho del mapa SOM, cantidad de


neuronas en horizontal

No

somMapHeight

Alto del mapa SOM, cantidad de


neuronas en vertical

No

Tabla 5.1: Definicin de variabilidad o no de cada uno de los parmetros

5.2

Delimitacin del Universo de Estudio

Para las variables de estudio, se ha definido un rango de valores posibles. Esta


delimitacin consiste en la demarcacin del universo de estudio, el espacio dentro del
cual se variarn sus valores en busca del estudio de su conducta.
En la tabla 5.2 se detallan las variables, sus valores mnimos, mximos, los
correspondientes a un escenario medio y 5 valores discretos distribuidos en el rango
determinado:

40

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Variable (nemotcnico)

Mn Mx Med

attributesNumber

10

10

attPossibleValues

100

classPossibleValues

10

10

rulesPerClass

15

8 12

15

instancesByRule

20

10

5 10 15

20

attUsedInRule (%)

100

50 20 40 60 80 100

classAttPossibleValuesPercentage

100

20 20 40 60 80 100

20 20 40 60 80 100

Tabla 5.2: Rango de variacin de las variables

La seleccin de los rangos de variacin de cada una de las variables responde a


los siguientes criterios:

Criterios computacionales: Valores elevados de algunas variables (ej:


attributesNumber) tienen un efecto notorio en la velocidad con la que se
ejecutan los experimentos y a partir de determinados niveles, los tiempos de
ejecucin se tornan prohibitivos al trabajar con una plataforma de cmputo
pequea.

Nociones empricas sobre los escenarios comunes de descubrimiento de


conocimiento: De acuerdo a la experiencia de algunos de los integrantes del
grupo de investigacin en el que se enmarca este trabajo, en aplicaciones
reales de descubrimiento de conocimiento, ciertas variables suelen tomar
determinados rangos (ej: classPossibleValues, rulesPerClass).

Saturacin del dominio: El dominio de posibles ejemplos es finito y


condicionado al valor que toman ciertos parmetros. Es as como para evitar la
saturacin del dominio y la imposibilidad de ejecutar ciertos experimentos, se
limit la cantidad de ejemplos con la cual se trabaj (ej: instancesByRule,
rulesPerClass, classPossibleValues).

Porcentajes: Algunas variables estn expresadas en porcentaje, por lo que su


rango natural de variacin es de 0 a 100, aunque se considerar de 1 a 100 ya
que el valor 0 no tiene sentido prctico de aplicacin de los conceptos
correspondientes.

La seleccin de los 5 valores discretos que se proponen para el rango de


variacin de cada variable, responde nicamente a procurar una distribucin uniforme

Experimentacin

Ariel Kogan

41

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

en dicho rango y sern los utilizados para cuando la variable sea el parmetro de serie
en un experimento.
La seleccin de los valores medios da lugar al denominado dominio patrn, el
cual es descripto a continuacin.

5.3

Dominio Patrn

Debido a la gran complejidad de estudiar el efecto de la variacin simultnea de


todas las variables, se decidi definir un dominio patrn para ser utilizado como punto
de partida del estudio de variaciones de 1 2 variables a la vez.
Los criterios por los cuales fueron establecidos los valores de los parmetros
para el dominio patrn son:

Similitud con dominios reales de descubrimiento de conocimiento: De acuerdo a


la experiencia de algunos de los integrantes del grupo de investigacin en el
que se enmarca este trabajo, es posible encontrar en la prctica habitual de
proyectos de descubrimiento de conocimiento, dominios similares al dominio
patrn definido.

Dominio sin saturar: Se ha buscado que el dominio patrn seleccionado sea un


dominio en el que los ejemplos no saturen el espacio disponible, ya que
experimentalmente se ha observado que esta situacin genera una limitacin
muy importante para las prcticas de descubrimiento de conocimiento con el
mtodo propuesto.

Bajo esfuerzo de cmputo: Debido a que el dominio patrn es empleado como


punto de partida en todos los experimentos, se busca que cumpla con las
condiciones antes mencionadas, pero que a la vez genere un esfuerzo de
cmputo lo ms bajo posible.

5.4

Formato de los Resultados

El objetivo de los experimentos llevados adelante en el presente trabajo, es


determinar cuntas de las reglas pertenecientes al conjunto original han sido cubiertas
de forma correcta por las reglas descubiertas mediante la aplicacin del mtodo
propuesto.
Debido a la dificultad de representar la informacin obtenida de una
experimentacin en ms de 2 dimensiones, as como la complejidad de analizar un
fenmeno de mltiples parmetros que varan a la vez, es que se ha decidido definir
para cada experimento un parmetro que vare en el espectro de todos sus valores
posibles y otro en una serie de valores predefinidos, mantenindose todos los dems
constantes.
42

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Para una explicacin ms clara, se toma como ejemplo una de las grficas que
ms adelante ser analizada en profundidad. El objetivo en la presente instancia es
comprender la grfica como mtodo de presentacin de los resultados.

Figura 5.1: Ejemplo de una de las grficas como resultado de un experimento. Estudio de dominios
variando la cantidad de reglas que indican la pertenencia a cada clase, para distinta cantidad de
atributos que tienen las reglas.

De acuerdo a la delimitacin del universo de estudio, los rangos de variacin y


valores discretos seleccionados para las variables involucradas en la grfica son:

Variable (nemotcnico) Mn Mx Med


attributesNumber

10

6 2 4 6

8 10

rulesPerClass

15

5 1 4 8 12 15

Tabla 5.3: Rango de variacin de las variables involucradas en la figura 5.1

El parmetro en el eje x de la grfica es rulesPerClass. ste es hecho variar en


todo su rango, el cual se puede apreciar que va de 1 a 15.
El parmetro denominado de serie es attributesNumber. ste no se hace
variar en todo su rango, sino que se seleccionan algunos valores discretos como punto

Experimentacin

Ariel Kogan

43

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

de partida para la definicin de dominios para la experimentacin. Sin embargo, no se


establecen restricciones en caso que el experimentador considere que puede ser de
utilidad tomar otros valores (siempre dentro del rango establecido) para presentar de
mejor manera un resultado. Los valores discretos indicados son simplemente
propuestos.
En el eje y, siempre se lee el porcentaje de reglas originales cubiertas de forma
correcta por las reglas descubiertas, de acuerdo a los criterios de cobertura expuestos
anteriormente.

5.5

Estrategia de Rastrillaje

Habindose definido el universo de estudio, es necesario confeccionar un plan


de experimentacin que permita rastrillar este universo de acuerdo a algn criterio.

5.5.1

Requerimientos

Con el objetivo de barrer el universo de estudio en busca de caractersticas que


permitan conocer el comportamiento de la efectividad de la aplicacin de mapas SOM
y rboles TDIDT para la educcin de conocimiento, se ha definido una estrategia de
rastrillaje cuyos requerimientos de diseo son:

Abarcar la mayor cantidad de escenarios que puedan resultar de inters para


su anlisis, dentro del universo de estudio establecido.

Determinar la granularidad del barrido, de forma tal de no elegir escenarios


muy amplios que contengan y oculten a otros dentro de s, pero tampoco
recaer en muchos escenarios que no poseen una diferencia marcada entre s.

Mantener los niveles de procesamiento necesarios para el estudio de los


escenarios en un valor que no supere los 7 das de procesamiento continuo
para generar los datos necesarios para el anlisis.

5.5.2

Solucin Adoptada

La solucin adoptada para dar respuesta a los mencionados requerimientos


consiste en: Para cada experiencia, seleccionar un par de variables independientes.
Hacer variar la primera de stas sobre dominios en los que la segunda variable
independiente toma ciertos valores discretos.
Este esquema de experimentacin controlada, permite disear experimentos
para los cuales, mediante la seleccin de pares de parmetros a variar, es posible
establecer qu caractersticas del dominio inciden sobre la calidad de la educcin.

44

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.5.3

Seleccin de los pares de variables independientes a ser


estudiados

Para la seleccin de cules pares de variables independientes son de inters


para el presente estudio, se ha establecido una diferenciacin en el origen de
pertenencia de cada una de las variables.

Variables que responden al


dominio
classPossibleValues
rulesPerClass
attPossibleValues
attributesNumber

Variables que responden a


los ejemplos
attUsedInRule
classAttPossibleValuesPercentage
instancesByRule

Tabla 5.4: Origen de pertenencia de las variables

Esta diferenciacin apunta a discriminar qu variables modelan caractersticas


intrnsecas del dominio y caractersticas propias de los ejemplos de un dominio.
Es as como los pares de variables a estudiar son las combinaciones entre las
variables pertenecientes a cada uno de los enfoques:

Variables que responden al dominio


Parmetro variable
Parmetro de serie
classPossibleValues
classPossibleValues
classPossibleValues
rulesPerClass
rulesPerClass
rulesPerClass
attPossibleValues
attPossibleValues
attPossibleValues
attributesNumber
attributesNumber
attributesNumber

attributesNumber
attPossibleValues
rulesPerClass
attributesNumber
classPossibleValues
attPossibleValues
attributesNumber
rulesPerClass
classPossibleValues
attPossibleValues
classPossibleValues
rulesPerClass

Nmero de graph_id
Experimento
1
2
3
4
5

13
14
15
25
27

6
7

31
33

8
9
10

37
38
39

11
12

5
6

No incluido

No incluido

Variables que responden a los ejemplos


Parmetro variable
Parmetro de serie
attUsedInRule
attUsedInRule

Experimentacin

instancesByRule
classAttPossibleValuesPercentage

Ariel Kogan

45

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

classAttPossibleValuesPercentage
classAttPossibleValuesPercentage
instancesByRule
instancesByRule

instancesByRule

13

11

attUsedInRule

14

12

attUsedInRule
classAttPossibleValuesPercentage

15
16

23
24

Tabla 5.5: Combinacin de variables de los experimentos a realizar

De los citados experimentos, los resultados de algunos no son incluidos en el


presenten trabajo, ya que se considera no hacen un aporte claro al anlisis.
Se indica el identificador de cada grfica con el objetivo de permitir facilitar la
ubicacin de sus versiones en mayor resolucin, las cuales estn disponibles en el CD
que acompaa a esta tesis.

5.5.4

Diccionario de Parmetros Segn Enfoque

Con el objetivo de facilitar el anlisis de los resultados considerando el enfoque


que se le da en cada experimento a las variables involucradas, se presenta a
continuacin un diccionario de parmetros segn el enfoque.

Variable
(nemotcnico)

Descripcin segn el
enfoque orientado al
dominio

attributesNumber

Cantidad de atributos de
cada ejemplo.

attPossibleValues

Cantidad de posibles
valores que puede tomar
cada atributo.

classPossibleValues

Cantidad de clases que


rigen los ejemplos.

rulesPerClass

Cantidad de reglas que


indican la pertenencia a
cada clase.

attUsedInRule

46

Descripcin segn el enfoque


orientado a los ejemplos

Especificidad del cubrimiento


de cada regla sobre los
ejemplos asociados

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

instancesByRule

Cantidad de ejemplos que dan


soporte a cada regla

classAttPossibleValuesPercentage

Concentracin de las reglas que


indican la pertenencia a cada
clase
Tabla 5.6: Diccionario de parmetros segn el enfoque

5.6

Anlisis de los Experimentos

5.6.1

Variacin del nmero de clases que rigen el dominio para


distinta cantidad de atributos que tienen los ejemplos

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios regidos por una cantidad distinta de
clases.
A la vez, se pretende estudiar si el nmero de atributos que tienen los
ejemplos, incide en la calidad de la educcin para dominios regidos por una cantidad
distinta de clases.

5.6.1.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 4 variantes de


ste, cada cual con un valor distinto del nmero de atributos que tienen los ejemplos,
y someter estos escenarios a la variacin del nmero de clases que rigen el dominio,
con el objetivo de analizar el comportamiento de la cantidad de reglas educidas de
forma correcta. Resumiendo:
graph_id
: 13
Parmetro a variar : Nmero de clases que rigen el dominio
Parmetro de serie : Nmero de atributos que tienen los ejemplos

Los parmetros que se mantienen invariantes son:


Parmetro
Valor
attPossibleValues
20
rulesPerClass
5
instancesByRule
10
attUsedInRule
3
classAttPossibleValuesPercentage
20

Experimentacin

Ariel Kogan

47

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.1.2

Resultados obtenidos
Los resultados obtenidos se resumen en la siguiente grfica:

Grfica 5.1: Estudio de dominios variando la cantidad de clases que los rigen, para distinta cantidad de
atributos que tienen los ejemplos

5.6.1.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.1, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
A mayor cantidad de clases que rigen el dominio, menor es la efectividad del
mtodo propuesto.

Considerando las diferencias que surgen al evaluar dominios cuyos ejemplos


estn conformados por una cantidad distinta de atributos, es posible formular la
siguiente proposicin experimental:

48

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Proposicin Experimental 2:
La efectividad del mtodo propuesto es mayor mientras menor es la cantidad
de atributos que tienen los ejemplos del dominio, al ser evaluado para distinta
cantidad de clases que lo rigen.

5.6.2

Variacin del nmero de clases que rigen el dominio para


distinta cantidad de valores que puede tomar cada atributo

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios regidos por una cantidad distinta de
clases.
A la vez, se pretende estudiar si el nmero de posibles valores que puede tomar
cada atributo, incide en la calidad de la educcin para dominios regidos por una
cantidad distinta de clases.

5.6.2.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 4 variantes de


ste, cada cual con un valor distinto del nmero de posibles valores que puede tomar
cada atributo, y someter estos escenarios a la variacin del nmero de clases que rigen
el dominio, con el objetivo de analizar el comportamiento de la cantidad de reglas
educidas de forma correcta. Resumiendo:
graph_id
: 14
Parmetro a variar : Nmero de clases que rigen el dominio
Parmetro de serie : Nmero de posibles valores que puede tomar cada atributo

Los parmetros que se mantienen invariantes son:


Parmetro
Valor
attributesNumber
6
rulesPerClass
5
instancesByRule
10
attUsedInRule
3
classAttPossibleValuesPercentage
20

5.6.2.2

Resultados obtenidos
Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

49

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.2: Estudio de dominios variando la cantidad de clases que los rigen, para distinta cantidad de
valores posibles que pueden tomar cada atributo

5.6.2.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.2, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
A mayor nmero de clases que rigen el dominio, menor es la efectividad del
mtodo propuesto.
Considerando las diferencias que surgen al evaluar dominios cuyos ejemplos
estn compuestos por atributos con distinta cantidad de posibles valores a tomar, cabe
formular la siguiente proposicin experimental:
Proposicin Experimental 2:
La efectividad del mtodo es mayor para mayor cantidad de posibles valores
que puede tomar cada atributo que compone las reglas, al ser ste evaluado para
distinta cantidad de clases que lo rigen.

50

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.3

Variacin del nmero de clases que rigen el dominio para


distinta cantidad de reglas que indican la pertenencia a cada
clase

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios regidos por una cantidad distinta de
clases.
A la vez, se pretende estudiar si el nmero de reglas que indican la pertenencia
a cada clase, incide en la calidad de la educcin para dominios regidos por distinta
cantidad de clases.

5.6.3.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 5 variantes de


ste, cada cual con un valor distinto del nmero de reglas que indican la pertenencia a
cada clase, y someter estos escenarios a la variacin del nmero de clases que rigen el
dominio, con el objetivo de analizar el comportamiento de la cantidad de reglas
educidas de forma correcta. Resumiendo:
graph_id
: 15
Parmetro a variar : Nmero de clases que rigen el dominio
Parmetro de serie : Nmero de reglas que indican la pertenencia a cada clase

Los parmetros que se mantienen invariantes son:


Parmetro
Valor
attributesNumber
6
attPossibleValues
20
instancesByRule
10
attUsedInRule
3
classAttPossibleValuesPercentage
20

5.6.3.2

Resultados obtenidos
Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

51

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.3: Estudio de dominios variando la cantidad de clases que los rigen, para distinta cantidad de
reglas que indican la pertenencia a cada clase

5.6.3.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.3, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin experimental 1:
A mayor cantidad de clases que rigen el dominio, menor es la efectividad del
mtodo propuesto.

Considerando las diferencias que surgen al evaluar dominios en los cuales la


pertenencia a las clases que los rigen estn indicadas por una cantidad distinta de
reglas, cable formular la siguiente proposicin experimental:
Proposicin experimental 2:
A menor cantidad de reglas que indican la pertenencia a cada clase, mayor es la
efectividad del mtodo propuesto al ser evaluado en dominios con distinta cantidad de
clases que los rigen.

52

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.4

Variacin del nmero de reglas que indican la pertenencia a


cada clase para distinta cantidad de atributos que tienen los
ejemplos

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que la pertenencia a cada clase
est dada por una cantidad distinta de reglas.
A la vez, se pretende estudiar si el nmero de atributos que tienen los
ejemplos, incide en la calidad de la educcin para dominios en los que vara la cantidad
de reglas que indican la pertenencia a cada clase.

5.6.4.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 4 variantes de


ste, cada cual con un valor distinto del nmero de atributos que tienen los ejemplos,
y someter estos escenarios a la variacin del nmero de reglas que indican la
pertenencia a cada clase, con el objetivo de analizar el comportamiento de la cantidad
de reglas educidas de forma correcta. Resumiendo:
graph_id
: 25
Parmetro a variar : Nmero de reglas que indican la pertenencia a cada clase
Parmetro de serie : Nmero de atributos que tienen los ejemplos

Los parmetros que se mantienen invariantes son:


Parmetro
Valor
attPossibleValues
20
classPossibleValues
5
instancesByRule
10
attUsedInRule
3
classAttPossibleValuesPercentage
20

5.6.4.2

Resultados obtenidos
Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

53

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.4: Estudio de dominios variando la cantidad de reglas que indican la pertenencia a cada
clase, para distinta cantidad de atributos que conforman los ejemplos

5.6.4.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.4, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
La efectividad del mtodo decrece a medida que aumenta la cantidad de reglas
que indican la pertenencia a cada clase, con un comportamiento aparentemente
asinttico hacia un mnimo cuando la cantidad de reglas que indican la pertenencia a
cada clase es alta.
Al comparar dominios para los cuales la cantidad de atributos que componen los
ejemplos es distinta, es posible formular la siguiente proposicin experimental:
Proposicin Experimental 2:
Mientras menor es la cantidad de atributos que componen los ejemplos, mayor
es la efectividad del mtodo al ser evaluado para dominios con distinta cantidad de
reglas que indican la pertenencia a cada clase.

54

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.5

Variacin del nmero de reglas que indican la pertenencia a


cada clase para distinta cantidad de clases que rigen el
dominio

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que la pertenencia a cada clase
est dada por una cantidad distinta de reglas.
A la vez, se pretende estudiar si el nmero de clases que rigen el dominio,
incide en la calidad de la educcin para dominios en los que vara la cantidad de reglas
que indican la pertenencia a cada clase.
5.6.5.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 4 variantes de


ste, cada cual con un valor distinto de la cantidad de clases que rigen el dominio, y
someter estos escenarios a la variacin del nmero de reglas que indican la
pertenencia a cada clase, con el objetivo de analizar el comportamiento de la cantidad
de reglas educidas de forma correcta. Resumiendo:
graph_id
: 27
Parmetro a variar : Nmero de reglas que indican la pertenencia a cada clase
Parmetro de serie : Nmero de clases que rigen el dominio
Los parmetros que se mantienen invariantes son:
Parmetro
Valor
attributesNumber
6
attPossibleValues
20
instancesByRule
10
attUsedInRule
3
classAttPossibleValuesPercentage
20

5.6.5.2

Resultados obtenidos
Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

55

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.5: Estudio de dominios variando la cantidad de reglas que indican la pertenencia a cada
clase, para distinta cantidad de clases que rigen los dominios

5.6.5.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.5, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
La efectividad del mtodo decrece a medida que aumenta la cantidad de reglas
que indican la pertenencia a cada clase hasta una determinada cantidad de reglas. Tras
este valor, la efectividad parecera mantenerse casi sin variacin dentro de un rango
de valores de efectividad mnimos.
Al comparar dominios para los cuales la cantidad de clases que rigen el dominio
es distinta, es posible formular la siguiente proposicin experimental:
Proposicin Experimental 2:
Mientras menor es la cantidad de clases que rigen el dominio, mayor es la
efectividad del mtodo al evaluar dominios con distinto nmero de reglas que indican
la pertenencia a cada clase.

56

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.6

Variacin del nmero de posibles valores que puede tomar


cada atributo para distinta cantidad de atributos que
conforman los ejemplos

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que el nmero de valores
posibles que puede tomar cada atributo es distinto.
A la vez, se pretende estudiar si el nmero de atributos que conforman los
ejemplos, incide en la calidad de la educcin para dominios en los que vara la cantidad
de posibles valores que puede tomar cada atributo.

5.6.6.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 4 variantes de


ste, cada cual con un valor distinto del nmero de atributos que tienen los ejemplos,
y someter estos escenarios a la variacin del nmero de posibles valores que puede
tomar cada atributo, con el objetivo de analizar el comportamiento de la cantidad de
reglas educidas de forma correcta. Resumiendo:
graph_id
: 31
Parmetro a variar : Nmero de posibles valores que puede tomar cada atributo
Parmetro de serie : Nmero de atributos que conforman los ejemplos
Los parmetros que se mantienen invariantes son:
Parmetro
Valor
classPossibleValues
5
rulesPerClass
5
instancesByRule
10
attUsedInRule
50
classAttPossibleValuesPercentage
20

5.6.6.2

Resultados obtenidos
Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

57

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.6: Estudio de dominios variando la cantidad de valores posibles que puede tomar cada uno
de los atributos que tienen las reglas, para distinta cantidad de atributos que tienen las reglas

5.6.6.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.6, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
A mayor cantidad de valores posibles que puede tomar cada atributo, mayor es
la efectividad del mtodo propuesto.
Al comparar entre s dominios con distinta cantidad de atributos que
conforman los ejemplos, es posible formular la siguiente proposicin experimental:
Proposicin Experimental 2:
A menor cantidad de atributos que tienen los ejemplos, mayor es la efectividad
del mtodo propuesto al ser evaluada para dominios en los que difiere la cantidad de
valores posibles que puede tomar cada atributo.

58

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.7

Variacin del nmero de posibles valores que puede tomar


cada atributo para distinta cantidad de reglas que indican la
pertenencia a cada clase

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que el nmero de valores
posibles que puede tomar cada atributo es distinto.
A la vez, se pretende estudiar si el nmero de reglas que indican la pertenencia
a cada clase, incide en la calidad de la educcin para dominios en los que vara la
cantidad de posibles valores que puede tomar cada atributo.

5.6.7.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 4 variantes de


ste, cada cual con un valor distinto del nmero de reglas que indican la pertenencia a
cada clase, y someter estos escenarios a la variacin del nmero de posibles valores
que puede tomar cada atributo, con el objetivo de analizar el comportamiento de la
cantidad de reglas educidas de forma correcta. Resumiendo:
graph_id
: 33
Parmetro a variar : Nmero de posibles valores que puede tomar cada atributo
Parmetro de serie : Nmero de reglas que indican la pertenencia a cada clase

Los parmetros que se mantienen invariantes son:


Parmetro
Valor
attributesNumber
6
classPossibleValues
5
instancesByRule
10
attUsedInRule
3
classAttPossibleValuesPercentage
20

5.6.7.2

Resultados obtenidos
Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

59

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.7: Estudio de dominios variando la cantidad de valores posibles que puede tomar cada uno
de los atributos que conforman las reglas, para distinta cantidad de reglas que indican la pertenencia
a cada clase

5.6.7.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.7, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
A mayor cantidad de posibles valores que puede tomar cada uno de los
atributos que componen las reglas, mayor es la efectividad del mtodo propuesto.
Al comparar dominios para los cuales la cantidad de reglas que indican la
pertenencia a cada clase es distinta, es posible formular la siguiente proposicin
experimental:
Proposicin Experimental 2:
A menor cantidad de reglas que indican la pertenencia a cada clase, mayor es la
efectividad del mtodo propuesto.

60

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.8

Variacin del nmero de atributos que conforman los


ejemplos para distinta cantidad de posibles valores que
puede tomar cada uno

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que el nmero de atributos que
conforman los ejemplos es distinto.
A la vez, se pretende estudiar si el nmero de posibles valores que puede tomar
cada atributo, incide en la calidad de la educcin para dominios en los que difiere el
nmero de atributos que conforman los ejemplos.

5.6.8.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 5 variantes de


ste, cada cual con un valor distinto del nmero de posibles valores que puede tomar
cada atributo, y someter estos escenarios a la variacin del nmero de atributos que
conforman los ejemplos, con el objetivo de analizar el comportamiento de la cantidad
de reglas educidas de forma correcta. Resumiendo:
graph_id
: 37
Parmetro a variar : Nmero de atributos que conforman los ejemplos
Parmetro de serie : Nmero de posibles valores que puede tomar cada atributo

Los parmetros que se mantienen invariantes son:


Parmetro
Valor
classPossibleValues
5
rulesPerClass
5
instancesByRule
10
attUsedInRule
3
classAttPossibleValuesPercentage
20

5.6.8.2

Resultados obtenidos
Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

61

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.8: Estudio de dominios variando la cantidad de atributos que conforman los ejemplos, para
distinta cantidad de valores posibles que pueden tomar cada uno de estos atributos

5.6.8.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.8, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
Mientras mayor es el nmero de atributos que tienen las reglas que indican la
pertenencia a cada clase, menor es la efectividad del mtodo.
Al comparar dominios para los cuales la cantidad de posibles valores que puede
tomar cada atributo es distinta, es posible formular las siguientes proposiciones
experimentales:
Proposicin Experimental 2:
Mientras mayor es la cantidad de posibles valores que puede tomar cada
atributo, mayor es la efectividad que presenta el mtodo propuesto.

62

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Proposicin Experimental 3:
A partir de determinada cantidad de posibles valores que puede tomar cada
atributo, si se sigue aumentando esta cantidad, no se observan mejoras significativas
en la efectividad del mtodo propuesto.

5.6.9

Variacin del nmero de atributos que conforman los


ejemplos para distinta cantidad de clases que rigen el
dominio

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que el nmero de atributos que
conforman los ejemplos es distinto.
A la vez, se pretende estudiar si el nmero de clases que rigen el dominio,
incide en la calidad de la educcin para dominios en los que difiere la cantidad de
atributos que conforman los ejemplos.

5.6.9.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 5 variantes de


ste, cada cual con un valor distinto del nmero de clases que rigen el dominio, y
someter estos escenarios a la variacin del nmero de atributos que conforman los
ejemplos, con el objetivo de analizar el comportamiento de la cantidad de reglas
educidas de forma correcta. Resumiendo:
graph_id
: 38
Parmetro a variar : Nmero de atributos que conforman los ejemplos
Parmetro de serie : Nmero de clases que rigen el dominio
Los parmetros que se mantienen invariantes son:
Parmetro
Valor
attPossibleValues
20
rulesPerClass
5
instancesByRule
10
attUsedInRule
3
classAttPossibleValuesPercentage
20

5.6.9.2

Resultados obtenidos
Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

63

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.9: Estudio de dominios variando la cantidad de atributos que tienen las reglas, para distinta
cantidad clases que rigen los dominios

5.6.9.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.9, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
Mientras mayor es la cantidad de atributos que tienen las reglas, menor es la
efectividad del mtodo propuesto.

Al comparar dominios para los cuales la cantidad de clases que rigen el dominio
es distinta, es posible formular la siguiente proposicin experimental:
Proposicin Experimental 2:
Mientras menor es la cantidad de clases que rigen el dominio, mayor es la
efectividad del mtodo propuesto.

64

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Proposicin Experimental 3:
A partir de determinada cantidad de clases que rigen el dominio, el aumento de
este parmetro no genera un decremento mayor en la efectividad del mtodo.

5.6.10

Variacin del nmero de atributos que conforman los


ejemplos para distinta cantidad de reglas que indican la
pertenencia a cada clase

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que el nmero de atributos que
conforman los ejemplos es distinto.
A la vez, se pretende estudiar si el nmero de reglas que indican la pertenencia
a cada clase, incide en la calidad de la educcin para dominios en los que difiere el
nmero de atributos que conforman los ejemplos.

5.6.10.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 5 variantes de


ste, cada cual con un valor distinto de la cantidad de reglas que indican la pertenencia
a cada clase, y someter estos escenarios a la variacin del nmero de atributos que
conforman los ejemplos, con el objetivo de analizar el comportamiento de la cantidad
de reglas educidas de forma correcta. Resumiendo:
graph_id
: 39
Parmetro a variar : Nmero de atributos que conforman los ejemplos
Parmetro de serie : Nmero de reglas que indican la pertenencia a cada clase

Los parmetros que se mantienen invariantes son:


Parmetro
Valor
attPossibleValues
20
classPossibleValues
5
instancesByRule
10
attUsedInRule
3
classAttPossibleValuesPercentage
20

5.6.10.2

Resultados obtenidos

Los resultados obtenidos se resumen en la siguiente grfica:


Experimentacin

Ariel Kogan

65

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.10: Estudio de dominios variando la cantidad de atributos que tienen las reglas, para distinta
cantidad de reglas que indican la pertenencia a cada clase

5.6.10.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.10, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
A medida que aumenta la cantidad de atributos que tienen las reglas, menor es
la efectividad del mtodo propuesto.
Al comparar entre s dominios con distinta cantidad de reglas que indican la
pertenencia a cada clase, es posible formular la siguiente proposicin experimental:
Proposicin Experimental 2:
A mayor cantidad de reglas que indican la pertenencia a cada clase, menor es la
efectividad del mtodo propuesto al ser evaluado para dominios con distinta cantidad
de atributos que tienen las reglas.

66

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.11

Estudio de dominios variando la especificidad del


cubrimiento de cada regla sobre sus ejemplos asociados, para
distinta cantidad de estos

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que difiere la especificidad del
cubrimiento de cada regla sobre sus ejemplos asociados.
A la vez, se pretende estudiar si el nmero de ejemplos de cada regla, incide en
la calidad de la educcin para dominios con distinta especificidad del cubrimiento de
cada regla sobre sus ejemplos asociados.

5.6.11.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 4 variantes de


ste, cada cual con un valor distinto del nmero de ejemplos de cada regla, y someter
estos escenarios a la variacin de la especificidad del cubrimiento de cada regla sobre
sus ejemplos asociados, con el objetivo de analizar el comportamiento de la cantidad
de reglas educidas de forma correcta. Resumiendo:
graph_id
Parmetro a variar

: 5
: Especificidad del cubrimiento de cada regla sobre sus
ejemplos asociados
Parmetro de serie : Cantidad de ejemplos por regla

Los parmetros que se mantienen invariantes son:


Parmetro
Valor
attributesNumber
6
attPossibleValues
20
classPossibleValues
5
rulesPerClass
5
classAttPossibleValuesPercentage
20

5.6.11.2

Resultados obtenidos

Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

67

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.11: Estudio de dominios variando la especificidad del cubrimiento de cada regla sobre sus
ejemplos asociados, para distinta cantidad de estos

5.6.11.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.11, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
Mientras ms especfico es el cubrimiento de cada regla sobre sus ejemplos
asociados, mayor es la efectividad del mtodo propuesto.
Al comparar dominios para los cuales la cantidad de ejemplos de cada regla es
distinta, es posible formular la siguiente proposicin experimental:
Proposicin Experimental 2:
A mayor cantidad de ejemplos por regla, mayor es la efectividad del mtodo
propuesto.

68

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.12

Estudio de dominios variando la especificidad del


cubrimiento de cada regla sobre sus ejemplos asociados, para
distinta concentracin de las reglas que indican la
pertenencia a cada clase

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que difiere la especificidad del
cubrimiento de cada regla sobre sus ejemplos asociados.
A la vez, se pretende estudiar si la concentracin de las reglas que indican la
pertenencia a cada clase, incide en la calidad de la educcin para dominios en los que
difiere la especificidad del cubrimiento de cada regla sobre sus ejemplos asociados.

5.6.12.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 5 variantes de


ste, cada cual con una concentracin diferente de las reglas que indican la
pertenencia a cada clase, y someter estos escenarios a la variacin de la especificidad
del cubrimiento de cada regla sobre sus ejemplos asociados, con el objetivo de analizar
el comportamiento de la cantidad de reglas educidas de forma correcta. Resumiendo:
graph_id
Parmetro a variar

: 6
: Especificidad del cubrimiento de cada regla sobre sus
ejemplos asociados
Parmetro de serie : Concentracin de las reglas que indican la pertenencia a cada
clase

Los parmetros que se mantienen invariantes son:

Parmetro
Valor
attributesNumber
6
attPossibleValues
20
classPossibleValues
5
rulesPerClass
5
instancesByRule
10

5.6.12.2

Resultados obtenidos

Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

69

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.12: Estudio de dominios variando la especificidad del cubrimiento de cada regla sobre sus
ejemplos asociados, para distinta concentracin de reglas que indican la pertenencia a cada clase

5.6.12.3

Anlisis de los Resultados Obtenidos

Con la observacin de la grfica 5.12, se aprecia un comportamiento comn a


todas las curvas, el cual es descripto por la siguiente proposicin experimental:
Proposicin Experimental 1:
Mientras ms especfico es el cubrimiento de cada regla sobre sus ejemplos
asociados, mayor es la efectividad del mtodo propuesto.
Analizando dominios en los que difiere la concentracin de las reglas que
indican la pertenencia a cada clase, surge la siguiente proposicin experimental:
Proposicin Experimental 2:
La concentracin de las reglas que indican la pertenencia a cada clase,
parecera no modificar la efectividad del mtodo propuesto al ser evaluado para
dominios en los que difiere la especificidad del cubrimiento de cada regla sobre sus
ejemplos asociados.

70

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.13

Estudio de dominios variando la concentracin de las reglas


que indican la pertenencia a cada clase, para distinta cantidad
de ejemplos que dan soporte a cada regla

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que difiere la concentracin de
las reglas que indican la pertenencia a cada clase.
A la vez, se pretende estudiar si la cantidad de ejemplos que dan soporte a cada
regla, incide en la calidad de la educcin para dominios en los que vara la
concentracin de las reglas que indican la pertenencia a cada clase.

5.6.13.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 4 variantes de


ste, cada cual con un valor distinto del nmero de ejemplos que dan soporte a cada
una de las reglas, y someter estos escenarios a la variacin de la concentracin de las
reglas que indican la pertenencia a cada clase, con el objetivo de analizar el
comportamiento de la cantidad de reglas educidas de forma correcta. Resumiendo:
graph_id
Parmetro a variar

: 11
: Concentracin de las reglas que indican la pertenencia a cada
clase
Parmetro de serie : Cantidad de ejemplos que dan soporte a cada regla

Los parmetros que se mantienen invariantes son:


Parmetro
Valor
attributesNumber
6
attPossibleValues
20
classPossibleValues
5
rulesPerClass
5
attUsedInRule
3

5.6.13.2

Resultados obtenidos

Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

71

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.13: Estudio de dominios variando la concentracin de las reglas que indican la pertenencia a
cada clase, para distinta cantidad de ejemplos que dan soporte a cada regla

5.6.13.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.13, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
Mientras menor es la concentracin de las reglas que indican la pertenencia a
cada clase, mayor es la efectividad del mtodo propuesto.
Al comparar dominios para los cuales la cantidad de ejemplos que dan soporte
a cada una de las reglas es distinta, es posible formular la siguiente proposicin
experimental:
Proposicin Experimental 2:
A mayor cantidad de ejemplos que dan soporte a cada regla, mayor es la
efectividad del mtodo propuesto.

72

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.14

Estudio de dominios variando la concentracin de las reglas


que indican la pertenencia a cada clase, para distinta
especificidad del cubrimiento de cada regla sobre sus
ejemplos asociados

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que difiere la concentracin de
las reglas que indican la pertenencia a cada clase.
A la vez, se pretende estudiar si la especificidad del cubrimiento de cada regla
sobre sus ejemplos asociados, incide en la calidad de la educcin para dominios en los
que vara la concentracin de las reglas que indican la pertenencia a cada clase.

5.6.14.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 3 variantes de


ste, cada cual con un especificidad distinta del cubrimiento de cada regla sobre sus
ejemplos asociados, y someter estos escenarios a la variacin de la concentracin de
las reglas que indican la pertenencia a cada clase, con el objetivo de analizar el
comportamiento de la cantidad de reglas educidas de forma correcta. Resumiendo:

graph_id
Parmetro a variar

: 12
: Concentracin de las reglas que indican la pertenencia a cada
clase
Parmetro de serie : Especificidad del cubrimiento de cada regla sobre sus
ejemplos asociados

Los parmetros que se mantienen invariantes son:

Parmetro
Valor
attributesNumber
6
attPossibleValues
20
classPossibleValues
5
rulesPerClass
5
instancesByRule
10

5.6.14.2

Resultados obtenidos

Los resultados obtenidos se resumen en la siguiente grfica:

Experimentacin

Ariel Kogan

73

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.14: Estudio de dominios variando la concentracin de las reglas que indican la pertenencia a
cada clase, para distinta especificidad del cubrimiento de cada regla sobre sus ejemplos asociados

5.6.14.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.14, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
Mientras menor es la concentracin de las reglas que indican la pertenencia a
cada clase, mayor es la efectividad del mtodo propuesto.
Se observa adems que, si bien las curvas poseen un comportamiento comn,
el cual ha sido descripto por la proposicin experimental anterior, stas presentan
diferencias significativas, lo cual da lugar a la formulacin de las siguientes
proposiciones experimentales:
Proposicin Experimental 2:
Mientras ms especfico es el cubrimiento de cada regla sobre sus ejemplos
asociados, mayor es la efectividad del mtodo propuesto.

74

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Proposicin Experimental 3:
Mientras ms especfico es el cubrimiento de cada regla sobre sus ejemplos
asociados, ms pronunciado es el crecimiento de la efectividad del mtodo propuesto
con el decremento de la concentracin de las reglas que indican la pertenencia a cada
clase.

5.6.15

Estudio de dominios variando el nmero de ejemplos que dan


soporte a cada regla, para distinta especificidad del
cubrimiento de cada regla sobre sus ejemplos asociados

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que difiere el nmero de
ejemplos que dan soporte a cada una de las reglas que indican la pertenencia a las
clases que los rigen.
A la vez, se pretende estudiar si la especificidad del cubrimiento de cada regla
sobre sus ejemplos asociados, incide en la calidad de la educcin para dominios en los
que vara el nmero de ejemplos que dan soporte a cada una de las reglas.
5.6.15.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 3 variantes de


ste, cada cual con distinta especificidad del cubrimiento de cada regla sobre sus
ejemplos asociados, y someter estos escenarios a la variacin del nmero de ejemplos
que dan soporte a cada una de las reglas que indican la pertenencia a las clases que
rigen el dominio, con el objetivo de analizar el comportamiento de la cantidad de
reglas educidas de forma correcta. Resumiendo:
graph_id
: 23
Parmetro a variar : Cantidad de ejemplos que dan soporte a cada regla
Parmetro de serie : Especificidad del cubrimiento de cada regla sobre sus
ejemplos asociados
Los parmetros que se mantienen invariantes son:
Parmetro
Valor
attributesNumber
6
attPossibleValues
20
classPossibleValues
5
rulesPerClass
5
classAttPossibleValuesPercentage
20

Experimentacin

Ariel Kogan

75

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.6.15.2

Resultados obtenidos

Los resultados obtenidos se resumen en la siguiente grfica:

Grfica 5.15: Estudio de dominios variando el nmero de ejemplos que dan soporte a cada regla, para
distinta especificidad del cubrimiento de cada regla sobre sus ejemplos asociados

5.6.15.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.15, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
A mayor cantidad de ejemplos que dan soporte a cada regla, mayor es la
efectividad del mtodo propuesto.

Al comparar dominios cuyas reglas cubren sus ejemplos asociados con distinta
especificidad, es posible formular las siguientes proposiciones experimentales:

76

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Proposicin Experimental 2:
Mientras ms especfico es el cubrimiento de cada regla sobre sus ejemplos
asociados, mayor es la efectividad del mtodo propuesto.

Proposicin Experimental 3:
Mientras ms especfico es el cubrimiento de cada regla sobre sus ejemplos
asociados, ms pronunciado es el crecimiento de la efectividad del mtodo propuesto
con el incremento de la cantidad de ejemplos que dan soporte a cada regla.

5.6.16

Estudio de dominios variando el nmero de ejemplos que dan


soporte a cada regla, para distinta concentracin de las reglas
que indican la pertenencia a cada clase

Este experimento tiene como objetivo estudiar la efectividad de la educcin por


clustering e induccin de reglas, para dominios en los que vara el nmero de ejemplos
que dan soporte a cada una de las reglas que indican la pertenencia a las clases que los
rigen.
A la vez, se pretende estudiar si la concentracin de las reglas que indican la
pertenencia a cada clase, incide en la calidad de la educcin para dominios en los que
vara el nmero de ejemplos que dan soporte a cada una de las reglas que indican la
pertenencia a las clases que los rigen.

5.6.16.1

Descripcin del experimento

Este experimento consiste en tomar un dominio patrn, generar 5 variantes de


ste, cada cual con una concentracin distinta de las reglas que indican la pertenencia
a cada clase, y someter estos escenarios a la variacin del nmero de ejemplos que
dan soporte a cada una de las reglas que indican la pertenencia a las clases que rigen el
dominio, con el objetivo de analizar el comportamiento de la cantidad de reglas
educidas de forma correcta. Resumiendo:
graph_id
: 24
Parmetro a variar : Cantidad de ejemplos que dan soporte a cada regla
Parmetro de serie : Concentracin de las reglas que indican la pertenencia a cada
clase
Los parmetros que se mantienen invariantes son:

Experimentacin

Ariel Kogan

77

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Parmetro
Valor
attributesNumber
6
attPossibleValues
20
classPossibleValues
5
rulesPerClass
5
attUsedInRule
3

5.6.16.2

Resultados obtenidos

Los resultados obtenidos se resumen en la siguiente grfica:

Grfica 5.16: Estudio de dominios variando el nmero de ejemplos que dan soporte a cada regla, para
distinta concentracin de las reglas que indican la pertenencia a cada clase

5.6.16.3

Anlisis de los Resultados Obtenidos

Observando la grfica 5.16, es posible identificar un comportamiento comn a


todas las curvas, el cual se sintetiza en la siguiente proposicin experimental:
Proposicin Experimental 1:
A mayor cantidad de ejemplos por regla, mayor es la efectividad del mtodo
propuesto.

78

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Al comparar dominios con distinta concentracin de las reglas que indican la


pertenencia a cada clase, es posible formular la siguiente proposicin experimental:
Proposicin Experimental 2:
La concentracin de las reglas que indican la pertenencia a cada clase,
parecera no modificar la efectividad del mtodo propuesto al ser evaluado para
dominios en los que difiere la cantidad de ejemplos que dan soporte a cada regla.

5.7

Unificacin de los resultados experimentales

Los resultados obtenidos han sido agrupados en dos enfoques, los cuales
responden a la diferenciacin del origen de pertenencia de cada variable, planteada en
la seccin 5.5.3

5.7.1

Enfoque orientado al dominio

Se transcriben a continuacin, en tamao reducido, las grficas


correspondientes a los experimentos realizados para el enfoque orientado al dominio,
a efecto de facilitar la lectura de los resultados experimentales unificados.

Grfica 5.1: Estudio de dominios variando la


cantidad de clases que los rigen, para distinta
cantidad de atributos que tienen los ejemplos

Experimentacin

Grfica 5.2: Estudio de dominios variando la


cantidad de clases que los rigen, para distinta
cantidad de valores posibles que pueden tomar
cada atributo

Ariel Kogan

79

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.3: Estudio de dominios variando la


cantidad de clases que los rigen, para distinta
cantidad de reglas que indican la pertenencia a
cada clase

Grfica 5.4: Estudio de dominios variando la


cantidad de reglas que indican la pertenencia a
cada clase, para distinta cantidad de atributos que
conforman los ejemplos

Grfica 5.5: Estudio de dominios variando la


cantidad de reglas que indican la pertenencia a
cada clase, para distinta cantidad de clases que
rigen los dominios

Grfica 5.6: Estudio de dominios variando la


cantidad de valores posibles que puede tomar
cada uno de los atributos que tienen las reglas,
para distinta cantidad de atributos que tienen las
reglas

Grfica 5.7: Estudio de dominios variando la


cantidad de valores posibles que puede tomar
cada uno de los atributos que conforman las
reglas, para distinta cantidad de reglas que indican
la pertenencia a cada clase

Grfica 5.8: Estudio de dominios variando la


cantidad de atributos que conforman los ejemplos,
para distinta cantidad de valores posibles que
pueden tomar cada uno de estos atributos

80

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.9: Estudio de dominios variando la


cantidad de atributos que tienen las reglas, para
distinta cantidad clases que rigen los dominios

Grfica 5.10: Estudio de dominios variando la


cantidad de atributos que tienen las reglas, para
distinta cantidad de reglas que indican la
pertenencia a cada clase

1. A mayor cantidad de clases que rigen el dominio, menor es la efectividad del


mtodo propuesto (grficas 5.1, 5.2, 5.3, 5.5, 5.9).
2. Mientras mayor es el nmero de atributos que tienen las reglas que indican la
pertenencia a cada clase, menor es la efectividad del mtodo propuesto (grficas
5.1, 5.4, 5.6, 5.8, 5.9, 5.10).
3. A mayor cantidad de valores posibles que puede tomar cada atributo, mayor es la
efectividad del mtodo propuesto (grficas 5.2, 5.6, 5.7, 5.8).
4. A mayor cantidad de reglas que indican la pertenencia a cada clase, menor es la
efectividad del mtodo propuesto (grficas 5.3, 5.4, 5.5, 5.10).
5. A mayor cantidad de reglas que indican la pertenencia a cada clase, menor es la
efectividad del mtodo propuesto, con un comportamiento aparentemente
asinttico hacia un mnimo cuando la cantidad de reglas que indican la pertenencia
a cada clase es alta (grficas 5.4, 5.5).
6. A partir de determinada cantidad de posibles valores que puede tomar cada
atributo, si se sigue aumentando esta cantidad, no se observan mejoras
significativas en la efectividad del mtodo propuesto (grfica 5.8).
7. A partir de determinada cantidad de clases que rigen el dominio, el aumento de
este parmetro no genera un decremento mayor en la efectividad del mtodo
propuesto (grfica 5.9).

Experimentacin

Ariel Kogan

81

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5.7.2

Enfoque orientado a los ejemplos

Se transcriben a continuacin, en tamao reducido, las grficas


correspondientes a los experimentos realizados para el enfoque orientado a los
ejemplos, a efecto de facilitar la lectura de los resultados experimentales unificados.

Grfica 5.11: Estudio de dominios variando la


especificidad del cubrimiento de cada regla sobre
sus ejemplos asociados, para distinta cantidad de
estos

Grfica 5.12: Estudio de dominios variando la


especificidad del cubrimiento de cada regla sobre
sus ejemplos asociados, para distinta
concentracin de reglas que indican la pertenencia
a cada clase

Grfica 5.13: Estudio de dominios variando la


concentracin de las reglas que indican la
pertenencia a cada clase, para distinta cantidad de
ejemplos que dan soporte a cada regla

Grfica 5.14: Estudio de dominios variando la


concentracin de las reglas que indican la
pertenencia a cada clase, para distinta
especificidad del cubrimiento de cada regla sobre
sus ejemplos asociados

82

Ariel Kogan

Experimentacin

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Grfica 5.15: Estudio de dominios variando el


nmero de ejemplos que dan soporte a cada regla,
para distinta especificidad del cubrimiento de cada
regla sobre sus ejemplos asociados

Grfica 5.16: Estudio de dominios variando el


nmero de ejemplos que dan soporte a cada regla,
para distinta concentracin de las reglas que
indican la pertenencia a cada clase

1. Mientras ms especfico es el cubrimiento de cada regla sobre sus ejemplos


asociados, mayor es la efectividad del mtodo propuesto (grficas 5.11, 5.12, 5.14,
5.15).
2. Mientras menor es la concentracin de las reglas que indican la pertenencia a cada
clase, mayor es la efectividad del mtodo propuesto (grficas 5.13, 5.14).
3. A mayor cantidad de ejemplos que dan soporte a cada regla, mayor es la
efectividad del mtodo propuesto (grficas 5.11, 5.13, 5.15, 5.16).
4. La concentracin de las reglas que indican la pertenencia a cada clase, parecera no
modificar la efectividad del mtodo propuesto al ser evaluada en dominios en los
que difiere la especificidad del cubrimiento de cada regla sobre sus ejemplos
asociados (grfica 5.12).
5. Mientras ms especfico es el cubrimiento de cada regla sobre sus ejemplos
asociados, ms pronunciado es el crecimiento de la efectividad del mtodo
propuesto con el decremento de la concentracin de las reglas que indican la
pertenencia a cada clase (grfica 5.14).
6. Mientras ms especfico es el cubrimiento de cada regla sobre sus ejemplos
asociados, ms pronunciado es el crecimiento de la efectividad del mtodo
propuesto con el incremento de la cantidad de ejemplos que dan soporte a cada
regla (grfica 5.15).
7. La concentracin de las reglas que indican la pertenencia a cada clase, parecera no
modificar la efectividad del mtodo propuesto al ser evaluada para dominios en los
que difiere la cantidad de ejemplos que dan soporte a cada regla (grfica 5.16).

Experimentacin

Ariel Kogan

83

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Conclusiones

En este captulo se resumen los aportes formulados en la tesis (seccin 6.1) y se


presentan futuras lneas de trabajo (seccin 6.2) proponiendo minera de datos para el
anlisis de los resultados (seccin 6.2.1), incluir la variacin de los parmetros de la red
SOM en futuros estudios (seccin 6.2.2) y lneas complementarias (seccin 6.2.3).

6.1

Aportes

En esta tesis se present un estudio del comportamiento de la efectividad de la


utilizacin de agrupamiento por SOM e induccin por TDIDT como mtodo de
descubrimiento de conocimiento.
En el captulo 4 se demuestra por construccin y en el captulo 5 por
experimentacin que es posible realizar el mencionado estudio, habindose obtenido
proposiciones experimentales del comportamiento observado.
Entre los recursos de los cuales se dispuso para la resolucin del problema, se
encuentran:

Conocimiento emprico por parte de los integrantes del Laboratorio de


Sistemas Inteligentes en el que se enmarca esta tesis, sobre la aplicacin del
mtodo propuesto como mecanismo de descubrimiento de conocimiento.

Libreras de cdigo abierto proporcionadas por la Universidad de Waikato que


puede ser utilizadas como partes constitutivas de un sistema de
experimentacin.
Son aportaciones de la tesis:

84

El diseo de un esquema que permite la generacin de dominios al azar,


controlando los parmetros que los rigen. Esto permite trabajar con dominios
cuyas caractersticas son definidas por el experimentador a travs de la
generacin de nuevos dominios en base a stas.
La generacin de los dominios en base al azar, permite establecer una cota
inferior del comportamiento de la efectividad del mtodo propuesto como
herramienta de descubrimiento de conocimiento.

La definicin de un criterio de determinacin de la efectividad del mtodo


basado en el concepto de cubrimiento de conjuntos de reglas, el cual es
coincidente con las prcticas de descubrimiento de conocimiento, adaptado a
las caractersticas particulares que surgen de trabajar con dominios generados
al azar y con SOM y TDIDT como algoritmos inteligentes para el descubrimiento
de conocimiento.

Ariel Kogan

Conclusiones

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

El establecimiento de un plan de experimentacin que puede utilizarse como


protocolo para continuar este trabajo. ste involucr la delimitacin del
universo de estudio y la proposicin de una estrategia clara y ordenada para
generar los resultados necesarios para la evaluacin de los parmetros a
estudiar.

La consideracin a lo largo de todo el diseo de la solucin propuesta de los


tiempos que conlleva la ejecucin de cada componente del proceso de
experimentacin. Se han definido rangos a tomar por las variables de forma tal
de acotar los tiempos de cmputo, y con el mismo fin- se han organizado y
limitado las experiencias a realizar.

6.2

Futuras lneas de trabajo


Se han identificado como futuras lneas de trabajo:

6.2.1

Anlisis de los resultados obtenidos mediante la aplicacin de


minera de datos

En esta tesis se ha realizado un anlisis de los resultados experimentales


obtenidos, estudiando en cada experiencia un nico par de variables. Las
proposiciones experimentales formuladas describen la relacin entre el par de
variables estudiadas en cada experiencia y la medida adoptada para indicar la
efectividad del mtodo.
Una propuesta alternativa consiste en la aplicacin de mtodos automticos de
descubrimiento de conocimiento con el objetivo de obtener patrones.
Se propone como primera aproximacin a este estudio:
1. Definido un universo de estudio, obtener por experimentacin un conjunto de
datos que permita conocer la efectividad del mtodo para cada uno de los
dominios a analizar.
Se recomienda para este paso, generar experiencias distribuidas de forma
equitativa para cada uno de los parmetros. Esto se puede lograr fcilmente
definiendo una misma cantidad de valores a tomar por cada parmetro -dentro
de su rango de variacin- y generando las experiencias por combinacin de
estos.
Es decir, que si se tienen parmetros, tomar la misma cantidad de valores
(mientras ms alto , se presume que ms rico va a ser el conjunto de datos
con el cual se va a trabajar) para cada uno y combinarlos, obteniendo
combinaciones distintas.

Conclusiones

Ariel Kogan

85

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Si se toma una decisin distinta, el conjunto de registros a ser presentado al


algoritmo de descubrimiento de conocimiento, tendr ms ocurrencias de un
parmetro que de otro, lo cual incidir en su comportamiento y generar una
educcin de conocimiento en base a un conjunto de datos generado de forma
tendenciosa.
2. Aplicar una tcnica de discretizacin al atributo clase (efectividad del mtodo
para el dominio estudiado), de forma tal de contar con una clase de tipo
nominal. Cada posible valor de la clase, pasar a representar un rango en el
cual se encuentra la efectividad del mtodo (ej.: valor 1, de 0% a 10%; valor 2:
de 10% a 20%).
3. Aplicar mtodos automticos de descubrimiento de conocimiento (ej.:
inferencias de reglas por TDIDT) con el fin de obtener reglas que indiquen las
condiciones que se cumplen para, mediante la aplicacin de SOM y TDIDT a un
dominio, se obtenga un determinado rango de efectividad del mtodo.

Las reglas a ser obtenidas mediante esta tcnica no estn limitadas en la


cantidad de condiciones que se impongan sobre los atributos, por lo que es posible
que marquen la interrelacin entre varios atributos para indicar el grado de efectividad
obtenido mediante la aplicacin del mtodo propuesto.

6.2.2

Inclusin de los parmetros de la red SOM como variables del


experimento

En la presente tesis han sido definidos valores de configuracin de la red


neuronal SOM como parmetros del banco de pruebas. Sin embargo, debido a la
delimitacin del alcance del presente estudio, estos han permanecido invariantes.
Una futura lnea de trabajo que se ha identificado, consiste en la inclusin como
variables de experimentacin a los parmetros que determinan caractersticas
constructivas de la red neuronal SOM. De esta manera, sera posible analizar la
incidencia de estos parmetros en la efectividad de la aplicacin del mtodo
propuesto.
Algunos parmetros a ser considerados como variables, son:

86

Dimensin del mapa SOM.

Cantidad de veces que se somete a la SOM el conjunto de datos, para


entrenarla.

Ariel Kogan

Conclusiones

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

6.2.3

Otras lneas de trabajo

El estudio completo de todas las combinaciones de variacin de pares de


parmetros, incluyendo la contrastacin entre parmetros asociados al
dominio con aquellos que responden a los ejemplos.

La realizacin de un estudio de similares caractersticas, considerando un rango


de variacin ms amplio para los valores que puede tomar cada uno de los
parmetros estudiados.

Sistematizar la complejidad de un dominio dado en funcin de los parmetros a


partir de los cuales es generado. Estudiar la complejidad que un dominio
presenta para la aplicacin de un mecanismo de descubrimiento de
conocimiento.

El estudio del comportamiento de la efectividad del mtodo propuesto,


introduciendo ruido en los ejemplos generados.

La utilizacin de atributos de tipo numrico, de forma tal que el algoritmo de


induccin pueda generar condiciones del tipo menor a o mayor a, no
nicamente es igual a.

Conclusiones

Ariel Kogan

87

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Referencias

Alander J., Frisk M., 1991. Process error detection using self-organizing feature maps.
Artificial Neural Networks, volume II, pp 1229-1232. Amsterdam,
Netherlands.
Alhoniemi E., 1995. Monitoring of complex processes using the self-organizing map.
Masters thesis, Helsinki University of Technology.
Beveridge M., 1996. Self Organizing Maps.
http://www.dcs.napier.ac.uk/hci/martin/msc/node6.html
Blurock, Eduard S. (1996). The ID3 Algorithm. Research Institute for Symbolic
Computation, Austria.
Britos, P., Grosser, H., Sierra, H. y Garca Martnez, R. 2006. Unusual Changes in
Consumption Detection in Mobile Phone Users. Research in Computing
Science Journal, 21: 195-204.
Britos, P., Hossian, A., Garca-Martinez, R. y Sierra, E. 2005. Minera de Datos Basada
en Sistemas Inteligentes. Editorial Nueva Librera. 1124 pginas. ISBN 9871104-30-8.
Chen, M., Han, J., Yu, P. (1996). Data mining: An overview from database perspective.
IEEE Transactions on Knowledge and Data Eng.
Chen, S., Alahakoon, D., Indrawan, M. 2005. Background Knowledge Driven Ontology
Discovery. Proceedings IEEE International Conference on e-Technology, eCommerce and e-Service Pg. 202-207.
Cogliati, M., Britos, P. Garca-Martnez, R. 2006. Patterns in Temporal Series of
Meteorological Variables Using SOM & TDIDT. Lecture Notes in Artificial
Intelligence (por aparecer). Springer Verlag.
Cumming S., 1993. Neural Networks for monitoring of engine condition data. Neural
Computing & Applications, pp. 96-102.
Essenreiter R., Treitel S., 1999. Identification and classification of multiple reflections
with self-organizing maps. Geophysical Institute, University of Karlsruhe,
Germany.
Evangelos, S., Han, J. (1996). Proceedings of the Second International Conference on
Knowledge Discovery and Data Mining. Portland, EE.UU.

88

Ariel Kogan

Referencias

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Felgaer, P., Britos, P. y Garca-Martnez, R. 2006. Prediction in Health Domain Using


Bayesian Network Optimization Based on Induction Learning Techniques.
International Journal of Modern Physics C, 17(3): 447-455. ISSN 0129-1831.
Ferrero, G., Britos, P., Garca-Martnez, R., 2006. Detection of Breast Lesions in Medical
Digital Imaging Using Neural Networks. In IFIP International Federation for
Information Processing, Volume 218, Professional Practice in Artificial
Intelligence, eds. J. Debenham, (Boston: Springer), pp. 1-10.
Gallion, R., Clair, D., Sabharwal, C., Bond, W.E. (1993). Dynamic ID3: A Symbolic
Learning Algorithm for Many-Valued Attribute Domains. Engineering
Education Center, University of Missouri-Rolla, St. Luis, EE.UU.
Grosser, H., Britos, P. y Garca-Martnez, R. (2005). Detecting Fraud in Mobile
Telephony Using Neural Networks. Lecture Notes in Artificial Intelligence
3533:613-615
Grosser, H., Britos, P. y Garca-Martnez, R. 2005. Detecting Fraud in Mobile Telephony
Using Neural Networks. Lecture Notes in Artificial Intelligence, 3533: 613615. Springer-Verlag.
Grossman, R., Kasif, S., Moore, R., Rocke, D. and Ullman, J. 1999. Data Mining
Research: Opportunities and Challenges, A Report of three NSF Workshops
on Mining Large, Massive, and Distributed Data, January 1999, Chicago.
Gupta, S., Goyal, R., Shubham, K., Dey, L., Malik, A., Chaudhury, S., Bhattacharya S.
2006. Knowledge Discovery from Semi-Structured Data for Conceptual
Organization. Proceedings 2006 IEEE/WIC/ACM International Conference
on Web Intelligence and Intelligent Agent Technology. Pg. 291-294.
Hall, M. y Holmes, G. 2003. Benchmarking Attribute Selection Techniques for Discrete
Class Data Mining, IEEE Transactions on Knowledge and Data Engineering,
vol. 15, no. 6, pp. 1437-1447.
Hilera J. R., Martnez V. 2000, Redes Neuronales Artificiales: Fundamentos, modelos y
aplicaciones, RA-MA Editorial, Madrid.
Hollmen J, 1996. Process Modeling using the Self-Organizing Map, Helsinki University
of Technology Department of Computer Science.
Holsheimer, M., Siebes, A. (1991). Data Mining: The Search for Knowledge in
Databases. Report CS-R9406, ISSN 0169-118X, Amersterdam, The
Netherlands.
Hunt, E.B., Marin, J., Stone, P.J. (1966). Experiments in Induction. New York, Academic
Press, EE.UU.

Referencias

Ariel Kogan

89

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Ian H. Witten and Eibe Frank (2005) "Data Mining: Practical machine learning tools and
techniques", 2nd Edition, Morgan Kaufmann, San Francisco, 2005.
Joachims, T., Freitag, D., Mitchell, T. (1995). Web Watcher: A Tour Guide for the World
Wide Web. School of Computer Science, Carnegie Mellon University,
EE.UU.
Kaski, S. 1997. Data exploration using self-organizing maps. Acta Polytechnica
Scandinavica, Mathematics, Computing and Management in Engineering
Series No. 82, 57 pp. Published by the Finnish Academy of Technology. ISSN
1238-9803.
Kohonen, T. (1982) Self-organized formation of topologically correct feature maps.
Biological Cybernetics, 43:59-69.
Kohonen, T. (1990) The Self-Organizing Map. Proceedings of the IEEE, 78:1464-1480.
Kohonen, T. (1995) Self-Organizing Maps. Springer, Berlin.
Kohonen, T., Oja, E., Simula, O., Visa, A., and Kangas, J. (1996). Engineering applications
of the self-organizing map. Proceedings of the IEEE, 84:1358-1384.
Mannila, H. (1997). Methods and problems in data mining. In Proc. of International
Conference on Database Theory, Delphi, Greece.
Michalski, R. 1983. A Theory and Methodology of Inductive Learning, Artificial
Intelligence, 20:111-161.
Michalski, R. Bratko, I. Kubat, M (eds.) 1998. Machine Learning and Data Mining,
Methods and Applications, John Wiley & Sons Ltd, West Sussex, England
Mitchell, T. (2000). Decision Trees. Cornell University, EE.UU.
Pandey, S., B. Mishra, R. 2005. Knowledge Discovery and Ontology-based services on
the Grid (a survey report). Proceedings Sixth International Conference on
Parallel and Distributed Computing Applications and Technologies. Pg.
1033-1038
Perez-Rey, D., Maojo, V., Garcia-Remesal, M., Alonso-Calvo R. 2004. Biomedical
Ontologies in Post-Genomic Information Systems. Proceedings Fourth IEEE
Symposium on Bioinformatics and Bioengineering. Pg. 207.
Piatetski-Shapiro, G., Frawley, W.J., Matheus, C.J. 1991. Knowledge discovery in
databases: an overview. AAAI-MIT Press, Menlo Park, California.
Quinlan, J. R. 1986. Induction of Decision Trees, Machine Learning,1:81-106

90

Ariel Kogan

Referencias

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Quinlan, J.R. (1993a). The effect of noise on concept learning. En R.S. Michalski, J.G.
Carbonell, & T.M. Mitchells (Eds.) Machine learning, the artificial
intelligence approach. Morgan Kaufmann, Vol. I, Captulo 6, pginas 149167. San Mateo, CA: Morgan Kaufmann, EE.UU.
Quinlan, J.R. (1993b). Learning efficient Classification Procedures and Their Application
to Chess Games. En R.S. Michalski, J.G. Carbonell, & T.M. Mitchells (Eds.)
Machine learning, the artificial intelligence approach. Morgan Kaufmann,
Vol. II, Captulo 15, pginas 463-482, EE.UU.
Quinlan, J.R. (1993c). Programs for machine learning. Morgan Kaufmann publishers,
San Mateo, California, EE.UU.
Quinlan, J.R. (1995). MDL and categorical theories. Basser department of computer
science, University of science, Australia.
Quinlan, J.R., Cameron-Jones, R.M. (1995). Oversearching and layered search in
empirical learning. Basser department of computer science, University of
science, Australia.
Rancn, C., Pesado, P. y Garca-Martnez, R. 2007. Toward Integration of
Knowledge Based Systems and Knowledge Discovery Systems. Journal of
Computer Science & Technology, 7(1): 91-97.
Ritter H., Martinetz T., Schulten K., 1992. Neural Computation and Self-Organizing
Maps. Addison-Wesley Publishing Company.
Salgueiro, F., Cataldi, Z., Britos, P., Sierra, E. y Garca Martnez, R. Selecting Pedagogical
Protocols using SOM. Research in Computing Science Journal, 21: 205-214.
2006.
Servente, M. y Garca Martnez, R. 2002. Algoritmos TDIDT Aplicados a la Minera
Inteligente. Revista del Instituto Tecnolgico de Buenos Aires, 26: 39-57.
ISSN 0326-1840.
Song, G., Qian, Y., Liu, Y., Zhang, K. 2006. Oasis: A Mapping and Integration Framework
for Biomedical Ontologies. Proceedings 19th IEEE Symposium on
Computer-Based Medical Systems. Pg. 611-616
Vapola M., Simula O., Kohonen T., 1994. Representation and identification of fault
conditions of an anaesthesia system by means of the Self-Organizing Map.
Int. Conference on Artificial Neural Networks, volume I, pp. 350-353,
London, UK.
Vesanto J., Alhoniemi E., 2000, Clustering of the Self-Organizing Map. IEEE transactions
on neural networks, Vol 11, No. 3.

Referencias

Ariel Kogan

91

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Metodologa

En este captulo se describe la metodologa empleada para la construccin del


banco de pruebas.
Se enumeran los requerimientos (seccin A.1), Se hace el anlisis del sistema
(seccin A.2) mediante diagramas de clase (seccin A.2.1), determinacin de casos de
uso (seccin A.2.2), y diagramas de transicin de estados (seccin A.2.3).
Se realiza el diseo de la aplicacin (seccin A.3) para sus componentes de
ejecucin de experiencias (seccin A.3.1), graficacin de resultados (seccin A.3.2) y
unificacin de los resultados obtenidos para su anlisis en conjunto (seccin A.3.3).
Se aborda la codificacin de la solucin (seccin A.4) y su implementacin
(seccin A.5) describiendo sus procesos y pantallas (seccin A.5.1).
Finalmente, se cubre la etapa de pruebas (seccin A.6) estableciendo un plan
de pruebas (seccin A.6.1), documentando el diseo de cada prueba (seccin A.6.2),
especificando los casos de prueba (seccin A.6.3), los procedimientos (seccin A.6.4),
se confecciona un informe de los casos de prueba ejecutados (seccin A.6.5), as como
un informe de la prueba (seccin A.6.6). Se determina la gestin de configuracin
(seccin A.7) en cuanto a su identificacin (seccin A.7.1), control (seccin A.7.2) y
generacin de informes de estado (seccin A.7.3).

A.1

Requerimientos

El banco de pruebas debe permitir definir experimentos, ejecutarlos y


almacenar los datos del experimento, junto a los resultados obtenidos, en algn medio
de persistencia.
Otro requerimiento consiste en facilitar el anlisis de los resultados obtenidos,
permitiendo generar grficas de manera automtica.
En el caso que las experiencias sean ejecutadas en distintas mquinas con el
objetivo de obtener mayor poder de cmputo, el sistema debe proveer un mecanismo
de unificacin de los resultados obtenidos para su anlisis en conjunto.

A.2

Anlisis

A.2.1 Diagrama de Clases


A continuacin se presenta el diagrama de clases fundamentales del proyecto
acompaado de una descripcin de cada una de stas:

92

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Scenario

Experience

-id
-attributesNumber
-attPosibleValues
-classPosibleValues
-rulesPerClass
-attUsedInRule
-instancesByRule
-classAttPossibleValuesPercentage
-mix
-allowMultipleCoverage
-allowedCoverageDesviation
-somTrainingIterationsMultiplier
-somMapWidth
-somMapHeight
-connection

-id
-scenario
-variableParameter
#from
#to
#iterationsPerValue
-description
-experienceIteration
#connection

*
1

1
*
ExperienceIteration

-id
-experience
#x
-rulesCorrectlyCoveredJ48
-rulesCorrectlyCoveredId3
-commonAttributesScoreJ48
-commonAttributesScoreId3
-generator
-som
-j48
-id3
-connection

SimpleRules

Som

J48

Id3

-attributesNumber
-attPosibleValues
-classPosibleValues
-rulesPerClass
-attUsedInRule
-instancesByRule
-classAttPossibleValuesPercentage
-mix
-allowMultipleCoverage
-ruleSet
-dataset

#mapWidth
#mapHeight
#mapTopology
#neighbourhoodFunction
#learningFunction
#neighbourhoodSize
#learningRate
#trainingIterations
#supervised

-m_root
-m_unpruned
-m_CF
-m_minNumObj
-m_useLaplace
-m_reducedErrorPruning
-m_numFolds
-m_binarySplits
-m_subtreeRaising
-m_noCleanup
-m_Seed

-m_Successors
-m_Attribute
-m_ClassValue
-m_Distribution
-m_ClassAttribute

Figura A.1: Diagrama de clases fundamentales del banco de pruebas

Scenario:
Clase que caracteriza a un dominio, un escenario de experimentacin. Sus
atributos corresponden a los parmetros que rigen el banco de pruebas.

Experience:
Clase que caracteriza a una experiencia. Cada experiencia consiste en la
variacin del parmetro variableParameter desde su valor from a su valor to,
calculando el resultado para cada valor iterationsPerValue veces.

ExperienceIteration:
Clase que realiza cada una de las iteraciones de experimentacin. Posee una
referencia a su Experience, la cual tiene una referencia a Scenario, camino por el cual
Metodologa

93

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

obtiene la informacin necesaria para la iteracin de experimentacin. A su vez,


almacena en el atributo x, el valor de variableParameter que corresponde a la
iteracin.
Como otros atributos tiene al generador del dominio, al mapa SOM, a los
rboles TDIDT y a los resultados obtenidos de haber ejecutado la iteracin.

SimpleRules:
Clase generadora de dominios, de acuerdo al mtodo descripto en la seccin
4.3.

Som:
Clase que implementa la red neuronal SOM como algoritmo de agrupamiento.

J48:
Clase que implementa el algoritmo J48 (C4.5) como rbol de induccin de
reglas TDIDT.

Id3:
Clase que implementa el algoritmo ID3 como rbol de induccin de reglas
TDIDT.

A.2.2 Casos de Uso


En la siguiente figura se presentan los casos de uso del sistema desde un
enfoque de alta abstraccin. Estos corresponden a las acciones que el experimentador
(actor) realiza sobre el sistema.

Correr experiencias

Graficar
experiencias

Experimentador

Unificar datos de
distintas DBs

Figura A.2: Diagrama de casos de uso de alto nivel de abstraccin

94

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

A.2.2.1 Ejecucin de experiencias


Para la mejor comprensin del proceso de ejecucin de experiencias, es
necesario hacer un anlisis ms detallado del caso de uso de alto nivel.

Cargar o crear
Scenario

ExperienceRunner

Crear Experience

Correr Experience

Correr cada
ExperienceIteration

Figura A.3: Diagrama de casos de uso de ejecucin de experiencias

Antes de ejecutar una experiencia, es necesario obtener la instancia necesaria


del escenario, o bien crearla en caso que no exista. Tras esto, s se puede crear la
experiencia y comenzar a correrla, lo cual dar inicio a la ejecucin de cada una de las
iteraciones.
Cada iteracin de una experiencia est compuesta por una serie de acciones:

Metodologa

95

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Generar el dominio

ExperienceIteration

Correr la SOM

Correr TDIDT

Determinar reglas
cubiertas de forma correcta

Figura A.4: Diagrama de casos de uso de iteraciones

De esta manera, para ejecutar una iteracin es necesario generar el dominio,


aplicar sobre ste SOM como algoritmo de agrupamiento, educir reglas mediante
TDIDT y determinar el porcentaje de reglas cubiertas de forma correcta.

A.2.3 Diagrama de transicin de estados


A.2.3.1 Ejecucin de experiencias
Con el objetivo de una mejor comprensin del proceso de ejecucin de una
experiencia -el cual engloba cada una de sus iteraciones-, se presenta a continuacin
un diagrama de transicin de estados, el cual detalla los diferentes estados en que se
encontrar la ejecucin de la experiencia para ser completada:

96

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

x = desde

X = hasta

X <= hasta

iteracin = 1

x=x+1

Iteracin = iteraciones

Iteracin <= iteraciones

Correr ExperienceIteration

Persistir ExperienceIteration

iteracin = iteracin + 1

Figura A.5: Diagrama de transicin de estados de ejecucin de experiencias

Se procesa cada uno de los valores del parmetro a variar, tantas veces como
se han indicado las iteraciones cuyos resultados ms tarde sern promediados.

A.3

Diseo

El diseo de la solucin se dividi en las partes identificadas en el anlisis. Es as


como a continuacin se describirn las soluciones de diseo adoptadas por la
ejecucin de las experiencias, la graficacin de los resultados obtenidos, y la
unificacin de los resultados obtenidos para su anlisis en conjunto.

Metodologa

97

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

A.3.1 Ejecucin de experiencias


Para llevar adelante la ejecucin de las experiencias, se ha diseado un
conjunto de 8 clases, las cuales sern descriptas a continuacin:

A.3.1.1 Scenario
Se trata de una clase de entidad que contiene informacin sobre los que han
sido definidos como parmetros del banco de pruebas. Mediante esta clase, es posible
definir las caractersticas de los dominios y las condiciones bajo las cuales se va a llevar
la experimentacin, lo cual termina conformando un escenario de experimentacin.

A.3.1.2 Experience
Esta clase toma un escenario y define un plan de experimentacin basado en
hacer variar un determinado parmetro en un rango de valores, calculando el
resultado obtenido para cada uno de los valores una cierta cantidad de veces. Estas
son las denominadas iteraciones y tienen como objetivo reducir el error proveniente
de la incidencia de la funcin azar como herramienta de determinacin del dominio.

A.3.1.3 ExperienceIteration
Cada instancia de esta clase responde a una instancia de Experience, ya que las
instancias de esta clase son las iteraciones realizadas para cumplir con la experiencia
definida en la clase Experience.
Cada atributo de esta clase, tiene adems una instancia de las clases que
permiten generar el dominio, aplicar SOM, aplicar TDIDT con el objetivo de evaluar el
porcentaje de reglas cubiertas de forma correcta tras la aplicacin de SOM y TDIDT
como mecanismo de descubrimiento de conocimiento.

A.3.1.4 SimpleRules
Esta clase es un generador que implementa la interfaz ClassificationGenerator
del conjunto de clases provistas por la Universidad de Waikato. Haciendo uso de este
generador, es posible crear dominios de acuerdo al mtodo descripto en la seccin 4.3.

A.3.1.5 Som
Clase escrita por Jason Brownlee que implementa en Java las funciones del
paquete de software SOM_PAK, como aportacin al conjunto de clases de la
Universidad de Waikato.

98

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

A.3.1.6 J48
Clase perteneciente al conjunto de clases de la Universidad de Waikato, que
implementa el algoritmo J48 (C4.5) como rbol de induccin de reglas TDIDT.

A.3.1.7 Id3
Clase perteneciente al conjunto de clases de la Universidad de Waikato, que
implementa el algoritmo ID3 como rbol de induccin de reglas TDIDT.

A.3.1.8 ExperienceRunner
Clase que permite definir una serie de experiencias a ser realizadas sobre el
banco de pruebas, corriendo en modo batch.
Esta clase no aparece en el diagrama de clases, debido a que es una clase de
control cuyo objetivo es disear las experiencias a realizar y ejecutarlas.

A.3.2 Graficacin de resultados


Para presentar mediante grficas los resultados obtenidos, se ha desarrollado
la clase GraphDrawer, la cual permite generar las grficas predefinidas en la base de
datos.

A.3.3 Unificacin de los resultados obtenidos para su anlisis en


conjunto
Con el objetivo de unificar en una nica base de datos los resultados
almacenados en distintas bases de datos, se ha desarrollado la clase DbMerger que
permite migrar todos los datos de las experiencias indicadas de una base de datos
origen a una base de datos destino, generando un conjunto de datos consolidado.

A.4

Codificacin

La codificacin del banco de pruebas ha sido realizada en lenguaje Java,


utilizando como soporte de persistencia a PostgreSQL como base de datos.

Metodologa

99

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Tanto el cdigo fuente de todas las clases como los scripts de generacin de la
base de datos, se encuentran en el CD que acompaa a esta tesis.

A.5

Implementacin

A.5.1 Procesos y Pantallas


El banco de pruebas que se construy no cuenta con procesos online, sino que
est compuesto de los siguientes procesos batch:

Ejecucin de experiencias.
Graficacin de resultados.
Unificacin de los resultados obtenidos para su anlisis en conjunto.

Debido a la especificidad de las instrucciones para cada proceso batch y a la


complejidad de representar estas instrucciones en un archivo de entrada a los
procesos, sumado a la simplicidad con la que se puede definir en cdigo Java dichas
instrucciones, es que los procesos batch no tienen archivos de entrada, sino que sus
especificaciones se encuentran hardcoded en las rutinas que inician los
procesamientos.
A continuacin se presentan cuadros que sintetizan cada uno de los procesos,
sus funciones principales, la informacin que debe ser especificada en el cdigo que
inicia el proceso y el resultado que se obtiene tras su ejecucin.

A.5.1.1 Ejecucin de experiencias.


Ambiente

UNIX / Windows / MAC


Lnea de comando en lenguaje interpretado multiplataforma.

Modo de
Ejecucin
Configuracin
de proceso

java -Xmx512m -cp classpath \


ar.com.arikogan.bdp.ExperienceRunner

Salida

Base de datos con la cual trabajar


Definicin de escenarios
Definicin de experiencias
Se persisten en la base de datos los registros correspondientes a los
escenarios, las experiencias y sus iteraciones involucradas en la
ejecucin del proceso.
En el standard output se obtiene el log del proceso de ejecucin de
las experiencias.

classpath = .:[path del jar del banco de pruebas]:[path del jar


de PostgreSQL]

100

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

A.5.1.2 Graficacin de resultados.


Ambiente

UNIX / Windows / MAC


Lnea de comando en lenguaje interpretado
multiplataforma.

Modo de Ejecucin

java -Xmx512m -cp classpath \


ar.com.arikogan.bdp.GraphDrawer

Configuracin de
proceso
Salida

ID de los grficos a generar

Archivos PNG con las grficas en color y blanco y negro.


En el standard output se obtiene el log del proceso.

classpath = .:[path del jar del banco de pruebas]:[path del jar


de PostgreSQL]:[path del jar de JFreeChart]

A.5.1.3 Unificacin de los resultados obtenidos para su anlisis en conjunto.


Ambiente

UNIX / Windows / MAC


Lnea de comando en lenguaje interpretado multiplataforma.

Modo de
Ejecucin
Configuracin de
proceso

java -Xmx512m -cp classpath \


ar.com.arikogan.bdp.DbMerger

Salida

Base de datos origen


Base de datos destino
Experiencias a migrar
Las experiencias indicadas contenidas en la base de datos origen,
son migradas a la base de datos destino.
En el standard output se obtiene el log del proceso.

classpath = .:[path del jar del banco de pruebas]:[path del jar


de PostgreSQL]

Metodologa

101

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

A.6

Pruebas

A.6.1 Plan de pruebas


Objetivo de la prueba
Objetos a probar

Caractersticas a
probar

Caractersticas a no
probar
Cantidad de casos de
prueba

Detectar errores de programacin y funcionamiento en el


sistema banco de pruebas
1. Ejecucin de experiencias
2. Graficacin de resultados
3. Unificacin de los resultados obtenidos para su
anlisis en conjunto
Funcionamiento de cada una de los procesos para un
conjunto de tareas definido a tal fin.
La prueba se realizar tanto en plataforma Windows como
Linux.
No se probar la velocidad o performance de la herramienta.
10

A.6.2 Documento de diseo de la prueba


Procedimiento de
pruebas
Mtodos de prueba
a utilizar
Criterios para la
aprobacin de las
pruebas

Las pruebas sern llevadas a cabo de acuerdo a lo descripto en


la seccin A.6.4 (Especificacin del procedimiento de prueba)
registrndose las anomalas observadas.
Se utilizar el mtodo de caja negra, adivinacin de errores,
para poder as determinar las posibles fallas del sistema.
Los criterios para la aprobacin de las pruebas se realizarn de
acuerdo a la siguiente tabla:
Excelente: Cuando el resultado obtenido luego de realizada la
prueba es idntico al resultado citado en la seccin A.6.3 Especificacin de los casos de prueba.
Muy bueno: Cuando el resultado obtenido luego de realizada la
prueba es parecido al resultado citado en la seccin A.6.3 Especificacin de los casos de prueba.
Bueno: Cuando el resultado obtenido luego de realizada la
prueba no fue el resultado citado en la seccin A.6.3 Especificacin de los casos de prueba, pero no ha provocado
anomalas en el funcionamiento de la herramienta.
Regular: Cuando el resultado obtenido luego de realizada la
prueba no fue el resultado citado en la seccin A.6.3 -

102

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Especificacin de los casos de prueba, pero ha provocado


anomalas en el funcionamiento del programa.
Malo: Cuando el resultado obtenido luego de realizada la
prueba no fue el resultado citado en la seccin A.6.3 Especificacin de los casos de prueba, pero ha provocado
anomalas en el funcionamiento del programa tales como la
salida del sistema o colgarse.

A.6.3 Especificacin de los casos de prueba


tem
Objetivo
1 Correr una
experiencia para
la cual no existe
un escenario
2 Correr una
experiencia para
la cual s existe
un escenario

3 Correr una
experiencia
donde el
parmetro a
variar toma 3
valores y se
ejecuta 1
iteracin por
valor
4 Correr una
experiencia
donde el
parmetro a
variar toma 3
valores y se
ejecutan 10
iteraciones por
valor
Metodologa

Accin
Entrada
Ejecutar
Indicar para la
ExperienceRunner experiencia un
escenario que
no existe

Resultado esperado
El escenario debe ser
creado en la base de
datos y la
experiencia debe
referenciar a ste
Ejecutar
Indicar para la
No debe crearse
ExperienceRunner experiencia un
ningn escenario en
escenario que s la base de datos y la
existe
experiencia debe
referenciar al
preexistente con las
caractersticas dadas
Ejecutar
Indicar para la
Se deben haber
ExperienceRunner experiencia que creado 3 iteraciones
el parmetro a para la experiencia,
variar toma 3
cada una con un
valores y se
valor distinto de x,
ejecuta 1
pero
iteracin por
correspondientes a
valor.
los valores a tomar
por el parmetro que
vara.
Ejecutar
Indicar para la
Se deben haber
ExperienceRunner experiencia que creado 30
el parmetro a iteraciones para la
variar toma 3
experiencia, 10 para
valores y se
cada uno de los
ejecutan 10
valores a tomar por
iteraciones por el parmetro que
valor.
vara.

103

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

5 Correr una
experiencia en la
cual la cantidad
de atributos
sobre los que se
imponen
condiciones es
igual a la
cantidad de
atributos de los
ejemplos.
6 Migrar
experiencias de
una base de
datos a otra,
referenciando las
experiencias en
origen
escenarios
presentes en
destino.
7 Migrar
experiencias de
una base de
datos a otra,
referenciando las
experiencias en
origen
escenarios no
existentes en
destino.
8 Migrar
experiencias
inexistentes en la
base de datos
origen.

Ejecutar
Indicar iguales
ExperienceRunner la cantidad de
atributos sobre
los que se
imponen
condiciones y la
cantidad de
atributos de los
ejemplos.

Se debe arrojar una


excepcin y no
generar ninguna
iteracin para la
experiencia.

Ejecutar
DbMerger

Indicar
experiencias a
migrar que
referencien
escenarios
preexistentes
en destino

Las experiencias
migradas deben
referenciar a los
escenarios
preexistentes en
destino y no deben
crearse nuevos
escenarios.

Ejecutar
DbMerger

Indicar
experiencias a
migrar que
referencien
escenarios no
existentes en
destino

Ejecutar
DbMerger

9 Generar grficas
definidas en la
base de datos.

Ejecutar
GraphDrawer

Indicar
experiencias a
migrar no
existentes en la
base de datos
origen.
Indicar grficas
a generar
existentes en la
base de datos.

Los escenarios deben


ser migrados a la
base de datos
destino (creados en
sta), as como las
experiencias, las
cuales deben pasar a
referenciar los
escenarios recin
creados.
Se debe arrojar una
excepcin y detener
el proceso.

10 Generar grficas
no definidas en
la base de datos.

Ejecutar
GraphDrawer

104

Indicar grficas
a generar
inexistentes en
la base de
datos.

Se deben generar los


archivos de imagen
PNG para las grficas
a color y blanco y
negro.
Se debe arrojar una
excepcin y detener
el proceso.

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

A.6.4 Especificacin del procedimiento de prueba


tem
Accin
1 Ejecutar
ExperienceRunner
2 Ejecutar
ExperienceRunner

Entrada
Indicar para la
experiencia un
escenario que no existe
Indicar para la
experiencia un
escenario que s existe

3 Ejecutar
ExperienceRunner

Indicar para la
experiencia que el
parmetro a variar
toma 3 valores y se
ejecuta 1 iteracin por
valor.
Ejecutar
Indicar para la
ExperienceRunner experiencia que el
parmetro a variar
toma 3 valores y se
ejecutan 10 iteraciones
por valor.
Ejecutar
Indicar iguales la
ExperienceRunner cantidad de atributos
sobre los que se
imponen condiciones y
la cantidad de atributos
de los ejemplos.
Ejecutar DbMerger Indicar experiencias a
migrar que referencien
escenarios
preexistentes en
destino
Ejecutar DbMerger Indicar experiencias a
migrar que referencien
escenarios no
existentes en destino

8 Ejecutar DbMerger Indicar experiencias a


migrar no existentes en
la base de datos origen.
Metodologa

Resultado esperado
El escenario debe ser creado en
la base de datos y la experiencia
debe referenciar a ste
No debe crearse ningn
escenario en la base de datos y
la experiencia debe referenciar
al preexistente con las
caractersticas dadas
Se deben haber creado 3
iteraciones para la experiencia,
cada una con un valor distinto
de x, pero correspondientes a
los valores a tomar por el
parmetro que vara.
Se deben haber creado 30
iteraciones para la experiencia,
10 para cada uno de los valores
a tomar por el parmetro que
vara.
Se debe arrojar una excepcin y
no generar ninguna iteracin
para la experiencia.

Las experiencias migradas


deben referenciar a los
escenarios preexistentes en
destino y no deben crearse
nuevos escenarios.
Los escenarios deben ser
migrados a la base de datos
destino (creados en sta), as
como las experiencias, las cuales
deben pasar a referenciar los
escenarios recin creados.
Se debe arrojar una excepcin y
detener el proceso.

105

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

9 Ejecutar
GraphDrawer
10 Ejecutar
GraphDrawer

Indicar grficas a
generar existentes en la
base de datos.
Indicar grficas a
generar inexistentes en
la base de datos.

Se deben generar los archivos


de imagen PNG para las grficas
a color y blanco y negro.
Se debe arrojar una excepcin y
detener el proceso.

A.6.5 Informe de los casos de prueba ejecutados


tem

Accin

1 Ejecutar
ExperienceRunner

2 Ejecutar
ExperienceRunner

3 Ejecutar
ExperienceRunner

4 Ejecutar
ExperienceRunner

5 Ejecutar
ExperienceRunner

106

Entrada
Indicar para la
experiencia un
escenario que no
existe
Indicar para la
experiencia un
escenario que s
existe

Resultado esperado

Resultado
obtenido
Excelente

El escenario debe ser


creado en la base de
datos y la experiencia
debe referenciar a ste
No debe crearse ningn Excelente
escenario en la base de
datos y la experiencia
debe referenciar al
preexistente con las
caractersticas dadas
Indicar para la
Se deben haber creado 3 Excelente
experiencia que el iteraciones para la
parmetro a variar experiencia, cada una
toma 3 valores y
con un valor distinto de
se ejecuta 1
x, pero correspondientes
iteracin por
a los valores a tomar por
valor.
el parmetro que vara.
Indicar para la
Se deben haber creado
Excelente
experiencia que el 30 iteraciones para la
parmetro a variar experiencia, 10 para
toma 3 valores y
cada uno de los valores a
se ejecutan 10
tomar por el parmetro
iteraciones por
que vara.
valor.
Indicar iguales la
Se debe arrojar una
Excelente
cantidad de
excepcin y no generar
atributos sobre los ninguna iteracin para la
que se imponen
experiencia.
condiciones y la
cantidad de
atributos de los
ejemplos.

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

6 Ejecutar
DbMerger

7 Ejecutar
DbMerger

8 Ejecutar
DbMerger

9 Ejecutar
GraphDrawer

10 Ejecutar
GraphDrawer

Indicar
experiencias a
migrar que
referencien
escenarios
preexistentes en
destino
Indicar
experiencias a
migrar que
referencien
escenarios no
existentes en
destino

Indicar
experiencias a
migrar no
existentes en la
base de datos
origen.
Indicar grficas a
generar existentes
en la base de
datos.
Indicar grficas a
generar
inexistentes en la
base de datos.

Las experiencias
migradas deben
referenciar a los
escenarios preexistentes
en destino y no deben
crearse nuevos
escenarios.
Los escenarios deben ser
migrados a la base de
datos destino (creados
en sta), as como las
experiencias, las cuales
deben pasar a
referenciar los
escenarios recin
creados.
Se debe arrojar una
excepcin y detener el
proceso.

Excelente

Excelente

Excelente

Se deben generar los


Excelente
archivos de imagen PNG
para las grficas a color y
blanco y negro.
Se debe arrojar una
Excelente
excepcin y detener el
proceso.

A.6.6 Informe de la prueba


El banco de pruebas funcion de acuerdo a lo esperado al ser sometido a las
pruebas descriptas en las secciones anteriores.

A.7

Gestin de configuracin

A.7.1 Identificacin de la configuracin


Nombre de la Banco de pruebas de la combinacin de agrupamiento por SOM e
aplicacin
induccin por TDIDT como mecanismo de descubrimiento de
conocimiento.

Metodologa

107

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Objetivo de
la aplicacin
Ciclo de vida
del software
Fases del
ciclo de vida

Lneas base
establecidas

Proveer una plataforma que permita realizar experimentos sobre el


comportamiento de agrupamiento por SOM e induccin por TDIDT
como mecanismo de descubrimiento de conocimiento.
Modelo en cascada.
1. Requerimientos (seccin A.1)
2. Anlisis (seccin A.2)
a. Diagrama de clases (seccin A.2.1)
b. Casos de uso (seccin A.2.2)
c. Diagrama de transicin de estados (seccin A.2.3)
3. Diseo (seccin A.3)
a. Ejecucin de experiencias (seccin A.3.1)
b. Graficacin de resultados (seccin A.3.2)
c. Unificacin de los resultados obtenidos (seccin A.3.3)
4. Codificacin (seccin A.4)
5. Implementacin (seccin A.5)
a. Procesos y pantallas (seccin A.5.1)
6. Pruebas (seccin A.6)
a. Plan de pruebas (seccin A.6.1)
b. Documento de diseo de la prueba (seccin A.6.2)
c. Especificacin de los casos de prueba (seccin A.6.3)
d. Especificacin del procedimiento de prueba (seccin
A.6.4)
e. Informe de los casos de prueba ejecutados (seccin
A.6.5)
f. Informe de la prueba (seccin A.6.6)
7. Gestin de configuracin (seccin A.7)
a. Identificacin de la configuracin (seccin A.7.1)
b. Control de configuracin (seccin A.7.2)
c. Generacin de informes de estado (seccin A.7.3)
Para el desarrollo del presente trabajo se han acotado las lneas base
como los elementos de configuracin definidos. En este caso el criterio
es que, dado que es una sola persona -el tesista- quien realiza la
documentacin del proyecto y la programacin, se ha definido una
sola lnea base para todo el proceso de desarrollo, programacin e
implementacin cuyas fases y elementos de configuracin se
detallaron en la seccin anterior.

A.7.2 Control de configuracin


Utilizando como fuente de informacin, control y seguimiento una base de
datos de cambios, se implementa el siguiente mecanismo para el control de los
mismos:

108

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Generacin de una solicitud de cambio


Ante el requerimiento de un cambio funcional o un reporte de error, se
completa la correspondiente solicitud.

Ingreso de la solicitud a la base de datos de cambios


Una vez recibida la solicitud de cambio, se la ingresa en la base de datos de
cambios.

Anlisis de la solicitud de cambio


Cada solicitud de cambio debe ser analizada y se debe decidir si se rechaza o se
acepta el cambio. La decisin tomada queda registrada en la base de datos de
cambios.

Evaluacin de la solicitud de cambio


Si se decide la aceptacin de la solicitud de cambio, se debe realizar la
evaluacin tcnica de la misma, emitiendo un informe en donde se exprese el
esfuerzo requerido para satisfacer el pedido, las repercusiones que dicho
cambio genera en otros elementos y el costo estimado. La evaluacin realizada,
queda registrada en la base de datos de cambios.

Generacin de la orden de cambio


El informe generado durante la evaluacin de la solicitud de cambio, se somete
a anlisis asignndole la prioridad y los recursos necesarios. Se emite una orden
de cambio.

Realizacin del cambio


Se realiza el cambio, se registra y se realiza el control de la modificacin.

Prueba e implementacin del cambio


Se certifica que el cambio funciona correctamente y se procede a su
implementacin, a travs de la modificacin de manuales y documentos que
deban reflejar el cambio.

A.7.3 Generacin de informes de estado


A.7.3.1 Solicitud de cambios

Sistema:
Pedido por:
Resultado de la evaluacin:
Cambio solicitado:

Metodologa

BDP
Aceptado

Fecha

dd/mm/aaaa

Rechazado

109

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Solucin propuesta:

Elementos del producto software afectados por el cambio:

Documentacin anexa presentada:

Solucin propuesta por el rea de desarrollo:

Tiempo estimado en horas (anlisis, programacin y pruebas, e implementacin):

Cronograma de desarrollo e implementacin:

Plan de pruebas:

A.7.3.2 Orden de cambios


Sistema:
Pedido por:
Cambio a realizar:

BDP

Fecha:
N solicitud:

dd/mm/aaaa

Elementos del producto software afectados por el cambio:

Tiempo estimado en horas (anlisis, programacin y pruebas, e implementacin):

Comentarios del cambio:

Fecha de entrega: dd/mm/aaaa

110

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

A.7.3.3 Registro de cambios


Sistema:
Pedido por:

BDP

Fecha
dd/mm/aaaa
N solicitud
Fecha de solicitud dd/mm/aaaa

Descripcin breve del problema:

Fecha de evaluacin: dd/mm/aaaa


Resultado de la evaluacin
Aceptado
Comentarios:

Prioridad asignada:
Estado actual del pedido:

Rechazado

ALTA | MEDIA | BAJA

Fecha de terminacin: dd/mm/aaaa

A.7.3.4 Registro de instalaciones


Sistema: BDP

Fecha
N solicitud
Descripcin breve del problema:

dd/mm/aaaa

Fecha de evaluacin: dd/mm/aaaa


Versin instalada:

A.7.3.5 Informe de estado de cambios


Sistema:
BDP
Fecha dd/mm/aaaa
Fecha desde: dd/mm/aaaa Fecha hasta: dd/mm/aaaa
dd/mm/aaaa

dd/mm/aaaa

Metodologa

111

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

dd/mm/aaaa

dd/mm/aaaa

A.7.3.6 Informe de instalacin


Sistema:
BDP
Fecha dd/mm/aaaa
Fecha desde: dd/mm/aaaa Fecha hasta: dd/mm/aaaa
dd/mm/aaaa

dd/mm/aaaa

dd/mm/aaaa

dd/mm/aaaa

112

Metodologa

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Manual de Usuario

En este anexo se transcribe el manual de usuario del banco de pruebas.


Se introduce el banco de pruebas (seccin B.1) describiendo sus componentes
(seccin B.1.1), la plataforma y el lenguaje para los cuales est desarrollado (seccin
B.1.2), las libreras utilizadas (seccin B.1.3) y se presenta el producto (seccin B.1.4).
Se enumeran los requerimientos previos para poner en funcionamiento el
producto (seccin B.2), se detalla el procedimiento para configurar el entorno de
trabajo (seccin B.3) mediante el establecimiento del classpath apropiado (seccin
B.3.1) y la creacin del esquema necesario para la base de datos (seccin B.3.2).
Finalmente, se describe la forma de utilizar el banco de pruebas (seccin B.4),
tanto para los procedimientos comunes a todas las operaciones (seccin B.4.1), como
para la ejecucin de experiencias (seccin B.4.2), unificacin de datos (seccin B.4.3) y
graficacin de resultados (seccin B.4.4).

B.1

Introduccin

El banco de pruebas desarrollado para esta tesis, es una herramienta que


permite realizar experimentos para estudiar la efectividad del agrupamiento por SOM
e induccin por TDIDT como mecanismo de descubrimiento de conocimiento.
Con el objetivo de ponerlo operativo, es necesario satisfacer ciertos
requerimientos, configurar el entorno en el que se va a trabajar, y finalmente verificar
su correcto funcionamiento.

B.1.1 Descripcin de los componentes


El sistema como un todo est integrado por los siguientes componentes:
1. Conjunto de clases que proveen los algoritmos con los cuales se va a
experimentar.
2. Clases que permiten definir y ejecutar la experimentacin a realizar, as como
generar grficas para su anlisis.
3. Base de datos utilizada como soporte de persistencia de las experiencias
realizadas y los resultados obtenidos.

B.1.2 Plataforma y lenguaje


El sistema ha sido desarrollado en lenguaje Java y hace uso de PostgreSQL
como motor de base de datos, el cual corre en los principales sistemas operativos. Es
as como el sistema es por completo multiplataforma.

Manual de Usuario

113

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

B.1.3 Libreras utilizadas


Para conformar el conjunto de clases que proveen los algoritmos con los cuales
se va a experimentar, se hizo uso de un conjunto de clases provistas por la Universidad
de Waikato, as como de un paquete de clases desarrolladas por Jason Brownlee1 que
implementan en Java la funcionalidad del paquete de software SOM_PAK2, como
aportacin al primer conjunto de clases.

B.1.3.1 Weka
Weka [Ian & Frank, 2005] es una coleccin de algoritmos de aprendizaje
automtico para tareas de minera de datos. Los algoritmos pueden ser aplicados
directamente sobre conjuntos de datos o bien ser llamados desde cdigo Java propio,
el cual es el uso que se ha hecho en este sistema.
Weka cuenta con una serie de herramientas para el pre-procesamiento de
datos, clasificacin, regresin, agrupamiento, reglas de asociacin y visualizacin.
Asimismo, permite utilizar de forma simple nuevos esquemas desarrollados.
Es as como se ha desarrollado sobre la base de Weka, una serie de
herramientas para realizar las labores de experimentacin de esta tesis.
De la misma manera, gracias a las herramientas provistas por Weka y la
plataforma de experimentacin provista por el banco de pruebas, es posible realizar
labores de experimentacin sobre otros algoritmos de forma muy simple.
Weka es software libre publicado bajo Licencia Pblica General GNU.

B.1.3.2 Weka Classification Algorithms (WCA)


Este proyecto provee la implementacin en Java de una serie de algoritmos de
inteligencia artificial, como complemento a Weka.
Entre estos, se encuentra el algoritmo SOM tal cual como es presentado en el
paquete SOM_PAK preparado por la Universidad de Tecnologa de Helsinki.
Weka Classification Algorithms es software libre publicado bajo Licencia Pblica
General GNU.

B.1.4 Presentacin del producto


La presentacin del producto consiste en:

http://wekaclassalgos.sourceforge.net/

http://www.cis.hut.fi/research/som_pak/

114

Manual de Usuario

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Un nico archivo jar que recopila las libreras utilizadas de Weka, WCA, y las
incorporaciones realizadas.

Un conjunto de archivo de extensin java que contienen las clases que


permiten definir y ejecutar la experimentacin a realizar, as como generar
grficas para su anlisis.

Archivos de extensin sql que contienen los scripts SQL para la creacin y
mantencin del esquema de base de datos utilizado como soporte de la
informacin de experimentacin y sus resultados.

B.2

Requerimientos

Para comenzar a utilizar el banco de pruebas, existe una serie de


requerimientos de software, los cuales sern descriptos a continuacin, junto a breves
indicaciones sobre su instalacin.
Si bien este documento procura servir de gua para el experimentador que
desea comenzar a utilizar el banco de pruebas, no puede abarcar la cantidad de
variantes que pueden surgir al incorporar los requerimientos necesarios, as como
detallar con profundidad los pasos para su instalacin. Es por eso que se recomienda
recurrir al manual de usuario de cada producto en particular.

B.2.1 Mquina virtual Java


Para ejecutar cdigo Java, es necesario tener instalada la mquina virtual Java.
La versin en espaol, junto a documentacin en el mismo idioma, se puede encontrar
en http://www.java.com/es/download/

B.2.2 PostgreSQL
PostgreSQL es el motor de base de datos elegido para el almacenamiento de los
datos de los experimentos y sus resultados.
Adems del servidor de base de datos, hay disponibles clientes de
administracin y drivers JDBC. La instalacin de estos componentes se detalla a
continuacin.

B.2.2.1 Servidor de base de datos


El instalador del servidor de base de datos para distintas plataformas puede ser
descargado de http://www.postgresql.org/download/.

Manual de Usuario

115

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Una vez instalado el servidor de base de datos, es conveniente crear un rol con
el cual se va a trabajar. La documentacin sobre esta operacin se puede encontrar en
http://www.postgresql.org/docs/8.2/interactive/sql-createrole.html.

B.2.2.2 Herramienta de administracin pgAdmin


pgAdmin es una herramienta standalone para distintas plataformas que
permite la administracin de un servidor PostgreSQL y sus bases de datos. La misma
puede ser descargada de http://www.pgadmin.org/download/.

B.2.2.3 Driver JDBC


Con el objetivo de conectarse a una base de datos PostgreSQL desde cdigo
Java, es necesario utilizar el driver JDBC apropiado.
El correspondiente a PostgreSQL puede ser descargado de
http://jdbc.postgresql.org/download.html.

B.2.3 JFreeChart
El componente del sistema que permite graficar los resultados obtenidos en la
experimentacin, hace uso de una biblioteca de graficacin para Java llamada
JFreeChart.
La
misma
puede
ser
descargada
de
http://www.jfree.org/jfreechart/download.html.

B.3

Configuracin del entorno

B.3.1 Classpath
El classpath es el camino por el cual el entorno de ejecucin Java busca las
clases y otros archivos de recursos necesario para la ejecucin de cierto cdigo.
Para la correcta ejecucin de los distintos componentes del banco de pruebas,
estos deben tener en su classpath las libreras a las cuales hace llamados. Es por eso
que el correcto establecimiento del classpath es fundamental para ejecucin de las
operaciones.
Instrucciones para establecer el classpath tanto en ambientes Unix como
Windows, se pueden encontrar en:

116

Manual de Usuario

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Windows

http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/classpath.html

Linux y
Solaris

http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/classpath.html

Como ejemplo para establecer el classpath suponiendo:

Un ambiente de trabajo Windows

Estar ubicado en el path origen de las clases a ejecutar.

El directorio que almacena todos los jars necesarios es <jar_dir>

Que la versin utilizada del driver JDBC de PostgreSQL es la 8.1-407

Que la versin utilizada de JFreeChart es la 1.0.1

Que los saltos de lnea son nicamente para exhibir de forma clara la sentencia
en este documento, pero que en realidad va todo en una misma lnea y no hay
espacios entre los componentes del classpath (aquellos paths separados por
coma).

Se transcriben a continuacin las sentencias para la ejecucin de cada uno de


los componentes del banco de pruebas en la mquina virtual Java, indicando el
classpath para cada caso:
Ejecucin de experiencias:
java -cp .;"<jar_dir>\weka-bdp-1.0.jar";
"<jar_dir>\postgresql-8.1-407.jdbc3.jar"
ar.com.arikogan.bdp.ExperienceRunner

Unificacin de datos:
java -cp .;"<jar_dir>\weka-bdp-1.0.jar";
"<jar_dir>\postgresql-8.1-407.jdbc3.jar"
ar.com.arikogan.bdp.DbMerger

Graficacin de resultados:
java cp .;
"<jar_dir>\weka-bdp-1.0.jar";
"<jar_dir>\postgresql-8.1-407.jdbc3.jar";
"<jar_dir>\jfreechart-1.0.1.jar"
ar.com.arikogan.bdp.GraphDrawer

Manual de Usuario

117

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

En el caso de un ambiente Unix, las sentencias son similares, aunque se


reemplazan los ; por : y se eliminan las comillas.

B.3.2 Creacin del esquema de base de datos


Tras la creacin de la base de datos con la cual se va a trabajar, es necesario
crear secuencias y tablas que conforman el esquema de base de datos necesario para
trabajar.
Para crear este esquema, simplemente es necesario ejecutar las sentencias SQL
contenidas en el archivo bdp-create.sql que contiene el CD que acompaa a esta tesis.
Asimismo, si se ha cometido algn error y se quiere comenzar a trabajar de
nuevo sobre una base de datos, el script bdp-drop.sql permite eliminar todos los
objetos creados por el script de creacin.

B.4

Utilizacin del banco de pruebas

Una vez cumplidos los pre-requisitos y configurado el entorno, estn dadas la


condiciones para hacer uso de la herramienta de experimentacin.
Debido a que cada operacin es realizada por la ejecucin de una clase Java, a
continuacin se mostrar mediante ejemplos, cmo escribir cdigo Java que permita
llevar adelante cada una de las operaciones. La profundizacin y el mejoramiento de
las estrategias, recae en el experimentador ya que es ste quien conoce el trabajo que
est llevando adelante y los resultados que desea obtener.

B.4.1 Procedimientos comunes a todas las operaciones


Existen una cantidad de pasos comunes a todas las operaciones, los cuales son
descriptos a continuacin.

B.4.1.1 Comunicacin con la base de datos


Todas las clases se comunican con la base de datos, por lo que es necesario
configurar el host, nombre de la base de datos, usuario y contrasea. Esto se realiza
mediante la edicin de los siguientes atributos de clase:
private static final String DB_CONN_STR = "jdbc:postgresql://<host>:<port>/<db>";
private static final String DB_USER_NAME = "<user>";
private static final String DB_PASSWORD = "<password>";

Donde:
118

Manual de Usuario

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

<host>
<port>
<db>
<user>
<password>

Es la direccin del servidor de base de datos


Es el puerto en el cual escucha el servidor de base de datos
Es el nombre de la base de datos a utilizar
Es el usuario con el cual se autentifica contra el servidor de DB
Es la contrasea del usuario de DB

B.4.1.2 Compilacin de la clase a ser ejecutada


Una vez modificado el cdigo de cada una de clases, es necesario compilarlas
antes de poder ejecutarlas.
El compilador para el lenguaje Java es javac. Su referencia para Windows y Unix
se puede encontrar en:

Windows

http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/javac.html

Linux y Solaris http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/javac.html

Suponiendo:

Un ambiente de trabajo Windows

Estar ubicado en el path origen de las clases a ejecutar.

El directorio que almacena todos los jars necesarios es <jar_dir>

Que la versin utilizada del driver JDBC de PostgreSQL es la 8.1-407

Que la versin utilizada de JFreeChart es la 1.0.1

Que los saltos de lnea son nicamente para exhibir de forma clara la sentencia
en este documento, pero que en realidad va todo en una misma lnea y no hay
espacios entre los componentes del classpath (aquellos paths separados por
coma).

Se transcriben a continuacin las sentencias para la compilacin de cada una de


las clases:
Ejecucin de experiencias:
javac -cp .;"<jar_dir>\weka-bdp-1.0.jar";
"<jar_dir>\postgresql-8.1-407.jdbc3.jar"
ar.com.arikogan.bdp.ExperienceRunner

Manual de Usuario

119

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Unificacin de datos:
javac -cp .;"<jar_dir>\weka-bdp-1.0.jar";
"<jar_dir>\postgresql-8.1-407.jdbc3.jar"
ar.com.arikogan.bdp.DbMerger

Graficacin de resultados:
javac cp .;
"<jar_dir>\weka-bdp-1.0.jar";
"<jar_dir>\postgresql-8.1-407.jdbc3.jar";
"<jar_dir>\jfreechart-1.0.1.jar"
ar.com.arikogan.bdp.GraphDrawer

Como se puede observar, el comando que se ejecuta es javac, el compilador de


Java.
Estas operaciones, en caso de ser exitosas, generarn un archivo de extensin
class para cada una de las clases.

B.4.1.3 Ejecucin de la clase


Una vez que la clase a ejecutar, haya sido compilada con xito, se puede
invocar a la mquina virtual para su ejecucin.
Las sentencias de ejecucin son las transcriptas en la seccin B.3.1.
Debido a que algunas rutinas pueden demorar horas o das en ejecutarse, en la
presente seccin se mencionan algunas tcnicas para tomar ciertos resguardos y
procurar no interrumpir su ejecucin, al mismo tiempo de no saturar por completo el
procesador de la mquina.
Estas tcnicas estn focalizadas principalmente en sistemas Unix.

B.4.1.3.1

Especificacin de la memoria mxima a utilizar por la JVM

Es posible indicarle al comando Java la mxima cantidad de memoria a alocar.


La ejecucin de alguna de las rutinas del banco de prueba pueden llegar a
requerir una gran cantidad de memoria, por lo cual es conveniente establecer en un
nivel elevado la cantidad de memoria mxima a alocar por la mquina virtual Java.
Esta operacin se puede realizar mediante la opcin Xmx del comando Java:
java -Xmx512m cp <classpath> <clase_a_ejecutar>

120

Manual de Usuario

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Es as como la clase <clase_a_ejecutar> ser ejecutada con classpath


<classpath> alocndose un mximo de memoria de 512 MB por parte de la mquina
virtual Java.

B.4.1.3.2

Redireccin del stdout a un archivo

Las rutinas loggean su proceso en el stdout. Si se va a correr un proceso y se


desea guardar en un archivo los mensajes que arroja al stdout, ste puede ser
redirigido a un archivo.
En una consola, esta operacin se puede realizar con el operador >:
<comando> > <archivo_de_loggeo>

Es as como todo lo que el comando <comando> arroja al stdout y stderr, ir a


parar al archivo <archivo_de_loggeo>

B.4.1.3.3

Resguardo contra seales SIGHUP

En el caso que la rutina sea invocada desde una consola remota (ej.: SSH),
existe la posibilidad que sta se desconecte y con la muerte de su proceso, mueran
todos sus hijos.
Con el fin de evitar esta situacin y permitir que el comando siga corriendo a
pesar que la consola que lo invoc se desconecte, se puede hacer uso del comando
nohup con el objetivo de resguardar al comando invocado de las seales SIGHUP.
La sentencia para hacer el llamado en una consola, es la siguiente:
nohup <comando>

De esta manera, el comando <comando> no responder a las seales SIGHUP.

B.4.1.3.4

Ejecucin en background

Con el objetivo de poder seguir utilizando la consola desde la cual se invoca a la


ejecucin de una rutina que puede demorar horas o das, el proceso puede ser
ejecutado en background.
Esta operacin se puede realizar con el operador &:
<comando> &

El comando ser ejecutado en background y el sistema informar el


identificador de proceso de ste:
[1] 16036

Manual de Usuario

121

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

B.4.1.3.5

Modificacin de la prioridad del proceso

Entre los procesos a utilizar, el de ejecucin de experiencias hace un uso muy


alto del procesador (por sobre el 90%).
Debido a que procesos como estos pueden correr por horas o das, puede ser
deseable modificar la prioridad del proceso en el scheduler. Esta operacin se puede
realizar con el comando renice.
$ <comando> &
[1] <pid>
$ renice <prioridad> <pid>

Se invoca al comando <comando> y se lo manda a background. El sistema


informa el identificador de proceso <pid> que le fue asignado. Con el uso del comando
renice, se modifica la prioridad del proceso <pid> y se establece en <prioridad>.

B.4.1.3.6

Un ejemplo unificador

Si se supone que se quiere ejecutar ExperienceRunner permitiendo que la


mquina virtual Java aloque un mximo de 512 MB de memoria, loggeando su stdout y
stderr en un archivo, ejecutarlo en background, hacer que no responda las seales
SIGHUP y establecer en el mnimo su prioridad, es necesario ejecutar las siguientes
sentencias:
$ nohup java -Xmx512m -cp <classpath> <clase_a_ejecutar> > <archivo_de_loggeo> &
[1] <pid>
$ renice 20 <pid>

B.4.2 Ejecucin de experiencias


Para la ejecucin de experiencias, se puede tomar como clase base a
ExperienceRunner.
Fundamentalmente, la tarea de realizar experimentos consiste en:
1.
2.
3.
4.

Definir un escenario sobre el cual se va a experimentar.


Definir un parmetro a variar y su rango de variacin.
Determinar cuntas iteraciones se calcularn por cada variante.
Dar inicio a la ejecucin del experimento.

Si bien, para ganar versatilidad, la definicin de las tareas de experimentacin


pasa directamente por la codificacin en Java de las rutinas, a continuacin se
demostrar con un breve ejemplo que es relativamente simple confeccionar un
experimento y ejecutarlo.
122

Manual de Usuario

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Lo primero a realizar es definir un escenario sobre el cual se llevar adelante la


experimentacin. La definicin de ste consiste en determinar el valor de los
parmetros que lo rigen.
Para trabajar con mayor claridad, primero se definirn variables que almacenen
los valores para cada uno de los parmetros de un escenario. En cdigo Java es:
int attributesNumber = 6;
int attPossibleValues = 20;
int classPossibleValues = 5;
int rulesPerClass = 5;
int attUsedInRule = 3;
int instancesByRule = 10;
int classAttPossibleValuesPercentage = 20;
boolean mix = true;
boolean allowMultipleCoverage = false;
double allowedCoverageDesviation = 20;
int somTrainingIterationsMultiplier = 100;
int somMapWidth = 4;
int somMapHeight = 4;

Como se va a interactuar con la base de datos, es necesario abrir una conexin


a sta:
Connection con = openConnection();

A continuacin, se crear una nueva instancia de la clase Scenario, pasando


como parmetros al constructor, las variables que hemos definido:
Scenario scenario = new Scenario(attributesNumber,
attPossibleValues,
classPossibleValues,
rulesPerClass,
attUsedInRule,
instancesByRule,
classAttPossibleValuesPercentage,
mix,
allowMultipleCoverage,
allowedCoverageDesviation,
somTrainingIterationsMultiplier,
somMapWidth,
somMapHeight,
con);

Ya se tiene una instancia de Scenario. Esta instancia existe nicamente en


memoria, por lo cual se puede verificar si hay en la base de datos una instancia que
corresponda a sta, y as ligarlas. En caso que no exista, se puede persistir la instancia
que por ahora est en memoria, haciendo un llamado a su mtodo save.
if (!scenario.load())
scenario.save();

Manual de Usuario

123

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

En este momento, se tiene una instancia de Scenario viva en memoria, que


adems est almacenada en la base de datos.
Con un escenario ya creado, la experiencia consiste en variar un parmetro en
determinado rango y registrar el porcentaje de la cantidad de reglas cubiertas de
forma correcta que se obtiene cada vez.
Experience experience = new Experience(scenario,
VariableParameter.ATTRIBUTES_NUMBER,
3,
10,
50,
con);
experience.setDescription("Variacin de attributesNumber de 3 a 10");

Lo que se ha hecho fue crear una instancia de Experience para la cual el


escenario es la instancia de scenario creada anteriormente, el parmetro a variar es la
cantidad de atributos, el rango de variacin de 3 a 10, y se realizarn 50 iteraciones
para cada una de las variantes. Adems, se ha agregado una descripcin a la
experiencia, la cual va a ser almacenada en la base de datos al momento de persistir la
experiencia. Para hacer esto, simplemente hay que llamar a su mtodo save:
experience.save();

Tras esto, lo nico que resta es iniciar la ejecucin de la experiencia. Esto se


realiza con el mtodo run, el cual es bloqueante, es decir que no retornar el control
hasta que haya finalizado la ejecucin de toda la experiencia:
experience.run();

En resumen, el cdigo que se tuvo que escribir para realizar este experimento
es:
public void runSampleExperience() throws SQLException, Exception
{
int attributesNumber = 6;
int attPossibleValues = 20;
int classPossibleValues = 5;
int rulesPerClass = 5;
int attUsedInRule = 3;
int instancesByRule = 10;
int classAttPossibleValuesPercentage = 20;
boolean mix = true;
boolean allowMultipleCoverage = false;
double allowedCoverageDesviation = 20;
int somTrainingIterationsMultiplier = 100;
int somMapWidth = 4;
int somMapHeight = 4;
Connection con = openConnection();
Scenario scenario = new Scenario(attributesNumber,
attPossibleValues,
classPossibleValues,
rulesPerClass,

124

Manual de Usuario

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.


attUsedInRule,
instancesByRule,
classAttPossibleValuesPercentage,
mix,
allowMultipleCoverage,
allowedCoverageDesviation,
somTrainingIterationsMultiplier,
somMapWidth,
somMapHeight,
con);
if (!scenario.load())
scenario.save();
Experience experience = new Experience(scenario,
VariableParameter.ATTRIBUTES_NUMBER,
3,
10,
50,
con);
experience.setDescription("Variacin de attributesNumber de 3 a
10");
experience.save();
experience.run();
}

B.4.3 Unificacin de datos


Para la unificacin de datos entre distintas bases de datos, se utiliza la clase
DbMerger (se encuentra en el CD), la cual migra experiencias de una base de datos
origen a una base de datos destino. A la clase hay que indicarle nicamente:
1. Los datos de la base de datos origen.
2. Los datos de la base de datos destino.
3. Los identificadores de las experiencias a migrar.
Los escenarios que utiliza cada una de las experiencias a migrar, son creados en
la base de datos destino en caso que no existan, o bien se asocian las experiencias
migradas a escenario existentes.
La forma de consignar los datos de conexin a las bases de datos, es similar a la
descripta en la seccin B.4.1.1, aunque en este caso se cuenta con un par de
conexiones (se omiten identificadores del atributo para mayor claridad):
DB_SOURCE_CONN_STR = "jdbc:postgresql://localhost:5432/origen";
DB_SOURCE_USER_NAME = "ak";
DB_SOURCE_PASSWORD = "";
DB_DESTINATION_CONN_STR = "jdbc:postgresql://localhost:5432/destino";
DB_DESTINATION_USER_NAME = "ak";
DB_DESTINATION_PASSWORD = "";

Manual de Usuario

125

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

Tras

esto,

el

nico

cdigo a escribir es el del mtodo


determineExperiencesToMigrate(), en el cual se ingresan en una lista los
identificadores de las experiencias a migrar.
Un mtodo puede ser indicarlas una a una:
experiencesToMigrate.add(1);
experiencesToMigrate.add(2);

Tambin es posible determinar rangos o secuencias:


for (int i=1; i<=5; i++)
experiencesToMigrate.add(i);

U obtenerlos mediante una consulta SQL sobre la base de datos origen:


/* Esta rutina apunta a facilitar la determinacin de las experiencias
* a migrar mediante la realizacin de una consulta sobre la db origen
*/
try {
PreparedStatement cs = srcConn.prepareStatement("select
experience_id from experience order by experience_id");
ResultSet rs = cs.executeQuery();
while (rs.next()) {
experiencesToMigrate.add(rs.getInt("experience_id"));
}
cs.close();
} catch (SQLException e) {
System.out.println("No se pudo obtener el listado de
experiencias a migrar realizando una consulta a la db origen");
e.printStackTrace();
}

Tras esto, simplemente es necesario ejecutar el mtodo main de la clase para


que la migracin se realice.

B.4.4 Graficacin
B.4.4.1 Descripcin de las tablas de organizacin
La rutina de graficacin hace uso de 2 tablas para definir las grficas a realizar.
stas deben ser pobladas para que la clase GraphDrawer tome de sta los datos
necesarios para generar las grficas. A continuacin se describen.
Una tabla es graph, en la se indica cul es el parmetro que se variar en el
eje x y cul es aquel que tomar distintos valores discretos en cada una de las series
graficadas. Adems, se puede incluir una descripcin para cada una de las grficas.
Un ejemplo de algunas filas de esta tabla es:

126

Manual de Usuario

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.

graph_id
13

variable_parameter
CLASS_POSSIBLE_VALUES

series_parameter
ATTRIBUTES_NUMBER

14

CLASS_POSSIBLE_VALUES

ATT_POSSIBLE_VALUES

15

CLASS_POSSIBLE_VALUES

RULES_PER_CLASS

description
Dominio patrn variando
classPossibleValues para
distintos
attributesNumber
Dominio patrn variando
classPossibleValues para
distintos
attPossibleValues
Dominio patrn variando
classPossibleValues para
distintos rulesPerClass

La tabla graph es la tabla maestro, existiendo una tabla detalle


graph_experience, la cual indica cada una de las experiencias a incluir en la grfica,
siendo cada una, una serie. Todas las experiencias a integrar una grfica deben tener al
mismo parmetro de variacin, ya que son los valores de ste los que tomar el eje x
de la grfica. En caso de incluir experiencias cuyos parmetros de variacin no sean el
indicado para la grfica, la rutina de graficacin arrojar una excepcin.
Un ejemplo de los registros de graph_experience para las grficas anteriores es:

graph_experience_id
60
61
62
63
65
66
67
68
69
70
71
72
73

graph_id experience_id
13
148
13
149
13
150
13
151
14
153
14
154
14
155
14
156
15
157
15
158
15
159
15
160
15
161

place
1
2
3
4
1
2
3
4
1
2
3
4
5

B.4.4.2 Generacin de las grficas


Una vez pobladas las tablas que almacenan los datos sobre las grficas a
generar, el nico paso necesario es determinar en el mtodo main de GraphDrawer el
identificador de las grficas a generar.
Es posible declarar grfica por grfica:

Manual de Usuario

127

Integracin de Algoritmos de Induccin y Agrupamiento. Estudio del Comportamiento.


graphsToPlot.add(24);

O bien un rango o secuencia de grficas, haciendo uso de un ciclo for:


for (int i=1; i<=42; i++)
graphsToPlot.add(i);

Tras esto, lo nico que resta es ejecutar el mtodo main de la clase.

128

Manual de Usuario

You might also like