Está en la página 1de 61

Machine Learning desde cero

ALGORITMOS
DE ÁRBOL (PARTE I)

2
Algoritmos de árbol
Algoritmos de árbol (2h)

• Árboles de Clasificación
• Árboles de Regresión

Laboratorio (1h)

• Árboles de Clasificación
• Árboles de Regresión

3
ALGORITMOS
DE ÁRBOL

4
Árboles de Decisión
• Objetivo: estratificar los predictores en regiones.

• Regresión y Clasificación.

• Modelo: árbol decisión.

• ¿Cómo mejorar el desempeño?. Combinación de


múltiples árboles.

5
Árboles de Decisión
• ¿Qué es un árbol de decisión?

6
Intuición 1

7
Intuición 1

8
Terminología
Nodo raíz

9
Terminología Nodos
internos

10
Terminología

Nodos terminales

11
Ejemplo
• ¿Cómo leemos el
arbol?

12
Ejemplo
• ¿Cómo leemos el
no
arbol? si

si no

13
Ejemplo simple
• ¿Cómo predecimos
yes
Heart Disease, dado no

los datos?

no yes

yes no yes no

14
Ejemplo simple
• Contestamos las
yes
preguntas en cada no

nodo interno y
seguimos la flecha

no yes

yes no yes no

15
Ejemplo simple

yes no

• La mayoría en el nodo no
terminal define la
predicción. no yes no

• Heart disease:
• 0 – yes yes no yes no

• 30 – no
• Respuesta: no
16
Árboles de Decisión
• ¿Cómo se deriva un árbol de decisión a partir de los
datos?
• Múltiples algoritmos (CART, ID3, C4.5, etc)
• Idea: Recursive Binary Splitting

17
Intuición 2

18
Intuición 2

19
Intuición 2

20
Intuición 2

21
Intuición 2

22
ÁRBOLES DE
CLASIFICACIÓN

23
Árboles de Clasificación
• Hacer splitting en cada nodo.

• Criterios para el splitting: puede ser Error de


Clasificación, Gini Index, Cross-Entropy.

• Cada nodo final tiene una probabilidad


(proporción) de pertenecer a una categoría.

24
Árboles de Clasificación
• Clasificación: Predecir Heart Disease
(Yes / No)

• Tres predictores:
• Chest Pain
• Good Blood Circulation
• Blocked Arteries

25
Árboles de Clasificación
• Deseamos saber qué predictor va
en el primer Split (nodo raíz)

26
Árboles de Clasificación
• Contabilizamos el resultado para el
predictor Chest Pain

27
Árboles de Clasificación
• Contabilizamos el resultado para el
predictor Chest Pain (hacemos esto
para todas las observaciones)

28
Árboles de Clasificación
• Contabilizamos el resultado para el
predictor Chest Pain (hacemos esto
para todas las observaciones)

29
Árboles de Clasificación
• Hacemos lo mismo para los demás
predictores

30
Árboles de Clasificación
• Calculamos Gini Impurity y
escogemos el Predictor que
produce el menor valor.

31
Árboles de Clasificación
• ¿Qué es el Gini impurity?

32
Árboles de Clasificación
• ¿Qué es el Gini impurity?

33
Árboles de Clasificación
• ¿Qué es el Gini impurity?

34
Árboles de Clasificación
• ¿Qué es el Gini impurity?

35
Árboles de Clasificación
• Gini Impurity para cada predictor.

Good Blood me
da el menor Gini
score.

36
Árboles de Clasificación
• Una vez que ya tenemos la primera
partición (Split) hacemos lo mismo
recursivamente

37
Árboles de Clasificación
• Una vez que ya tenemos la primera
partición (Split) hacemos lo mismo
recursivamente

38
Árboles de Clasificación
• Una vez que ya tenemos la primera
partición (Split) hacemos lo mismo
recursivamente

39
Árboles de Clasificación
• En resumen, en cada nodo:

• Calcular todos los scores Gini.

• Si el score Gini del nodo es menor,


que aquel calculado separando por
cada predictor, no hay que hacer
Split.

• Si hay mejoría, hacer Split con el


