Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arboles de Clasificación
Arboles de Clasificación
ID3
Mejoras
C4.5
M5
Conclusiones
Facultad de Informatica,
Universidad Politecnica
de Madrid
Aprendizaje Automatico
Introduccion
ID3
Indice
Introduccion
Algoritmo basico:
ID3
Mejoras a ID3
C4.5
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introduccion
ID3
Indice
Introduccion
Algoritmo basico:
ID3
Mejoras a ID3
C4.5
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Introduccion
Arbol
de decision
Muy utilizado y popular
Aproxima funciones que toman valores discretos. La
aprendida se representa como un arbol
funcion
Robusto a datos con ruido
concesion
Arbol de clasificacion
y de regresion
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Introduccion
como arboles
Representacion
Cada nodo (no terminal) especifica un test de algun
atributo de la instancia
Cada rama corresponde a un posible valor del atributo
Cada nodo terminal indica la clase en la que se clasifica
pasandoles
el test en cada nodo, por orden desde el nodo
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Introduccion
Ejemplo: PlayTennis
Instancia:
Outlook=Sunny, Temperature=Hot, Humidity=High, Wind=Strong
Introduccion
ID3
Mejoras
C4.5
M5
Introduccion
Ejemplo: PlayTennis
de conjunciones de
El arbol
representa una disyuncion
restricciones sobre los valores de los atributos de las
instancias
de tests de atributos
Un camino = una conjuncion
de estas conjunciones
Todo el arbol
= disyuncion
Este arbol
es:
(Outlook=Sunny Humidity=Normal)
(Outlook=Overcast)
(Outlook=Rain Wind=Weak)
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Introduccion
de reglas
Generacion
R1:
R2:
R3:
R4:
R5:
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Introduccion
Tipos de problemas apropiados
Instancias representadas como pares atributo-valor
(atributos discretos o reales)
objetivo toma valores discretos (clasificacion)...
Funcion
regresion
Robustez a errores en los datos (de entrenamiento), tanto
en la variable respuesta como en los atributos
Puede haber datos perdidos (missing) para algunas
instancias en los valores de los atributos
Introduccion
ID3
Mejoras
C4.5
M5
Introduccion
Ejemplo
hiperrectangulos
(ojo!)
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Introduccion
Tipos de arboles
Conclusiones
Introduccion
ID3
Indice
Introduccion
Algoritmo basico:
ID3
Mejoras a ID3
C4.5
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo basico:
ID3
ID3=Iterative dicotomiser [Quinlan, 1986]
Basado en el algoritmo CLS (Concept Learning Systems) [Hunt et al., 1966],
atributos binarios
que usaba solo
Estrategia de busqueda
voraz (greedy) por el espacio de posibles arboles
de
clasificacion
Construir el arbol
de arriba a abajo, preguntando: Que atributo seleccionar
como nodo raz?
bien clasifica los ejemplos el
solo
Se evalua
cada atributo para determinar cuan
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo basico:
ID3
ID3
X
c
(ganancia de informacion)
H(C|X ) =
XX
c
Introduccion
ID3
Mejoras
C4.5
M5
Algoritmo basico:
ID3
Ejemplo ID3: PlayTennis
Datos:
Day
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Outlook
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast
Rain
Temperature
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild
Humidity
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal
High
Normal
High
Wind
Weak
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Strong
PlayTennis
No
No
Yes
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
No
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo basico:
ID3
Ejemplo ID3: PlayTennis
Wind?
9
H(C) = 14
log2
9
14
5
14
log2
5
14
= 0.940
H(C|Wind) =
p(Strong, Yes) log2 p(Yes|Strong) p(Strong, No) log2 p(No|Strong)
p(Weak , Yes) log2 p(Yes|Weak) p(Weak , No) log2 p(No|Weak) =
3
14
log2
3
6
3
14
log2
3
6
6
14
log2
6
8
2
14
log2
2
8
= 0.892
Analogamente,
I(C, Humidity) = 0.151
I(C, Outlook) = 0.246 Escoger Outlook como nodo raz
I(C, Temperature) = 0.029
Introduccion
ID3
Mejoras
Algoritmo basico:
ID3
Ejemplo ID3: PlayTennis
C4.5
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo basico:
ID3
Ejemplo ID3: PlayTennis
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo basico:
ID3
Ejemplo ID3: PlayTennis
Se repite el proceso para cada nodo descendiente no
los ejemplos asociados con el nodo
terminal, usando solo
Cualquier atributo aparece como mucho una vez en cada
camino
P.e., por la rama Sunny (con 5 instancias), buscamos el atributo
siguiente:
H(Csunny ) = 35 log2
3
5
2
5
log2
2
5
= 0.97
...Arbol
final es el visto antes
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo basico:
ID3
Observaciones generales
optima
Extension
una forma de backtracking (post-poda)
en los datos
de ID3 para manejar datos con ruido modificando su criterio de
Extension
parada: crear hoja sin necesidad de esperar a que todas las etiquetas
sean iguales (etiquetar con la mayora)
Matematicamente
se demuestra que favorece la eleccion
de variables con mayor numero
de valores
Introduccion
ID3
Indice
Introduccion
Algoritmo basico:
ID3
Mejoras a ID3
C4.5
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Mejoras a ID3
Cuestiones practicas
a tener en cuenta
Cuanto
hacer crecer el arbol?
de los atributos?
Es adecuada esta medida de seleccion
Como
manejar atributos continuos?
Como
manejar datos de entrenamiento con valores
perdidos (desconocidos) en los atributos?
Como
manejar atributos con costes diferentes?
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Cuanto
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Sobreajuste
Soluciones al sobreajuste
La mejor en la practica,
aunque mayor coste comput.
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Sobreajuste
Pre-podas
Aplicar un test estadstico para estimar si expandiendo un nodo particular es
alla del conjunto de entrenamiento (e.g. test
probable producir una mejora mas
2 como en Quinlan, 1986)
Post-podas
Se poda solo
podado resultante mejora o iguala el rendimiento del
arbol
original sobre el conjunto de testeo
la
Podar iterativamente, escogiendo siempre el nodo a podar que mejore mas
en el conjunto de testeo
precision
disminuye)
... hasta que ya no convenga (precision
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
de atributos
Otras medidas de seleccion
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Entre estos candidatos a ser c, escoger el que produzca mayor ganancia de info
en este momento
Escogido el c, este nuevo atributo compite con los otros discretos para ver si es
elegido
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Discretizarlos
Ejemplo: candidatos son c1 = (48 + 60)/2 = 54 y
c2 = (80 + 90)/2 = 85:
Temperature
PlayTennis
40
No
48
No
60
Yes
72
Yes
80
Yes
90
No
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Imputarlos
Eliminar instancias incompletas
arbol
y con las que se calcula la ganancia)
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
de atributos
Introducir el coste en la medida de seleccion
Introduccion
ID3
Indice
Introduccion
Algoritmo basico:
ID3
Mejoras a ID3
C4.5
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
(ratio de ganancia)
Convertir el arbol
en un conjunto de reglas R
con R
Error = error de clasificacion
Para cada regla r de R:
Nuevo-error = error al eliminar antecedente j de r
Si Nuevo-error Error, entonces Nuevo-error = Error y eliminar de r este antecedente
antecedentes en r , borrar r de R
Si no hay mas
y considerar esta
Ordenar las reglas por su error estimado (de menos a mas)
secuencia cuando se clasifiquen instancias
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo C4.5
C4.5
pero
Poda pesimista: C4.5 suele estimar el error e por resustitucion,
pesimista: da la aproximacion
e + 1.96 , con
corrigiendolo
hacia una posicion
de la desviacion
tpica
una estimacion
Faciles
de entender
comercial C5.0
familia de algoritmos antes de la implementacion
implementado en WEKA como J48
Introduccion
ID3
Indice
Introduccion
Algoritmo basico:
ID3
Mejoras a ID3
C4.5
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
y arboles
Arboles
de regresion
de modelos
numerica)
Arboles
de regresion
de modelos de regresion
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Arboles
de modelos de regresion
Algoritmos M5 y M5
Reducir el tamano
Introduccion
ID3
Mejoras
C4.5
Arboles
de modelos de regresion
Ejemplo
209 configuraciones diferentes de ordenadores:
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
Arboles
de modelos de regresion
Ejemplo
de regresion
(a) y arbol
(b)
Ecuacion
de regresion
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
Arboles
de modelos de regresion
Ejemplo
Arbol
de modelos de regresion:
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Arboles
de modelos de regresion
Construir el arbol
Estimar el error
Construir modelos lineales en cada nodo intermedio del
arbol
Simplificar los modelos lineales
Podar nodos
Suavizar (las predicciones)
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Arboles
de modelos de regresion
del arbol
Construccion
con M5
Sea T el conjunto de ejemplos que llegan a un nodo
tpica de los valores de la clase que llegan a
La desviacion
un nodo se trata como medida del error en ese nodo
en los valores de la clase que
Minimizar la variacion
resultan por cada rama:
Calcular la desv. tpica SD de la clase en T ( error en T )
esperada del error cuando se usa un
Calcular la reduccion
atributo determinado
P i|
RSD = SD(T ) i |T
|T | SD(Ti )
donde Ti son los conjuntos que resultan al partir el nodo de
acuerdo al atributo escogido
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Arboles
de modelos de regresion
la i-esima
vale 0 si el valor es uno de los primeros i en el
orden y vale 1 e.o.c.
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Arboles
de modelos de regresion
Ejemplo de M5: 2 atributos continuos y 2 discretos
sistema de servo
Discretos son motor y screw (5 valores). Clase = tiempo elevacion
Orden de sus valores fue D, E, C, B, A para ambos
Introduccion
ID3
Mejoras
C4.5
M5
Arboles
de modelos de regresion
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Extensiones
Conclusiones
Introduccion
ID3
Indice
Introduccion
Algoritmo basico:
ID3
Mejoras a ID3
C4.5
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Conclusiones
Arboles
de decision
Algoritmo ID3 selecciona de forma voraz el siguiente mejor
atributo a anadir
al arbol
Evitar sobreajuste es un aspecto importante para
(M5) con
Clase continua: arboles
de modelos de regresion
regresiones lineales en las hojas
Introduccion
ID3
Mejoras
C4.5
Software
Arboles
con WEKA
Classifier Trees
Pestana
Id3
J48
M5P
M5
Conclusiones
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Bibliografa
Textos
Alpaydin, E (2004) Introduction to Machine Learning, MIT Press [Cap. 9]
Duda, R., Hart, P.E., Stork, D.G. (2001) Pattern Classification, Wiley [Cap. 8]
a la Minera
Hernandez-Orallo,
J., Ramrez, M.J., Ferri, C. (2004) Introduccion
[Cap. 11]
de Datos, Pearson Educacion
Mitchell, T. (1997) Machine Learning, McGraw-Hill [Cap. 3]
Webb, A. (2002) Statistical Pattern Recognition Wiley [Cap. 7]
Witten, I., Frank, E. (2005) Data Mining, Morgan Kaufmann, 2a ed. [Secciones
4.3, 6.1, 6.5, 10.4]
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Bibliografa
Artculos
Quinlan, J.R. (1986) Induction of trees, Machine Learning, 1, 81-106. [ID3]
Breiman, L., Friedman, J.H., Olshen, R.A., Stone, C.J. (1984) Classification and
Regression Trees, Wadsworth. [CART]
Quinlan, J.R. (1993) C4.5: Programs for Machine Learning, Morgan Kaufmann.
[C4.5]
Quinlan, J.R. (1992) Learning with continuous classes, Proc. of the 5th
Australian Joint Conference on AI, 343-348. [M5]
Wang, Y., Witten, I. (1997) Induction of model trees for predicting continuous
classes, Proc. of the Poster Papers of the ECML, 128-137 [M5]
Frank, E., Wang, Y., Inglis, S., Holmes, G., Witten, I. (1998) Using model trees for
classification, Machine Learning, 32, 63-76
Friedman, J.H. (1991) Multivariate adaptive regression splines, Annals of
Statistics, 19, 1-141 [MARS]
Introduccion
ID3
Mejoras
C4.5
M5
Conclusiones
Facultad de Informatica,
Universidad Politecnica
de Madrid
Aprendizaje Automatico