Vous êtes sur la page 1sur 51

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Tema B.6: ARBOLES DE CLASIFICACION


Concha Bielza, Pedro Larranaga
Departamento de Inteligencia Articial Facultad de Informatica, Universidad Politecnica de Madrid Aprendizaje Automatico

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Indice

1 2

Introduccion Algoritmo basico: ID3

Mejoras a ID3

4 5 6

C4.5 Variable clase continua Conclusiones

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Indice

1 2

Introduccion Algoritmo basico: ID3

Mejoras a ID3

4 5 6

C4.5 Variable clase continua 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 Aprende expresiones disyuntivas: los arboles aprendidos se pueden re-representar como reglas if-then (intuitivas) Numerosas aplicaciones: diagnosticos medicos, causa de de riesgos de creditos fallo en equipos, evaluacion en la de prestamos... concesion y de regresion Arbol de clasicacion

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Introduccion

como arboles Representacion Cada nodo (no terminal) especica 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 clasica Instancias no vistas se clasican recorriendo el arbol: pasandoles el test en cada nodo, por orden desde el nodo ra z hasta algun nodo hoja, que da su clasicacion

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Introduccion
Ejemplo: PlayTennis Clasicar las mananas de Sabado en si son o no adecuadas para jugar al tenis

Instancia:
Outlook=Sunny, Temperature=Hot, Humidity=High, Wind=Strong

entra por el camino izdo. y se predice PlayTennis=No

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

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)

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Introduccion

de reglas Generacion
R1: R2: R3: R4: R5: If (Outlook=Sunny) AND (Humidity=High) then PlayTennis=No If (Outlook=Sunny) AND (Humidity=Normal) then PlayTennis=Yes If (Outlook=Overcast) then PlayTennis=Yes If (Outlook=Rain) AND (Wind=Strong) then PlayTennis=No If (Outlook=Rain) AND (Wind=Weak) then PlayTennis=Yes

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 (clasicacion)... Funcion ...pero extensiones a valores continuos: arboles de 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 Dominios complejos donde no existe una clara separacion lineal

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Introduccion
Ejemplo

Se divide el espacio en regiones etiquetadas con una sola clase y son hiperrectangulos (ojo!)

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Introduccion

Tipos de arboles valores de salida discretos Arboles de clasicacion:


CLS, ID3, C4.5, ID4, ID5, C4.8, C5.0

valores de salida continuos Arboles de regresion:


CART, M5, M5

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Indice

1 2

Introduccion Algoritmo basico: ID3

Mejoras a ID3

4 5 6

C4.5 Variable clase continua 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 clasicacion atributo seleccionar Construir el arbol de arriba a abajo, preguntando: Que como nodo ra z? bien clasica los ejemplos el solo Se evalua cada atributo para determinar cuan Se selecciona el mejor como nodo, se abre el arbol para cada posible valor del atributo y los ejemplos se clasican y colocan en los nodos apropiados Repetir todo el proceso usando los ejemplos asociados con el nodo en el que estemos (siempre hacia delante, buscando entre los atributos no usados en este camino) Parar cuando el arbol clasica correctamente los ejemplos o cuando se han usado todos los atributos Etiquetar el nodo hoja con la clase de los ejemplos

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Algoritmo basico: ID3


ID3 Paso clave: como seleccionar el atributo a testear en cada nodo del arbol? util Nos gustar a el mas para clasicar ejemplos; el que los separa bien mutua como ID3 escoge la cantidad de informacion medida de la val a de cada atributo (maximizarla) I (C , Xi ) = H (C ) H (C |Xi )
H (C ) =
c

(ganancia de informaci on)


p(x , c ) log2 p(c |x )
c x

p(c ) log2 p(c ),

H (C |X ) =

esperada en entrop Reduccion a (incertidumbre), causada al particionar los ejemplos de acuerdo a este atributo

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

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

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Algoritmo basico: ID3


Ejemplo ID3: PlayTennis Wind?
9 H (C ) = 14 log2 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

9 14

5 14

log2

5 14

= 0.940

3 14

log2

3 6

6 14

log2

6 8

2 14

log2

2 8

= 0.892

I (C , Wind) = 0.940 0.892 = 0.048 Analogamente, I (C , Humidity) = 0.151 I (C , Outlook) = 0.246 Escoger Outlook como nodo ra z I (C , Temperature) = 0.029

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

Todos los ejemplos con Outlook=Overcast son positivos Se convierte en nodo hoja El resto tienen entrop a no cero y el arbol debe seguir

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 ) = 3 5 log2
3 5

2 5

log2

2 5

= 0.97

I (Csunny , Temperature) = 0.97 0.4 = 0.57 I (Csunny , Humidity) = 1.94 I (Csunny , Wind) = 0.019 ...Arbol nal es el visto antes

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Algoritmo basico: ID3


Observaciones generales optima Al ser voraz, puede que conduzca a una solucion local en vez de global
de ID3 para anadir Extension una forma de backtracking (post-poda)

