Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de...

34
Arboles de decisión Arboles de decisión Algoritmo C4.5 Algoritmo C4.5

Transcript of Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de...

Page 1: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Arboles de decisiónArboles de decisión

Algoritmo C4.5Algoritmo C4.5

Page 2: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

IntroducciónIntroducción

Objetivo:Objetivo: Estudiar algunos Estudiar algunos problemas del uso de árboles de problemas del uso de árboles de decisión y analizar cómo los decisión y analizar cómo los resuelve el algoritmo C4.5 (Quinlan).resuelve el algoritmo C4.5 (Quinlan).– Técnica de Windowing.Técnica de Windowing.– Agrupación de valores de un atributo.Agrupación de valores de un atributo.– Generación de reglas a partir de un Generación de reglas a partir de un

árbol.árbol.

Page 3: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Técnica de Windowing (1)Técnica de Windowing (1)

QuéQué: Añadir eficacia a la : Añadir eficacia a la generación de un árbol a partir de generación de un árbol a partir de un determinado conjunto de un determinado conjunto de ejemplos de entrenamiento.ejemplos de entrenamiento.

CuándoCuándo: Conjunto de ejemplos y : Conjunto de ejemplos y número de atributos por ejemplo número de atributos por ejemplo grandes.grandes.

Page 4: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Técnica de Windowing (2)Técnica de Windowing (2)

CómoCómo::

Ejemplos

Window

No Window

Arbol

Excepciones

Page 5: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Técnica de Windowing (3)Técnica de Windowing (3)

C4.5C4.5– Conjunto de window inicial favoreciendo Conjunto de window inicial favoreciendo

una distribución de clases uniforme. una distribución de clases uniforme. – En cada etapa añade al menos la mitad En cada etapa añade al menos la mitad

de excepciones producidas al nuevo de excepciones producidas al nuevo window.window.

– Puede parar antes de que el árbol Puede parar antes de que el árbol clasifique correctamente los ejemplos clasifique correctamente los ejemplos que estén fuera de window si los árboles que estén fuera de window si los árboles que se generan no son cada vez mejores.que se generan no son cada vez mejores.

Page 6: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Técnica de Windowing (4)Técnica de Windowing (4)

EjemploEjemplo– Ejemplos de entrenamiento 2514 Ejemplos de entrenamiento 2514 – Ejemplos de entrenamiento en Ejemplos de entrenamiento en

window 546window 546

Cycle Objects ErrorsTreesize window other window rate other rate total rate

1 15 502 2012 5 1.0% 15 0.7% 20 0.8%2 19 517 1997 8 1.5% 29 1.5% 37 1.5%3 21 546 1968 8 1.5% 0 0.0% 8 0.3%

Page 7: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Técnica de Windowing (5)Técnica de Windowing (5)

¿Por qué se sigue utilizando?¿Por qué se sigue utilizando?– En algunos casos la construcción del En algunos casos la construcción del

árbol es más rápida (ejemplos sin ruido).árbol es más rápida (ejemplos sin ruido).– Elegir el conjunto de window inicial de Elegir el conjunto de window inicial de

forma que la distribución de clases sea lo forma que la distribución de clases sea lo más uniforme posible permite mejores más uniforme posible permite mejores resultados a la hora de decidir:resultados a la hora de decidir: Un valor umbral al clasificar valores Un valor umbral al clasificar valores

continuos.continuos. Qué atributo estudiar en cada nodo del árbol.Qué atributo estudiar en cada nodo del árbol.

Page 8: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Técnica de Windowing (6)Técnica de Windowing (6)

MejorasMejoras– Generar varios árboles, cada uno a Generar varios árboles, cada uno a

partir de un posible conjunto de partir de un posible conjunto de window, y quedarse con el que menor window, y quedarse con el que menor índice de error genere.índice de error genere.

– Generar varios árboles y obtener a Generar varios árboles y obtener a partir de cada uno de ellos el conjunto partir de cada uno de ellos el conjunto de reglas que lo definen para a partir de reglas que lo definen para a partir de todos ellos generar uno único.de todos ellos generar uno único.

Page 9: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Agrupación de valores (1)Agrupación de valores (1)

Si el número de posibles valores de Si el número de posibles valores de un atributo es elevado:un atributo es elevado:– Cada una de las ramas clasificará un Cada una de las ramas clasificará un

pequeño conjunto de ejemplos.pequeño conjunto de ejemplos.– Dicho atributo resultará perjudicado a Dicho atributo resultará perjudicado a

