Table Of ContentALGORITMOS TDIDT APLICADOS A LA
MINERIA DE DATOS INTELIGENTE
TESIS DE GRADO EN INGENIERIA INFORMATICA
FACULTAD DE INGENIERIA
UNIVERSIDAD DE BUENOS AIRES
LABORATORIO DE SISTEMAS INTELIGENTES
TESISTA: Srta. Magdalena SERVENTE
DIRECTOR: Prof. Dr. Ramón GARCIA MARTINEZ
FEBRERO 2002
Algoritmos TDIDT aplicados a la Minería de Datos Inteligente
RESUMEN
La Minería de Datos (Data Mining) es la búsqueda de patrones interesantes y de regularidades
importantes en grandes bases de datos. El Aprendizaje Automático es el campo de la Ingeniería
Informática en el que se estudian y desarrollan algoritmos que implementan los distintos modelos de
aprendizaje y su aplicación a la resolución de problemas prácticos. La minería de datos inteligente utiliza
métodos de aprendizaje automático para descubrir y enumerar patrones presentes en los datos.
Uno de los métodos más conocidos para describir los atributos de una entidad de una base de datos es
utilizar un árbol de decisión o de clasificación, que puede transformarse sin inconveniente a un conjunto
de reglas de decisión.
En este contexto, el propósito de este proyecto es estudiar de que manera la familia TDIDT, que aborda el
problema de inducir árboles de decisión, puede utilizarse para descubrir automáticamente reglas de
negocio a partir de la información disponible en una base de datos. Se trabajó en particular con los
métodos ID3 y C4.5, miembros de dicha familia. El trabajo contempla el diseño, especificación e
implementación de un ambiente de minería de datos que integra ambos algoritmos. Además, se desarrolló
un método de evaluación de los resultados para determinar la calidad de las reglas obtenidas.
Palabras clave: minería de datos, aprendizaje automático, árboles de decisión, reglas de decisión,
TDIDT, ID3, C4.5
ABSTRACT
Data mining is the search of interesting patterns and relevant regularities in large data bases. Machine
Learning is the Informatic Engineering’s field devoted to the analysis and development of algorithms
implementing the different learning models and their application to the solution of practical problems.
Intelligent data mining uses machine learning methods to find and list the patterns present in the data.
One of the best known methods to describe the attributes of an entity of a data base is the use of a
decision or classification tree, which can easily be turned into a set of decision rules.
Within this context, the purpose of the present project is to analyze the way in which the TDIDT family,
which studies the problem of inducing decision trees, can be used to discover automatically business rules
from the information available in a data base.
Resumen Magdalena Servente
Algoritmos TDIDT aplicados a la Minería de Datos Inteligente
The work was focused in the ID3 and C4.5 methods, which belong to the family above mentioned. The
work includes the design, specification and implementation of a data mining system that combines both
algorithms. Furthermore, to determine the quality of the rules obtained, an evaluation method of the
corresponding results was developed.
Keywords: data mining, machine learning, decision trees, decision rules, TDIDT, ID3, C4.5
Resumen Magdalena Servente
Algoritmos TDIDT aplicados a la Minería de Datos Inteligente
Indice Magdalena Servente i
Algoritmos TDIDT aplicados a la Minería de Datos Inteligente
I
NDICE
CAPÍTULO 1: INTRODUCCIÓN 1
CAPÍTULO 2: ESTADO DEL ARTE 5
2.1. Aprendizaje Automático 6
2.1.1. Clasificación general de los sistemas de Aprendizaje Automático 8
2.1.2. Esquema general de un sistema de Aprendizaje Automático 8
2.1.2.1. Aprendizaje de conceptos 8
2.1.2.2. Representación de conceptos 10
2.1.3. Aprendizaje 11
2.1.3.1. Aprendizaje supervisado y no supervisado 11
2.1.3.2. Tipos de aprendizaje automático 12
2.1.3.3 Métodos clásicos de aprendizaje 14
2.2. Minería de Datos 14
2.2.1. Descubrimiento de conocimientos 15
2.2.2. Problemas inherentes al proceso de aprendizaje 16
2.2.3. Tareas realizadas por un sistema de Minería de Datos 17
2.2.4. Métodos de Minería de Datos 18
2.2.5. Componentes de la Minería de Datos 20
2.2.5.1. Algoritmos de Clasificación (Classification Algorithms) 20
2.2.5.2. Algoritmos de reglas de asociación 21
2.2.5.3. Análisis de Secuencias 22
2.3. Aprendizaje Automático y Minería de Datos 22
2.3.1. Aplicaciones 23
2.3.1.1. ID3 23
2.3.1.2. C4.5 24
2.3.1.3. AQ15 24
2.3.1.4. CN2 24
2.3.1.5. DBLearn 25
2.3.1.6. Meta-Dendral 25
2.3.1.7. RADIX/RX 26
2.3.1.8. BACON 26
2.3.1.9. SLIQ 26
2.4 La Familia TDIDT 27
2.4.1. Construcción de los árboles de decisión 27
ii Magdalena Servente Indice
Algoritmos TDIDT aplicados a la Minería de Datos Inteligente
2.4.1.1. Cálculo de la Ganancia de Información 28
2.4.1.2. Datos Numéricos 29
2.4.1.3. Poda de los árboles generados 30
2.4.1.4. El Principio de Longitud de Descripción Mínima 31
2.4.2. Atributos Desconocidos 32
2.4.2.1. Estudio sobre datos con atributos desconocidos en la Inducción 33
2.4.3. Transformación a Reglas de Decisión 35
2.5.Evaluación de los Métodos de Aprendizaje 36
2.5.1 Evaluación en la familia TDIDT 37
2.5.2. Métodos de evaluación 37
2.5.2.1. Evaluación Cruzada (Cross-Validation) 37
2.5.2.2 Dejar-uno-afuera (Leave-one-out) 39
2.5.2.3. Bootstrap 39
2.5.3. Estimación del costo 40
CAPÍTULO 3: DESCRIPCIÓN DEL PROBLEMA 43
3.1. Contexto del Problema 43
3.2. Aplicación de los Algoritmos de la Familia TDIDT a la Minería de Datos 44
CAPÍTULO 4: SOLUCIÓN PROPUESTA 47
4.1. Características Generales 48
4.1.1. Marco teórico 48
4.1.2. Datos de Entrada 49
4.1.3. Resultados Generados 50
4.1.3.1. Características de los árboles de decisión 50
4.1.3.2. Características de las reglas de decisión 51
4.1.3.3. Presentación de los resultados 51
4.2. Descripción General de los Algoritmos 52
4.2.1. División de los datos 52
4.2.1.1. Elección del criterio de división 53
4.3. ID3 55
4.3.1. Descripción del ID3 56
4.3.1.1. Algoritmo ID3 57
4.3.1.2. Poda de los árboles de decisión 57
4.3.1.3. Pasaje a reglas de decisión 57
4.3.1.4. Atributos desconocidos 58
Indice Magdalena Servente iii
Algoritmos TDIDT aplicados a la Minería de Datos Inteligente
4.3.1.5. Resolución de un ejemplo utilizando el ID3 58
4.3.2. Limitaciones al ID3 62
4.3.2.1. Valores continuos 62
4.3.2.3. Ventanas 63
4.4. C4.5 64
4.4.1. Algoritmo C4.5 64
4.4.2. Características particulares del C4.5 65
4.4.2.1. Pruebas utilizadas 65
4.4.2.2. Pruebas sobre atributos continuos 65
4.4.2.2. Atributos desconocidos 66
4.4.3. Poda de los Árboles de Decisión 68
4.4.3.1. ¿Cuándo debemos simplificar? 69
4.4.3.2. Poda en Base a Errores 70
4.4.4. Estimación de la Proporción de Errores para los Árboles de Decisión 72
4.4.5. Construcción de un árbol de decisión utilizando el C4.5 72
4.4.6. Generalización de reglas 76
4.4.6.1. Conjuntos de Reglas 77
4.4.6.2. Orden de las clases y elección de la clase por defecto 80
4.4.6.3. Generalización de un árbol de decisión a reglas de decisión utilizando el C4.5 80
4.5. Sistema integrador 83
4.5.1. Descripción general 83
4.5.2. Diseño del sistema integrador 85
4.5.2.1. Diseño para el ID3 85
4.5.2.2. Diseño para el C4.5 90
CAPÍTULO 5: RESULTADOS OBTENIDOS 97
5.1. Interpretación de los resultados 97
5.1.1. Interpretación de resultados en el ID3 97
5.1.1.1. Árboles de decisión 97
5.1.1.2. Reglas de decisión 98
5.1.2. Interpretación de resultados en el C4.5 98
5.1.2.1. Árboles de decisión 98
5.1.2.2. Reglas de decisión 100
5.2. Descripción de los dominios 100
5.2.1. Créditos 101
5.2.2. Cardiología 102
5.2.3. Votaciones 102
iv Magdalena Servente Indice
Algoritmos TDIDT aplicados a la Minería de Datos Inteligente
5.2.4. Estudio sobre hongos 103
5.2.5. Elita: Base de Asteroides 104
5.2.6. Hipotiroidismo 105
5.2.7. Identificación de vidrios 106
5.3. Resultados Obtenidos con el ID3 107
5.3.1. Créditos 108
5.3.1.1. ID3 utilizando la ganancia como criterio de decisión 108
5.3.1.2. ID3 utilizando la proporción ganancia como criterio de decisión 110
5.3.1.3. Conclusiones 112
5.3.2. Cardiología 113
5.3.2.1. ID3 utilizando la ganancia como criterio de decisión 113
5.3.2.2. ID3 utilizando la proporción ganancia como criterio de decisión 115
5.3.2.3. Conclusiones 117
5.3.3. Votaciones 118
5.3.4.1. ID3 utilizando la ganancia como criterio de decisión 118
5.3.4.2. ID3 utilizando la proporción ganancia como criterio de decisión 123
5.3.4.3. Conclusiones 128
5.3.4. Estudio sobre hongos 129
5.3.4.1. ID3 utilizando la ganancia como criterio de decisión 129
5.3.4.2 ID3. utilizando la proporción ganancia como criterio de decisión 132
5.3.4.3. Conclusiones 134
5.4. Resultados Obtenidos con el C4.5 135
5.4.1. Créditos 135
5.4.1.1. Utilizando la ganancia como criterio de decisión 135
5.4.1.2. Utilizando la proporción de ganancia como criterio de decisión 137
5.4.1.3. Conclusiones 139
5.4.2. Cardiología 140
5.4.2.1. Utilizando la ganancia como criterio de decisión 140
5.4.2.2. Utilizando la proporción ganancia como criterio de decisión 142
5.4.2.3. Conclusiones 144
5.4.3. Votaciones 145
5.4.3.1. Utilizando la ganancia como criterio de decisión 145
5.4.3.2. Utilizando la proporción ganancia como criterio de decisión 147
5.4.3.3. Conclusiones 149
5.4.4. Estudio sobre hongos 150
5.4.4.1. Utilizando la ganancia como criterio de decisión 150
5.4.4.2. Utilizando la proporción ganancia como criterio de decisión 153
5.4.4.3. Conclusiones 157
5.4.5. Elita 158
Indice Magdalena Servente v
Algoritmos TDIDT aplicados a la Minería de Datos Inteligente
5.4.5.1. Utilizando la ganancia como criterio de decisión 158
5.4.3.2. Utilizando la proporción ganancia como criterio de decisión 160
5.4.5.3. Conclusiones 162
5.4.6. Hipotiroidismo 163
5.4.6.1. Utilizando la ganancia como criterio de decisión 163
5.4.6.2. Utilizando la proporción ganancia como criterio de decisión 166
5.4.6.3. Conclusiones 169
5.4.7. Identificación de vidrios 169
5.4.7.1. Utilizando la ganancia como criterio de decisión 169
5.4.7.2. Utilizando la proporción ganancia como criterio de decisión 173
5.4.7.3. Conclusiones 177
5.5. Comparación de los resultados obtenidos con el ID3 y con el C4.5 177
5.5.1. Créditos 177
5.5.2. Cardiología 180
5.5.3. Votaciones 181
5.5.4. Estudio sobre hongos 185
5.6. Análisis general de los resultados obtenidos 187
5.6.1. Porcentaje de error 187
5.6.2. Cantidad de datos de entrenamiento 188
CAPÍTULO 6: CONCLUSIONES 191
6.1. Conclusiones Generales 191
6.1.1. Conceptos destacables 191
6.1.2. Espacio de hipótesis 192
6.2. Análisis de los Resultados Obtenidos 193
6.3. Análisis de la solución propuesta 193
6.4. Una mirada al futuro 195
6.4.1. Atributos multivaluados en el ID3 y el C4.5 195
6.4.2. El futuro de la Minería de Datos Inteligente 196
ANEXO A: MANUAL DEL USUARIO 197
A.1. Características Generales 197
A.2. Funcionalidad 198
A.2.1. Pantalla principal 198
vi Magdalena Servente Indice
Algoritmos TDIDT aplicados a la Minería de Datos Inteligente
A.2.2. Descripción del menú 198
A.2.2.1. Menú Resolución 199
A.2.2.2. Menú Evaluación 199
A.2.2.3. Menú Opciones 200
A.2.2.4. Menú Ayuda 201
ANEXO B: CONJUNTOS DE DATOS 203
ANEXO C: DOCUMENTACIÓN DEL SISTEMA 205
C.1. Interacción de los Módulos 205
C.2. Descripción de los archivos fuente 206
C.2.1. TDIDT.cpp 206
C.2.2. Módulos de pantallas principales 207
C.2.2.1. UPrincipal 207
C.2.2.2. UInfoGral 207
C.2.3. Módulos de opciones generales 207
C.2.3.1. UBD 207
C.2.3.2. UCambioTabla 207
C.2.3.3. frmOpcionesSist 207
C.2.3.4. UElegirRendimiento 208
C.2.3.5. URendimiento 208
C.2.3.6. UArbol 208
C.2.4. Módulos de minería de datos 208
C.2.4.1. UDMID3 208
C.2.4.2. UDMC45 209
C.2.5. Módulos de clases de datos 209
C.2.5.1. UTipos 209
C.2.5.2. Types.h 209
C.2.5.3. Defns.h 209
C.2.5.4. Rulex.h 209
C.3. Estructuras de datos 209
C.3.1. Estructuras de datos generales 209
C.3.2. Estructuras de datos del ID3 210
C.3.4. Estructuras de datos del C4.5 211
ANEXO D: CÓDIGO FUENTE 213
D.1. TDIDT.cpp 213
Indice Magdalena Servente vii
Description:problemas prácticos [Michalski, 1983- Dejong & Money 1986; Bergadano et al., 1992]. Entre los problemas abordados en este campo, está el de