Por usar propiedades estad sticas de todos los ejemplos (en ganancia de info), busqueda menos sensible a errores en los datos
de ID3 para manejar datos con ruido modicando su criterio de Extension parada: crear hoja sin necesidad de esperar a que todas las etiquetas sean iguales (etiquetar con la mayor a)

Complejidad crece linealmente con el numero de instancias de entrenamiento y exponencialmente con el numero de atributos Matematicamente se demuestra que favorece la eleccion de variables con mayor numero de valores

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Indice

1 2

Introduccion Algoritmo basico: ID3

Mejoras a ID3

4 5 6

C4.5 Variable clase continua 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 hacer crecer el arbol


Problema de sobreajuste Problemas por hacer crecer el arbol hasta que clasique correctamente todos los ejemplos de entrenamiento:
Si hay ruido en los ejemplos, !podemos aprender el ruido! Si hay pocos ejemplos asociados a los nodos hoja, no son representativos de la verdadera funcion ID3 produce arboles que sobreajustan los ejemplos de entrenamiento (y no funciona adecuadamente con nuevos ejemplos). El modelo no es capaz de generalizar

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Sobreajuste

Soluciones al sobreajuste Hay dos grupos de tecnicas, que tratan de simplicar el arbol: Pre-poda: parar de aumentar el arbol antes de que alcance el punto en el que clasica perfectamente los ejemplos de entrenamiento Dif cil estimar cuando Post-poda: permitir que sobreajuste los datos, y despues podarlo reemplazando subarboles por una hoja La mejor en la practica, aunque mayor coste comput.

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Sobreajuste
Pre-podas Aplicar un test estad stico 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 Comenzando desde abajo, examinar los subarboles de los nodos no terminales Podar un nodo signica eliminar su subarbol correspondiente con ra z en ese mas comun nodo, convertir el nodo en nodo hoja y asignarle la clasicacion de los ejemplos de entrenamiento asociados a ese nodo si el arbol 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

de atributos con muchos valores Favorece eleccion


Ejemplo extremo: Fecha en el problema de PlayTennis sale elegido como ra z (predice perfectamente los ejemplos de entrenamiento y tendr amos un arbol muy ancho y de profundidad 1, con un nodo hoja por cada ejemplo) Su ganancia de info es la mayor (al tener tantas ramas le obliga a separar los ejemplos en subconjuntos muy pequenos) ...Pero ser a muy malo en ejemplos no vistos Por ello hay otras medidas en vez de la ganancia de info: p.e. ratio de ganancia I (C , Xi )/H (Xi ) , que penaliza los atributos con muchos valores y muchos uniformemente distribuidos Algunos estudios experimentales hablan de no demasiada inuencia de estas medidas sobre el rendimiento y s de las post-podas

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Atributos con valores continuos


Discretizarlos
Particionar en un conjunto discreto de intervalos, e.g. 2 intervalos A < c y A c Buscar c que produzca la mayor ganancia de informacion siempre en donde el valor de la clase cambia Tal valor se demuestra que esta (una vez ordenados los ejemplos por el atributo continuo A)

Ordenar los ejemplos de acuerdo al valor continuo de A, tomar 2 valores de A que van seguidos con distinto valor de C y promediarlos 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 Si A no es elegido, puede que salga luego otro valor de c distinto Es decir, el atributo se crea dinamicamente

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Atributos con valores continuos

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

de 2 intervalos o incluso usar Otras alternativas: mas combinaciones lineales de varias variables A + B > c ... si es discreta pero con muchos valores: agrupar Tambien los valores

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Atributos con valores perdidos (missing)

Imputarlos Eliminar instancias incompletas Estimar dichos valores imputacion:


comun Asignarles la moda: valor mas entre los ejemplos asociados al nodo donde estamos calculando I o entre los ejemplos del nodo que tienen la misma etiqueta que la instancia a imputar de probabilidad de cada posible valor Asignar distribucion del atributo, estimada con las frecuencias observadas en el nodo (Si fueran e.g. 0.6/0.4, esas fracciones de la instancia son las que se distribuyen por el arbol y con las que se calcula la ganancia)

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Atributos con diferentes costes

de atributos Introducir el coste en la medida de seleccion Fiebre, Biopsia, Pulso, Analisis de sangre... todos con diferentes coste (monetario y de comfort para el paciente) Tratar de situar los de bajo coste arriba del arbol, cuando sea necesario acudiendo a los de alto coste solo (para mejorar las clasicaciones) As , por ejemplo: I (C , Xi ) coste(Xi )

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Indice

1 2

Introduccion Algoritmo basico: ID3

Mejoras a ID3

4 5 6

C4.5 Variable clase continua Conclusiones

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Algoritmo C4.5 [Quinlan, 1993]


C4.5
Escoge atributos usando el ratio de ganancia (maximizarla) I (C , Xi )/H (Xi ) (ratio de ganancia)