la hora de utilizar para la selección la hora de utilizar para la selección medidas como GainRatio.medidas como GainRatio.

Page 10: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Agrupación de valores (2)Agrupación de valores (2)

Solución: Reducir el nº de Solución: Reducir el nº de posibilidades a la hora de testear posibilidades a la hora de testear un atributo uniendo en una misma un atributo uniendo en una misma rama varios valores de un atributo.rama varios valores de un atributo.

C4.5:C4.5:– Algoritmo ansioso Algoritmo ansioso Grupos no Grupos no

siempre óptimossiempre óptimos

Page 11: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Agrupación de valores (3)Agrupación de valores (3)

C4.5 - Algoritmo ansioso:C4.5 - Algoritmo ansioso:1. Crear grupos de valores unitarios.1. Crear grupos de valores unitarios.

2. Evaluar la mezcla de cada posible par 2. Evaluar la mezcla de cada posible par de grupos (GainRatio) y elegir la de grupos (GainRatio) y elegir la mejor.mejor.

3. Si el mejor resultado es peor que el de 3. Si el mejor resultado es peor que el de la etapa anterior o quedan sólo 2 la etapa anterior o quedan sólo 2 grupos, acabar.grupos, acabar.

4. Volver a 2.4. Volver a 2.

Page 12: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Agrupación de valores (4)Agrupación de valores (4)

Ejemplo:Ejemplo:

Attribute Value Groups GainRatio{none},{below soil},{above soil},{above 2nd node} 0.509{none, below soil},{above soil},{above 2nd node}{none, above soil},{below soil},{above 2nd node}{none,above 2nd node},{below soil},{above aoil}{none},{below soil, above soil},{above 2nd node}{none},{below soil, above 2nd node},{above soil}{none},{below soil},{ above soil, above 2nd node}

0.4340.4500.3940.5190.4840.531

{none, below soil},{above soil, above 2nd node}{none, above soil, above 2nd node},{below soil}{none},{below soil, above soil,above 2nd node}

0.4480.3450.518

Page 13: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Agrupación de valores (5)Agrupación de valores (5)

Cuándo:Cuándo:– Antes de comenzar la construcción del Antes de comenzar la construcción del

árbol (todos los atributos).árbol (todos los atributos).– Cuando un atributo sea elegido para Cuando un atributo sea elegido para

ser testeado en un determinado nodo ser testeado en un determinado nodo (atributo elegido). (atributo elegido).

– Cuando haya que decidir qué atributo Cuando haya que decidir qué atributo testear en el siguiente nodo del árbol testear en el siguiente nodo del árbol (atributos candidatos a ser testeados).(atributos candidatos a ser testeados).

Page 14: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (1)De árboles a reglas (1)

Problemas:Problemas:– Cada nodo tiene que tratarse dentro Cada nodo tiene que tratarse dentro

de un contexto que viene dado por el de un contexto que viene dado por el camino que une la raíz del árbol al camino que une la raíz del árbol al que pertenece con dicho nodo que pertenece con dicho nodo pasando antes por todos los nodos pasando antes por todos los nodos que constituyen dicho camino. que constituyen dicho camino.

– Subárboles completos son replicados Subárboles completos son replicados varias veces en un mismo árbol.varias veces en un mismo árbol.

Page 15: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (2)De árboles a reglas (2)

A

B B

1 1

1

00

0

NO SINOSI

Page 16: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (3)De árboles a reglas (3)F

J G

1 0

1

10

0

K

10

J

10

K

10

SI

SI

SINO

NONO

NO

Page 17: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (4)De árboles a reglas (4)

Solución:Solución:– Arbol Arbol Reglas Reglas– ReglasReglas

– IF (Condicion1 IF (Condicion1 ... ... CondicionN) THEN CondicionN) THEN ClaseClase

– Mutuamente excluyentesMutuamente excluyentes– Clasifican exactamente igual que el árbol Clasifican exactamente igual que el árbol

transformadotransformado

Page 18: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (5)De árboles a reglas (5)

Ejemplo:Ejemplo:– IF (F = 0) IF (F = 0) (J = 0) THEN No (J = 0) THEN No– IF (F = 0) IF (F = 0) (J = 1) (J = 1) (K = 0) THEN No (K = 0) THEN No– IF (F = 0) IF (F = 0) (J = 1) (J = 1) (K = 1) THEN Si (K = 1) THEN Si– IF (F = 1) IF (F = 1) (G = 1) THEN Si (G = 1) THEN Si– IF (F = 1) IF (F = 1) (G = 0) (G = 0) (J = 0) THEN No (J = 0) THEN No– IF (F=1)IF (F=1)(G=0)(G=0)(J=1)(J=1)(K=0) THEN No(K=0) THEN No– IF (F=1)IF (F=1)(G=0)(G=0)(J=1)(J=1)(K=1) THEN Si(K=1) THEN Si