atributo que resultó en el menor
score.

40
Árboles de Clasificación
• Árbol Final:

• Los nodos hoja (verde), muestran la


proporción de observaciones
Yes/No en dicho nodo.

41
Árboles de Clasificación: Ejemplo
• Data: Heart data set,
contiene información de
303 pacientes con dolor de
pecho. HD variable binaria
indicando si paciente tiene
enfermedad cardíaca

• 13 predictores: Age, Sex,


Chol, Thal (Thalium Stress
Test) entre otras.

42
Árboles de Clasificación
• El árbol resultante puede ser extremadamente complejo
(produce overfitting)

• Solución: Podado (pruning) usando dataset de validación


o cross-validación.

43
Árboles de Clasificación: Ejemplo
• Heart: Cross-Validation y Árbol podado

44
ÁRBOLES DE
REGRESIÓN

45
Árboles de Regresión
• Dividir el espacio de predictores en regiones.

• Predicción: media o mediana de cada región.

• Recursive Binary Splitting usando el MSE (Error cuadrático medio).

46
Árboles de Regresión
• Predicción: media o mediana de cada región.

47
Árboles de regresión
• Data: Hitters, predecir el logaritmo del salario (log
Salary) de un jugador de baseball utilizando:
años de experiencia (Years) y el número de hits
en el año pasado (Hits).

• Para <4.5 años se predecirá el salario


promedio de los jugadores con dicha
carácterística: 5.11

• Para >=4.5 años se divide al grupo


dependiendo del número de hits.

48
Árboles de regresión
Se identifican 3 regiones (nodos terminales):

• R1={X|Years < 4.5}

• R2={X|Years >= 4.5, Hits < 117.5}

• R3={X|Years <= 4.5, Hits >=117.5}

49
Árboles de regresión
• Interpretación: Years es es el factor más
importante para determinar Salary. Jugadores
con menor experiencia ganan menos salario.

• Para los menos experimentados, Hits no


juega un rol importante.

• Para los experimentados, el número de Hits


afecta positivamente al salario.

50
Árboles de regresión
¿Cómo aprender un árbol de regresión a partir de datos?

1. Utilizamos Recursive binary splitting: Seleccionar un Xj y un punto de corte s


que minimice el error de predicción.

2. Repetir procedimiento dentro de cada una de las dos regiones obtenidas en


el paso anterior

3. Continuar hasta alcanzar un criterio de parada (stop criterion).

51
Árboles de regresión: Ejemplo
• Sup Izq: Regiones sin Recursive
binary splitting

• Sup Der: Regiones utilizando


Recursive binary splitting

• Inf Izq: Arbol correspondiente a


segmentación en Sup Der.

• Inf Der: Superficie de predicción


para el árbol.

52
Árboles de regresión: Podado
Podado o Pruning

1. Cost Complexity Pruning: Subarboles en función de un parámetro que


controla el costo de la complejidad versus el ajuste a los datos de
entrenamiento.

2. Un árbol óptimo: balance entre complejidad y número de nodos terminales.

3. Usar Cross-Validation.

53
Árboles de regresión: Podado

54
Árboles de regresión
• Arbol de regresión (largo) utilizando
binary split en Trainings set.

55
Árboles de regresión
• K-Fold Cross-Validation aplicado
para seleccionar el largo óptimo del
árbol en función del error de
predicción .

• Error obtenido con Cross-Validation


es un buen estimador del error en el
Test set (ver Intervalos de confianza).

• Error mínimo con 3 nodos terminales

56
MODELOS LINEALES
VS. ÁRBOLES

57
Regresión Lineal vs. Árboles
• Lección: escoger el algoritmo que se
adapte al problema.

58
Ventajas y Desventajas
Ventajas
• Fácil de explicar e interpretar.

• Fácil de visualizar.

• Imitan el proceso de decisión humana

Desventajas
• Generalmente no tiene el mismo nivel de precisión predictiva que otros
algoritmos revisados en el curso.

Para mejorar el poder predictivo: ver Parte II.

59
Laboratorio: Algoritmos de
árbol

60
academy@handytec.mobi
www.handytec.mobi

También podría gustarte