de post-poda de reglas: generar las reglas (1 por camino) y Incorporacion eliminar precondiciones (antecedentes) siempre que mejore o iguale el error
Convertir el arbol en un conjunto de reglas R con R Error = error de clasicacion 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 clasiquen 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 t una estimacion pica usar reglas en vez del arbol? Por que Podemos podar contextos (caminos), en vez de subarboles Faciles de entender C4.8, que es el C4.5 revision 8, ultima publica Ultima version: version de esta comercial C5.0 familia de algoritmos antes de la implementacion implementado en WEKA como J48

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Indice

1 2

Introduccion Algoritmo basico: ID3

Mejoras a ID3

4 5 6

C4.5 Variable clase continua Conclusiones

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

y arboles Arboles de regresion de modelos


numerica) Variable clase continua (prediccion
continuas Generalizar estas ideas para dar funciones de regresion en las hojas el valor representa el valor medio de la Arbol de regresion: respuesta de las instancias que llegan a esa hoja Es lo que utiliza el sistema CART [Breiman et al., 1984] objetivo mediante una funcion constante a trozos Aproxima la funcion Sirve para cualquier tipo de atributos en las hojas hay un modelo de regresion lineal Arbol de modelos de regresion: para predecir la respuesta de las instancias que llegan a esa hoja Algoritmo M5 [Quinlan, 1992] y M5 [Wang y Witten, 1997] Todo tipo de atributos, especialmente continuos son un caso particular de arboles Arboles de regresion de modelos de regresion

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Arboles de modelos de regresion

Algoritmos M5 y M5 similares a los de ID3 M5 genera arboles de decision


en los valores Escoge el atributo que minimiza la variacion de la clase que resulta por cada rama Las hojas son modelos lineales

M5 introduce mejoras para:


Tratar atributos discretos Tratar valores perdidos del arbol Reducir el tamano

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Arboles de modelos de regresion


Ejemplo
209 conguraciones diferentes de ordenadores:

Salida (potencia de procesamiento) y atributos son continuos

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Arboles de modelos de regresion


Ejemplo
de regresion (a) y arbol (b) Ecuacion de regresion

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Arboles de modelos de regresion


Ejemplo
Arbol de modelos de regresion:

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Arboles de modelos de regresion

Fases de los algoritmos M5 y M5 Construir el arbol Estimar el error Construir modelos lineales en cada nodo intermedio del arbol Simplicar 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 t La desviacion pica de los valores de la clase que llegan a 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. t pica SD de la clase en T ( error en T ) esperada del error cuando se usa un Calcular la reduccion atributo determinado RSD = SD (T )
|Ti | i |T | SD (Ti )

donde Ti son los conjuntos que resultan al partir el nodo de acuerdo al atributo escogido Escoger el atributo que maximiza dicha reduccion
al bajar de nivel Que disminuya mucho la dispersion

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Arboles de modelos de regresion

Tratar atributos discretos Los atributos X discretos se tratan transformandolos primero en varias variables binarias: Antes de construir el arbol, hacer:
Para cada valor de X , promediar sus correspondientes valores de la clase. Ordenar los valores de X de acuerdo a esto Si X toma k valores, reemplazar X por k 1 var. binarias: 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

Conclusiones

Arboles de modelos de regresion


[Frank et al., 1998] Usandolos para clasicacion
que el original. Generar data sets de cada clase vs resto, del mismo tamano alta Salidas fi aproximan la probabilidad. Escoger la mas

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Extensiones

MARS: Multivariate Adaptive Regression Splines [Friedman, 1991] continua de CART Generalizacion Funciones base son un producto de funciones splines Una variable puede ser elegida varias veces Los test en los nodos pueden ser multivariantes (con combinaciones lineales de variables)

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Indice

1 2

Introduccion Algoritmo basico: ID3

Mejoras a ID3

4 5 6

C4.5 Variable clase continua 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 conseguir que el arbol generalice bien Podas del arbol Gran variedad de extensiones del ID3: manejar atributos continuos, con valores missing, otras medidas de introducir costes seleccion, (M5) con Clase continua: arboles de modelos de regresion regresiones lineales en las hojas

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Software

Arboles con WEKA Classifier Trees Pestana Id3 J48 M5P

Introduccion

ID3

Mejoras

C4.5

M5

Conclusiones

Bibliograf a

Textos
Alpaydin, E (2004) Introduction to Machine Learning, MIT Press [Cap. 9] Duda, R., Hart, P.E., Stork, D.G. (2001) Pattern Classication, Wiley [Cap. 8] a la Miner Hernandez-Orallo, J., Ram rez, M.J., Ferri, C. (2004) Introduccion a [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

Bibliograf a
Art culos
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) Classication 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 classication, 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

Tema B.6: ARBOLES DE CLASIFICACION


Concha Bielza, Pedro Larranaga
Departamento de Inteligencia Articial Facultad de Informatica, Universidad Politecnica de Madrid Aprendizaje Automatico