Page 19: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (6)De árboles a reglas (6)

Mejoras (C4.5):Mejoras (C4.5):– Eliminación de condiciones Eliminación de condiciones

irrelevantes.irrelevantes.

– Agrupación de reglas por clases. Agrupación de reglas por clases.

– Eliminación de reglas completas.Eliminación de reglas completas.

Page 20: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (7)De árboles a reglas (7)Eliminación de condiciones Eliminación de condiciones

irrelevantesirrelevantes

IF X THEN C IF X THEN C IF X IF X-- THEN C THEN C ¿Cuándo prefiere C4.5 R¿Cuándo prefiere C4.5 R-- a R? a R?

– Ejemplos que cumplen XEjemplos que cumplen X-- en una tabla de en una tabla de contingencias.contingencias.

– Prefiere XPrefiere X- - sisi

(E1/Y1+E1) (E1/Y1+E1) (E1+E2/Y1+E1+Y2+E2) (E1+E2/Y1+E1+Y2+E2)

Clase C Otra claseSatisfacen X Y1 E1No satisfacen X Y2 E2

Page 21: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (8)De árboles a reglas (8)Eliminación de condiciones Eliminación de condiciones

irrelevantesirrelevantes

Cuándo: Antes de que el árbol sufra Cuándo: Antes de que el árbol sufra ninguna simplificación. ninguna simplificación.

Cómo: Cómo: – Algoritmo ansioso Algoritmo ansioso No minimiza el No minimiza el

error globalerror global– Si hay varias alternativas elimina Si hay varias alternativas elimina

aquella condición que genere un aquella condición que genere un menor error de clasificación.menor error de clasificación.

Page 22: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (9)De árboles a reglas (9)Eliminación de condiciones Eliminación de condiciones

irrelevantesirrelevantes

Ejemplo: Ejemplo: – IF (Cond1 IF (Cond1 ... ... Cond5) THEN Clase (0.33) Cond5) THEN Clase (0.33)– IF (Condicion5) THEN Clase (0.028)IF (Condicion5) THEN Clase (0.028)

Condición eliminada Y1+Y2 E1+E2 Frecuencia errorCondicion1 3 1 0.25Condicion2 6 1 0.14Condicion3 2 1 0.33Condicion4 2 1 0.33Condicion5 3 59 0.95

Page 23: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (10)De árboles a reglas (10)Eliminación de condiciones Eliminación de condiciones

irrelevantesirrelevantes

Ejemplo:Ejemplo:– IF (Cond1 IF (Cond1 ... ... Cond5) THEN Clase (0.33) Cond5) THEN Clase (0.33)– IF (Condicion5) THEN Clase (0.028) IF (Condicion5) THEN Clase (0.028)

Condición eliminada Y1+Y2 E1+E2 Frecuencia errorCondicion1 3 1 0.25Condicion2 6 1 0.14Condicion3 2 1 0.33Condicion4 2 1 0.33Condicion5 3 59 0.95

Page 24: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (11)De árboles a reglas (11)Agrupación de reglas por clasesAgrupación de reglas por clases

Generalización Generalización Reglas no Reglas no mutuamente excluyentesmutuamente excluyentes– Un ejemplo cumple la condición de más Un ejemplo cumple la condición de más

de una regla.de una regla.– Un ejemplo no cumple la condición de Un ejemplo no cumple la condición de

ninguna regla. ninguna regla.

Page 25: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (12)De árboles a reglas (12)Agrupación de reglas por clasesAgrupación de reglas por clases

Un ejemplo cumple la condición de Un ejemplo cumple la condición de más de una regla (C4.5).más de una regla (C4.5).– Elige un conjunto S de reglas Elige un conjunto S de reglas

generalizadas que representen cada clase.generalizadas que representen cada clase.– Ordena los conjuntos S (dentro de cada S Ordena los conjuntos S (dentro de cada S

el orden no importa).el orden no importa).– La máxima prioridad es de aquel conjunto La máxima prioridad es de aquel conjunto

S con menos errores falso-positivos.S con menos errores falso-positivos.– Toma la 1ª regla que cubra cada ejemplo.Toma la 1ª regla que cubra cada ejemplo.

