Está en la página 1de 19

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

Modelos de árboles de clasificación

Andrés G. Abad, Ph.D.

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 1 / 19


Definición del problema de clasificación I
I Un objeto x = [x1 , . . . , xp ], con caracterı́sticas xi , pertenece exactamente a
una clases y ∈ {1, 2, . . . , C}.
I Asumimos que tenemos un conjunto de datos

D = {(x(1) , y(1) ), . . . , (x(n) , y(n) )}


I Buscamos una función f̂ que asigne x(i) a c(i) lo mejor posible:

f̂ = arg mı́n P(x,y) [1(f (x) , y)]


f
I Objeto x pertenece a una de dos clases:
{Basico, Premium}
I Objeto x medidos en dos caracterı́sticas: x1
ingresos anuales, y x2 edad en años
I Dos clasificadores f̂ ’s: convexo-cuadrático (linea
negra) y no-convexo (linea roja)

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 2 / 19


Métodos basados en árboles
I Los modelos basados en árboles
dividen el espacio de caracterı́sticas en
rectágulos
I Luego ajustan un model muy
simple en cada rectágulo.
I Funciona para y discreta y contı́nua, i.e.
para clasificación y regresión
I Los rectágulos son construidos con
divisiones sucesivas del tipo

Xj ≤ θ y Xj > θ

Mitad pura
Decimos que una mitad es “pura” si contiene principalmente observaciones de una clase,
en cuyo caso no continuamos con las divisiones; de lo contrario, continuamos diviendo.

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 3 / 19


Ejemplo: árbol simple de clasificación
Ejemplo: n = 500 puntos en p = 2 dimensiones, en dos clases 0 y 1, marcadas con
colores

1.0
● ● ● ●●● ●
● ●●
●● ● ● ●● ●● ● ●●
● ●●● ● ●
●●● ● ● ● ● ●●● ● ● ● ● ●●
●● ● ●
● ● ● ●● ● ●●
● ●● ● ● ● ●
● ●
● ●● ● ● ● ●●● ● ●
● ● ●● ●
● ● ●
● ●
● ●
● ● ● ●●● ● ● ● ●

0.8
● ● ● ● ● ● ●



●● ● ● ●● ●● ● ●● ● ●
● ● ●● ● ● ● ● ● ●
● ● ● ●● ● ● ●● ● ● ●
● ●
● ● ●
● ● ● ● ● ●● ●●
● ● ● ● ●● ●

● ● ●●

● ● ●● ● ●●
●● ● ●● ●
● ● ●● ●● ●● ●
● ●●●●
● ●● ●
●●

0.6
● ●●●
●● ● ● ● ● ●
●● ● ● ● ●
● ● ● ● ● ● ●
● ● ● ● ● ● ● ● ● ● ●
●● ● ●● ● ● ●

x2
●● ● ● ●
●● ●
●● ●● ●
● ● ● ●● ● ● ●● ● ● ●

●● ●●● ● ●● ●●

●● ● ● ● ●

● ● ● ● ●

0.4
● ● ● ●
● ● ●●● ● ●●
●● ● ● ●● ● ● ● ●●● ● ●

●● ●● ● ●● ● ●● ●● ● ●
● ●● ● ●● ● ● ● ● ● ● ●

● ●
● ●

● ●● ● ● ●● ● ●●

●● ● ● ● ● ●●
● ● ● ● ● ● ●
● ●● ●● ● ● ●

0.2

● ● ● ● ● ● ● ●
● ●
● ● ● ●● ● ● ●
●●● ●
●● ● ●● ● ● ●
● ● ●
●● ● ● ● ● ● ● ● ●● ● ●


● ●● ●●● ● ● ● ● ●
●● ● ● ● ●● ● ● ●● ● ● ●
● ● ●
● ● ● ● ●● ● ●● ● ●● ● ●● ● ● ●
● ● ●
0.0
● ● ● ●● ● ● ●

0.0 0.2 0.4 0.6 0.8 1.0

x1

¿Dividir el espacio de caracterı́sticas en rectágulos funcionarı́a aquı́?


Andrés G. Abad, Ph.D., agabad@espol.edu.ec 4 / 19
1.0
● ● ● ●●● ● ● ●
● ● ● ●● ● ● ● ●
● ●● ●
● ●
● ● ● ●● ● ● ●● ●

●● ●●● ● ● ● ● ●
x.2< 0.111 ● ●
● ● ● ● ● ● ● ● ● ● ● ●
| ●
●● ●●
● ● ● ●
● ● ●● ● ● ●
x.1>=0.4028 ● ●● ●
● ● ● ●
0 ● ●● ●
● ● ● ●●
●●
● ● ● ●

