Tema B.6: ÁRBOLES DE CLASIFICACIÓN

Anuncio
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Tema B.6: ÁRBOLES DE CLASIFICACIÓN
Concha Bielza, Pedro Larrañaga
Departamento de Inteligencia Artificial
Facultad de Informática, Universidad Politécnica de Madrid
Aprendizaje Automático
Introducción
ID3
Índice
1
Introducción
2
Algoritmo básico: ID3
3
Mejoras a ID3
4
C4.5
5
Variable clase continua
6
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introducción
ID3
Índice
1
Introducción
2
Algoritmo básico: ID3
3
Mejoras a ID3
4
C4.5
5
Variable clase continua
6
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Introducción
Árbol de decisión
Muy utilizado y popular
Aproxima funciones que toman valores discretos. La
función aprendida se representa como un árbol
Robusto a datos con ruido
Aprende expresiones disyuntivas: los árboles aprendidos
se pueden re-representar como reglas if-then
(intuitivas)
Numerosas aplicaciones: diagnósticos médicos, causa de
fallo en equipos, evaluación de riesgos de créditos en la
concesión de préstamos...
Árbol de clasificación y de regresión
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Introducción
Representación como árboles
Cada nodo (no terminal) especifica un test de algún
atributo de la instancia
Cada rama corresponde a un posible valor del atributo
Cada nodo terminal indica la clase en la que se clasifica
Instancias no vistas se clasifican recorriendo el árbol:
pasándoles el test en cada nodo, por orden desde el nodo
raı́z hasta algún nodo hoja, que da su clasificación
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Introducción
Ejemplo: PlayTennis
Clasificar las mañanas de Sábado 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
Introducción
ID3
Mejoras
C4.5
M5
Introducción
Ejemplo: PlayTennis
El árbol representa una disyunción de conjunciones de
restricciones sobre los valores de los atributos de las
instancias
Un camino = una conjunción de tests de atributos
Todo el árbol = disyunción de estas conjunciones
Este árbol es:
(Outlook=Sunny ∧ Humidity=Normal)
∨ (Outlook=Overcast)
∨ (Outlook=Rain ∧ Wind=Weak)
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Introducción
Generación de reglas
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
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Introducción
Tipos de problemas apropiados
Instancias representadas como pares atributo-valor
Función objetivo toma valores discretos (clasificación)...
...pero extensiones a valores continuos: árboles de
regresión
Robustez a errores, 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 separación
lineal
Introducción
ID3
Mejoras
C4.5
M5
Introducción
Ejemplo
Se divide el espacio en regiones etiquetadas con una sola clase y son
hiperrectángulos (ojo!)
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Introducción
Tipos de árboles
Árboles de clasificación: valores de salida discretos
CLS, ID3, C4.5, ID4, ID5, C4.8, C5.0
Árboles de regresión: valores de salida continuos
CART, M5, M5’
Conclusiones
Introducción
ID3
Índice
1
Introducción
2
Algoritmo básico: ID3
3
Mejoras a ID3
4
C4.5
5
Variable clase continua
6
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo básico: ID3
ID3=Iterative dicotomiser [Quinlan, 1986]
Basado en el algoritmo CLS (Concept Learning Systems) [Hunt et al., 1966],
que usaba sólo atributos binarios
Estrategia de búsqueda voraz (greedy) por el espacio de posibles árboles de
clasificación
Construir el árbol de arriba a abajo, preguntando: ¿Qué atributo seleccionar
como nodo raı́z?
Se evalúa cada atributo para determinar cuán bien clasifica los ejemplos él solo
Se selecciona el mejor como nodo, se abre el árbol para cada posible valor del
atributo y los ejemplos se clasifican 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)
Parar cuando el árbol clasifica correctamente los ejemplos o cuando se han
usado todos los atributos
Etiquetar el nodo hoja con la clase de los ejemplos
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo básico: ID3
ID3
Paso clave: cómo seleccionar el atributo?
Nos gustarı́a el más útil para clasificar ejemplos; el que los
separa bien
ID3 escoge la variable más efectiva usando la cantidad de
información mutua (maximizarla)
I(C, Xi ) = H(C) − H(C|Xi )
H(C) = −
X
c
p(c) log2 p(c),
(ganancia de información)
H(C|X ) = −
XX
c
p(x, c) log2 p(c|x)
x
Reducción esperada en entropı́a (incertidumbre), causada
al particionar los ejemplos de acuerdo a este atributo
Introducción
ID3
Mejoras
C4.5
M5
Algoritmo básico: 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
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo básico: 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
⇒ I(C, Wind) = 0.940 − 0.892 = 0.048
Análogamente,
I(C, Humidity) = 0.151
I(C, Outlook) = 0.246 ⇐ Escoger Outlook como nodo raı́z
I(C, Temperature) = 0.029
Introducción
ID3
Mejoras
Algoritmo básico: ID3
Ejemplo ID3: PlayTennis
C4.5
M5
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo básico: 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 árbol debe seguir
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo básico: ID3
Ejemplo ID3: PlayTennis
Se repite el proceso para cada nodo descendiente no
terminal, usando sólo los ejemplos asociados con el nodo
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
I(Csunny , Temperature) = 0.97 − 0.4 = 0.57
I(Csunny , Humidity) = 1.94
I(Csunny , Wind) = 0.019
⇒ ...Árbol final es el visto antes
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo básico: ID3
Observaciones generales
Al ser voraz, puede que conduzca a una solución óptima
local en vez de global
Extensión de ID3 para añadir una forma de backtracking (post-poda)
Por usar propiedades estadı́sticas de todos los ejemplos
(ganancia de info), búsqueda menos sensible a errores en
los datos
Extensión de ID3 para manejar datos con ruido modificando su criterio de
parada: crear hoja sin necesidad de esperar a que todas las etiquetas
sean iguales (etiquetar con la mayorı́a)
Complejidad crece linealmente con el número de
instancias de entrenamiento y exponencialmente con el
número de atributos
Matemáticamente se demuestra que favorece la elección
de variables con mayor número de valores
Introducción
ID3
Índice
1
Introducción
2
Algoritmo básico: ID3
3
Mejoras a ID3
4
C4.5
5
Variable clase continua
6
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Mejoras a ID3
Cuestiones prácticas a tener en cuenta
¿Cúanto hacer crecer el árbol?
¿Es adecuada esta medida de selección de los atributos?
¿Cómo manejar atributos continuos?
¿Cómo manejar datos de entrenamiento con valores
perdidos (desconocidos) en los atributos?
¿Cómo manejar atributos con costes diferentes?
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Cúanto hacer crecer el árbol
Problema de sobreajuste
Problemas por hacer crecer el árbol hasta que clasifique
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 función
⇒ ID3 produce árboles que sobreajustan los ejemplos de
entrenamiento (y no funciona adecuadamente con nuevos
ejemplos). El modelo no es capaz de generalizar
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Sobreajuste
Soluciones al sobreajuste
Hay dos grupos de técnicas, que tratan de simplificar el árbol:
Pre-poda: parar de aumentar el árbol antes de que
alcance el punto en el que clasifica perfectamente los
ejemplos de entrenamiento
⇒ Difı́cil estimar cuándo
Post-poda: permitir que sobreajuste los datos, y después
podarlo reemplazando subárboles por una hoja
⇒ La mejor en la práctica, aunque mayor coste comput.
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Sobreajuste
Pre-podas
Aplicar un test estadı́stico para estimar si expandiendo un nodo particular es
probable producir una mejora más allá del conjunto de entrenamiento (e.g. test
χ2 como en Quinlan, 1986)
Post-podas
Comenzando desde abajo, examinar los subárboles de los nodos no terminales
Podar un nodo significa eliminar su subárbol correspondiente con raı́z en ese
nodo, convertir el nodo en nodo hoja y asignarle la clasificación más común de
los ejemplos de entrenamiento asociados a ese nodo
Se poda sólo si el árbol podado resultante mejora o iguala el rendimiento del
árbol original sobre el conjunto de testeo
Podar iterativamente, escogiendo siempre el nodo a podar que mejore más la
precisión en el conjunto de testeo
... hasta que ya no convenga (precisión disminuye)
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Otras medidas de selección de atributos
Favorece elección de atributos con muchos valores
Ejemplo extremo: “Fecha” en el problema de PlayTennis sale elegido como raı́z
(predice perfectamente los ejemplos de entrenamiento y tendrı́amos un árbol
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 pequeños)
...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 influencia de estas
medidas sobre el rendimiento y sı́ de las post-podas
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Atributos con valores continuos
Discretizarlos
Por ejemplo, particionar el rango en 2 intervalos A < c y A ≥ c
Buscar c que produzca la mayor ganancia de información
Tal valor se demuestra que está siempre en donde el valor de la clase cambia
(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 no es elegido, puede que salga luego otro valor de c distinto
⇒
Es decir, el atributo se crea dinámicamente
Introducción
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
Otras alternativas: más de 2 intervalos o incluso usar
combinaciones lineales de varias variables αA + βB > c...
También si es discreta pero con muchos valores: agrupar
los valores
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Atributos con valores perdidos (missing)
Imputarlos
Eliminar instancias incompletas
Estimar dichos valores –imputación–:
Asignarles la moda: valor más común 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
Asignar distribución de probabilidad de cada posible valor
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
árbol y con las que se calcula la ganancia)
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Atributos con diferentes costes
Introducir el coste en la medida de selección de atributos
Fiebre, Biopsia, Pulso, Análisis de sangre... todos con
diferentes coste (monetario y de comfort para el paciente)
Tratar de situar los de bajo coste arriba del árbol,
acudiendo a los de alto coste sólo cuando sea necesario
(para mejorar las clasificaciones)
Ası́, por ejemplo:
I(C, Xi )
coste(Xi )
Introducción
ID3
Índice
1
Introducción
2
Algoritmo básico: ID3
3
Mejoras a ID3
4
C4.5
5
Variable clase continua
6
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introducción
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)
Incorporación de post-poda de reglas: generar las reglas (1 por camino) y
eliminar precondiciones (antecedentes) siempre que mejore o iguale el error
Convertir el árbol en un conjunto de reglas R
Error = error de clasificación con R
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
Si no hay más antecedentes en r , borrar r de R
Ordenar las reglas por su error estimado (de menos a más) y considerarlas en
esta secuencia cuando se clasifiquen instancias
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Algoritmo C4.5
C4.5
Poda pesimista: C4.5 suele estimar el error e por resustitución, pero
corrigiéndolo hacia una posición pesimista: da la aproximación e + 1.96 ∗ σ, con
σ una estimación de la desviación tı́pica
Por qué usar reglas en vez del árbol?
La poda se hace distinguiendo los distintos contextos (caminos), pudiendo
ser diferente en cada uno. Sin embargo, el subárbol se quita entero o no
Fáciles de entender
Última versión: C4.8, que es el C4.5 revisión 8, última versión pública de esta
familia de algoritmos antes de la implementación comercial C5.0
⇒ implementado en WEKA como J48
Introducción
ID3
Índice
1
Introducción
2
Algoritmo básico: ID3
3
Mejoras a ID3
4
C4.5
5
Variable clase continua
6
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Árboles de regresión y árboles de modelos
Variable clase continua (predicción numérica)
Generalizar estas ideas para dar funciones de regresión continuas
Árbol de regresión: en las hojas está el valor de la clase que representa el valor
medio de las instancias que llegan a esa hoja
Es lo que utiliza el sistema CART [Breiman et al., 1984]
Aproxima la función objetivo mediante una función constante a trozos
Sirve para cualquier tipo de atributos
Árbol de modelos de regresión: en las hojas hay un modelo de regresión lineal
para predecir el valor de la clase de las instancias que llegan a esa hoja
Algoritmo M5 [Quinlan, 1992] y M5’ [Wang y Witten, 1997]
Todo tipo de atributos, especialmente continuos
Árboles de regresión son un caso particular de árboles de modelos de regresión
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Árboles de modelos de regresión
Algoritmos M5 y M5’
M5 genera árboles de decisión similares a los de ID3
Escoge el atributo que minimiza la variación en los valores
de la clase que resulta por cada rama
Las hojas son modelos lineales
M5’ introduce mejoras para:
Tratar atributos discretos
Tratar valores perdidos
Reducir el tamaño del árbol
Introducción
ID3
Mejoras
C4.5
Árboles de modelos de regresión
Ejemplo
209 configuraciones diferentes de ordenadores:
Salida (potencia de procesamiento) y atributos son continuos
M5
Conclusiones
Introducción
ID3
Mejoras
C4.5
Árboles de modelos de regresión
Ejemplo
Ecuación de regresión (a) y árbol de regresión (b)
M5
Conclusiones
Introducción
ID3
Mejoras
C4.5
Árboles de modelos de regresión
Ejemplo
Árbol de modelos de regresión:
M5
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Árboles de modelos de regresión
Fases de los algoritmos M5 y M5’
Construir el árbol
Estimar el error
Construir modelos lineales en cada nodo intermedio del
árbol
Simplificar los modelos lineales
Podar nodos
Suavizar (las predicciones)
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Árboles de modelos de regresión
Construcción del árbol con M5
Sea T el conjunto de ejemplos que llegan a un nodo
La desviación tı́pica de los valores de la clase que llegan a
un nodo se trata como medida del error en ese nodo
Minimizar la variación en los valores de la clase que
resultan por cada rama:
Calcular la desviación tı́pica SD de C en T (≈ error en T )
Calcular la reducción esperada del error cuando se usa un
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
Escoger el atributo que maximiza dicha reducción
–Que disminuya mucho la dispersión al bajar de nivel
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Árboles de modelos de regresión
Construcción del árbol con M5
Parar de hacer crecer el árbol cuando:
Quedan pocos ejemplos (≤ 4)
Hay poca variación de los valores de la clase (su SD es una
pequeña fracción de la SD del conjunto total, p.e. un 5 %)
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Árboles de modelos de regresión
Error estimado, nodos intermedios
Antes de podar, obtener un modelo lineal en todo nodo del árbol. Usar sólo los
atributos que aún no se han tenido en cuenta en el nodo (los testados en el
subárbol que cuelga de él)
Estimar el error esperado en cada nodo para casos aún no vistos:
Calcular la diferencia absoluta entre los valores reales y predichos (por el
modelo del nodo) de los ejemplos de entrenamiento asociados al nodo
Promediarlos. Supongamos que son n ejemplos
n+v
Como es estimación optimista, compensar multiplicando por n−v
, donde
o
v es el n de atributos en el modelo del nodo
Ésa es la estimación del error
Simplificar el modelo, quitando atributos de uno en uno, siempre que la
estimación del error (con el factor multiplicativo) disminuya
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Árboles de modelos de regresión
Podas
Con un modelo en cada nodo interior, hacer poda desde
las hojas siempre que el error estimado decrezca
Para ello, se compara el error en el nodo con el del
subárbol que cuelga de él. Éste se calcula como una
ponderación de los errores en cada rama (pesos son los
tamaños de los subconjuntos)
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Árboles de modelos de regresión
Suavizado de las predicciones
Beneficioso un proceso de suavizado para compensar las
grandes discontinuidades que ocurrirán entre modelos
lineales adyacentes en las hojas del árbol podado
Mejoran las predicciones
Se realiza desde las hojas hasta la raı́z:
1
2
Predecir valor de la instancia como usualmente (hasta la
hoja)
Suavizar ese valor en cada nodo (hasta la raı́z)
combinándolo con el valor que predice el nodo:
Pasar la predicción p’ al nodo siguiente hacia arriba:
p0 =
np+kq
n+k
donde p es la predicción que le pasan desde abajo y q es el
valor que predice el modelo del nodo, k es una constante
(15, por defecto), n es el no de ejemplos en el nodo
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Árboles de modelos de regresión
Otras cuestiones
Los atributos X discretos se tratan transformándolos
primero en varias variables binarias:
Antes de construir el árbol, hacer:
Para cada valor de X , promediar sus correspondientes
valores clase. Ordenar los valores de X de acuerdo a esto
Si X toma k valores, reemplazar X por k − 1 var. binarias:
la i-ésima vale 0 si el valor es uno de los primeros i en el
orden y vale 1 e.o.c.
Tratar valores perdidos en atributo X con una modificación
en la fórmula del RSD (para seleccionar el atributo por el
que particionar) y llevar las instancias con missing en X a
la rama que diga el atributo más correlado con X (que
actúa en su lugar) [Wang y Witten, 1997]
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Árboles de modelos de regresión
Ejemplo M5: 2 atributos continuos y 2 discretos
Discretos son motor y screw (5 valores). Clase = tiempo elevación sistema de servo
Orden de sus valores fue D, E, C, B, A para ambos
Introducción
ID3
Mejoras
C4.5
M5
Árboles de modelos de regresión
Usándolos para clasificación [Frank et al., 1998]
Generar data sets de cada clase vs resto, del mismo tamaño que el original.
Salidas fi aproximan la probabilidad. Escoger la más alta
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Extensiones
MARS: Multivariate Adaptive Regression Splines
[Friedman, 1991]
Generalización continua de CART
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)
Conclusiones
Introducción
ID3
Índice
1
Introducción
2
Algoritmo básico: ID3
3
Mejoras a ID3
4
C4.5
5
Variable clase continua
6
Conclusiones
Mejoras
C4.5
M5
Conclusiones
Introducción
ID3
Mejoras
C4.5
Software
Regresión logı́stica con WEKA
Pestaña Classifier ⇒ Functions
Logistic
Árboles con WEKA
Pestaña Classifier ⇒ Trees
Id3
J48
M5P
M5
Conclusiones
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Conclusiones
Árboles de decisión
Algoritmo ID3 selecciona de forma voraz el siguiente mejor
atributo a añadir al árbol
Evitar sobreajuste es un aspecto importante para
conseguir que el árbol generalice bien ⇒ Podas del árbol
Gran variedad de extensiones del ID3: manejar atributos
continuos, con valores missing, otras medidas de
selección, introducir costes
Clase continua: árboles de modelos de regresión (M5) con
regresiones lineales en las hojas
Introducción
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 Classification, Wiley [Cap. 8]
Hernández-Orallo, J., Ramı́rez, M.J., Ferri, C. (2004) Introducción a la Minerı́a
de Datos, Pearson Educación [Cap. 11]
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]
Introducción
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) 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]
Introducción
ID3
Mejoras
C4.5
M5
Conclusiones
Tema B.6: ÁRBOLES DE CLASIFICACIÓN
Concha Bielza, Pedro Larrañaga
Departamento de Inteligencia Artificial
Facultad de Informática, Universidad Politécnica de Madrid
Aprendizaje Automático
Descargar