Page 26: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (13)De árboles a reglas (13)Agrupación de reglas por clasesAgrupación de reglas por clases

Un ejemplo no es cubierto por ninguna Un ejemplo no es cubierto por ninguna regla (C4.5).regla (C4.5).– Por defecto toma aquella clase que más se Por defecto toma aquella clase que más se

repita entre los ejemplos del conjunto de repita entre los ejemplos del conjunto de entrenamiento que no son cubiertos por entrenamiento que no son cubiertos por ninguna regla de las que constituyen los ninguna regla de las que constituyen los conjuntos de reglas representativos de conjuntos de reglas representativos de cada clase, resolviendo en caso de empate cada clase, resolviendo en caso de empate a favor de la clase con mayor frecuencia a favor de la clase con mayor frecuencia absoluta.absoluta.

Page 27: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

De árboles a reglas (14)De árboles a reglas (14)Eliminación de reglas completasEliminación de reglas completas

Cuándo: Una vez realizado el proceso de Cuándo: Una vez realizado el proceso de generalización, creados los conjuntos de generalización, creados los conjuntos de reglas representativos de cada clase y reglas representativos de cada clase y decidida la clase por defecto.decidida la clase por defecto.

Cómo: Se analiza para cada uno de los Cómo: Se analiza para cada uno de los conjuntos de reglas S si la eliminación de conjuntos de reglas S si la eliminación de alguna de las reglas que lo constituyen alguna de las reglas que lo constituyen no aumenta el error producido en la no aumenta el error producido en la clasificación, y de ser así la elimina. clasificación, y de ser así la elimina.

Page 28: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Arboles de decisiónArboles de decisión

Aprender a jugar al fútbolAprender a jugar al fútbol

Page 29: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

IntroducciónIntroducción

¿Cómo utilizo los árboles para ¿Cómo utilizo los árboles para aprender?aprender?

¿Cómo obtengo el conjunto de ¿Cómo obtengo el conjunto de ejemplos que debo clasificar?ejemplos que debo clasificar?

¿Cómo decido a partir del árbol ¿Cómo decido a partir del árbol generado?generado?

Page 30: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Esquema de Esquema de aprendizaje(1)aprendizaje(1)

BasicTeam contra

MiBasicTeam

ArbolEjemplos

Almacenar como

último árbol

Almacenar como

mejor árbol

Page 31: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Esquema de Esquema de aprendizaje(2)aprendizaje(2)

Jugar con el

último árbol

CalcularEfectividad

NuevosEjemplos

Almacenar como

último árbol

Si es el mejor,almacenar mejor árbol

Arbol

Page 32: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Esquema de Esquema de aprendizaje(3)aprendizaje(3)

Cuándo se toman los ejemplos:Cuándo se toman los ejemplos:– Cuando un equipo marca un golCuando un equipo marca un gol– Si el equipo que marca es el mío se Si el equipo que marca es el mío se

considera el ejemplo como positivoconsidera el ejemplo como positivo– Si el equipo que marca es el contrario Si el equipo que marca es el contrario

se considera el ejemplo como negativose considera el ejemplo como negativo

Page 33: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Esquema de Esquema de aprendizaje(4)aprendizaje(4)

Parámetros de los ejemplos:Parámetros de los ejemplos:– ClaseClase– Distancia al balónDistancia al balón– Distancia a la portería contrariaDistancia a la portería contraria– Distancia al compañero más cercanoDistancia al compañero más cercano– Distancia al contrario más cercanoDistancia al contrario más cercano

EfectividadEfectividad– GolesFavor-GolesContraGolesFavor-GolesContra

Page 34: Arboles de decisión Algoritmo C4.5. Introducción n Objetivo: Estudiar algunos problemas del uso de árboles de decisión y analizar cómo los resuelve el.

Cómo juegaCómo juega

¿Cómo utiliza lo que ha aprendido a la ¿Cómo utiliza lo que ha aprendido a la hora de jugar?hora de jugar?– Siempre almacena el mejor árbol hasta el Siempre almacena el mejor árbol hasta el

momentomomento– Antes de chutar se utiliza el árbol de Antes de chutar se utiliza el árbol de

decisión (el mejor) para ver si dicho decisión (el mejor) para ver si dicho movimiento llevaría o no a una situación movimiento llevaría o no a una situación de gol.de gol.

– Si es así, chuta y si no le pasa el balón al Si es así, chuta y si no le pasa el balón al compañero más cercano.compañero más cercano.