0.8
● ● ● ●
● ● ●
60/0 x.2>=0.4993 x.2< 0.598 ●
● ● ●
● ●
● ● ● ●● ● ●
● ● ● ● ● ●
● ● ● ● ● ● ● ● ●
● ●● ● ●● ● ●

● ● ● ● ●●● ●
●● ● ● ● ●

● ●● ●● ● ●
● ● ● ●
● ● ● ● ● ● ● ● ●
● ●
●● ● ● ● ● ● ●● ●● ● ●
● ●●● ●●
● ● ●● ●

0.6
● ● ●●
● ● ● ● ●
● ● ● ● ● ● ●
● ● ●
● ● ●● ● ● ●
●● ● ● ●
● ●●● ● ● ● ●
● ●

x2
● ●
● ● ● ● ●
● ●
●● ● ●

● ● ● ●● ● ●● ● ● ●
x.1< 0.5998 ●
●● ● ● ●

0 ● ● ● ● ● ●
● ● ●●

● ●●


● ● ●

0.4
● ● ● ●
148/0 ● ●● ● ●●
● ● ●
●●
● ● ● ● ● ●● ● ●
●● ● ● ●● ●● ●● ●
● ● ● ● ●● ●● ● ● ● ●


● ● ● ●
●● ● ●
● ● ● ●
● ●● ●
● ● ● ● ● ●
● ●

●● ● ●
● ● ● ● ● ● ●
● ●● ● ● ● ●

0.2
● ● ● ● ● ●● ●

● ● ● ● ● ●●
● ● ●
●●●● ●● ● ● ●
● ● ● ● ●
● ● ● ● ●
●● ●
● ● ● ●● ● ●
● ●● ● ● ●
●● ● ● ●
● ● ●● ●
●● ● ● ●
●● ● ● ● ● ●
0 1 ● ● ● ● ●● ● ●● ● ●● ●● ●

● ● ●
● ● ● ● ● ●● ●●

0.0
● ● ●
39/0 0/71
0 1
101/0 0/81 0.0 0.2 0.4 0.6 0.8 1.0

x1

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 5 / 19


Árboles de clasificación I

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 6 / 19


Árboles de clasificación II
Entrenamiento
I Un árbol de clasificación define m regiones (rectágulos) R1 , . . . Rm , cada uno
correspondiendo a una hoja del árbol.
I Denotamos por nm al número de instancias en la región Rm .
I Asignamos a cada Rj una etiqueta de clase cj ∈ {1, . . . K}.
I E.g., se asigna a Rj la clase más frecuente entre sus puntos internos.

Inferencia
I Luego clasificamos un nuevo punto x ∈ Rp mediante

f̂ tree (x) = cj si x ∈ Rj .

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 7 / 19


Ejemplo: regiones definidas por un árbol

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 8 / 19


Definiciones generales I

Predicción de probabilidad de clases


I Estimaremos P(C = k|X ∈ Rj ) por p̂k (Rj ), mediante:

(k)
nj
p̂k (Rj ) = ,
nj
(k)
donde nj corresponde al número de puntos en la región Rj que son de la clase k.

La clase predicha para la región Rj es:

cj = argmax p̂k (Rj )


k=1,...K

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 9 / 19


Definiciones generales II

Error de clasificación de una región


El error de clasificación ej en una región Rj esta dado por

ej = 1 − p̂cj (Rj )

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 10 / 19


¿Cómo construir un árbol?

Hay dos problemas principales a considerar:


1. ¿Cómo escoger las divisiones?
2. ¿Qué tan grande construir el árbol?

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 11 / 19


Algoritmo de Classification and Regression Trees - CART I

El algoritmo CART procede de arriba a abajo en el árbol según la siguiente regla (avara):

1.0
● ● ● ●●● ●
● ●●
●● ● ● ●● ●● ● ●●
● ●●● ● ●
●●● ● ●
1. Seleccione la división que produce la mayor ●●
● ● ●
● ●●
●● ●
●●● ● ● ●
●● ●



● ●
●●

● ●


● ●
●●

● ● ● ●●● ● ● ● ●
● ●
reducción en el error de clasificación (considere ● ●●
● ●

● ●

● ●●●

● ● ● ●

0.8
● ● ● ● ● ●
● ●


●● ● ● ●● ●● ● ●● ● ●
● ● ●● ● ● ● ● ●
todos los features) ● ●
● ●



● ● ● ● ● ●●

●● ●● ●

●●
● ●●

● ● ●

●● ●
●● ●●


●●
● ●

● ●


● ● ●●

● ● ● ● ●● ● ●●●
●● ●●●●
● ●● ●

0.6
● ● ● ● ●●●
2. Continúe de esta manera hasta que el criterio de ●
●●● ●
● ●

● ●
●● ●
●● ●
● ●
● ● ● ●


●●



● ●
● ●
● ●

x2
●● ● ● ●
●● ● ●
terminación haya sido alcanzado ●
●● ●
● ●

●●


●● ●●● ●
● ●
●● ●● ● ●



●●



● ● ●
● ●
●●

0.4
● ● ● ● ●
● ●●● ● ●●
●● ● ● ●● ● ● ● ●●● ● ●

●● ●● ● ●● ● ●● ●● ● ●
●●● ● ●● ● ● ● ● ● ● ●
●● ●
● ●

● ●● ● ● ●● ● ● ●

●● ● ● ● ● ●●
● ● ● ● ● ●
Criterio de terminación: utilizaremos el número mı́nimo ● ●● ●● ●

● ●

0.2
● ● ● ●
● ● ● ● ● ● ● ● ●
●●● ● ● ● ●● ● ●
●● ● ●● ● ● ● ●
de instancias de entrenamiento asignados a cada hoja: ●●

● ● ●


● ● ● ●
●● ●●● ● ●




●● ● ●

● ●● ● ●
● ●
●● ● ● ●● ● ● ●

● ● ● ● ●● ● ●● ● ●● ● ●● ● ●
●●
● ● ●

0.0
● ● ● ●● ● ● ●

Si el conteo de instancias es menor al mı́nimo, la divi- 0.0 0.2 0.4 0.6 0.8 1.0
sión no es aceptada. x1

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 12 / 19


Algoritmo de Classification and Regression Trees - CART II

1. Empieza considerando las divisiones dadas por θ en la variable j definiendo


regiones:
R1 = {x : Xj ≤ θ}, y R2 = {x : Xj > θ}.

2. Escoja j y θ de manera avara minimizando el error de clasificación

argmin (e1 + e2 )
j,θ

3. Repetimos los pasos 1 y 2 recursivamente en cada nueva región R1 , R2 .

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 13 / 19


Algoritmo de Classification and Regression Trees - CART III
¿Cómo definimos la mejor división θ? ¿No hay infinitas posibilidades?

No, para dividir una región Rm en la variable j, realmente solo debemos considerar nm
divisiones posibles (o nm − 1 divisiones)

● ●

● ●
● ●

0.8

0.8
● ●
● ●

● ●

● ●
● ●
0.6

0.6
● ●

● ●
x2

x2
● ●
0.4

0.4
● ● ● ●
● ●

● ●
0.2

0.2
● ●
● ●

● ●
● ●
0.0

0.0
● ●

0.2 0.4 0.6 0.8 1.0 0.2 0.4 0.6 0.8 1.0

x1 x1

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 14 / 19


Algoritmo Rpart

I Considere un gran árbol T0


I Hagamos que |T| denote el número de hojas
(regiones) de un árbol

Buscamos un árbol T ⊆ T0 que minimice Cα (T), podando las hojas.


|T|
X
Cα (T) = ej + α|T|
j=1

El hyper parámetro α puede ser ajustado utilizando validación cruzada


Andrés G. Abad, Ph.D., agabad@espol.edu.ec 15 / 19
Apéndice
Otras medidas de impureza
Utilizamos el error de clasificación como medida de impureza de la región Rj ,

ej = 1 − p̂cj (Rj )

Pero hay otras medidas utiles también: el ı́ndice de Gini:


K
X h i
p̂k (Rj ) 1 − p̂k (Rj ) ,
k=1

y la entropı́a cruzada o deviance:


K
X n o
− p̂k (Rj ) log p̂k (Rj ) .
k=1

Algunas de estas medidas son más sensibles a cambios en la probabilidad de las


clases. Pero, en general los resultados son similares.
Andrés G. Abad, Ph.D., agabad@espol.edu.ec 17 / 19
Árboles de regresión I
Suponga que queremos predecir una respuesta continua. Todo procede igual que
antes, solo que ahora ajustamos una contante dentro de cada región.

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 18 / 19


Árboles de regresión II

La función de regresión estimada tiene la forma

f̂ tree (x) = cj siempre que x ∈ Rj ,

donde
1 X
cj = yi
nj
xi ∈Rj

Usamos ahora la función de pérdida cuadrática para decidir que región dividir.

Andrés G. Abad, Ph.D., agabad@espol.edu.ec 19 / 19

También podría gustarte