Técnicas de Machine Learning basadas en árboles para Investigación Científica con R

Manuel Mendoza García. Científico Titular, Museo Nacional de Ciencias Naturales(CSIC)

Técnicas de Machine Learning basadas en árboles para Investigación Científica con R

Objetivo del curso: Aprender a aplicar en investigación científica las principales técnicas de Aprendizaje automático basadas en árboles, comprendiendo en profundidad cómo funcionan. El curso tiene una fuerte componente práctica (≈ 80%), con más de 40 ejercicios prácticos, procedentes de investigaciones reales (en Ciencias Naturales), que se irán viendo simultáneamente con la teoría.

A quién va dirigido: Investigadores de cualquier nivel académico, fundamentalmente de Ciencias Naturales.

Requisitos: Conocimientos básicos de R y acceso a un ordenador con los programas R y RStudio ya instalados.

Material incluido en el curso: Los códigos (explicados) de los 43 ejercicios y la presentación del curso en Power Point, que incluye la explicación de todos los conceptos fundamentales y la síntesis de los resultados de muchos de los ejercicios.

Programa

BLOQUE 1 Árboles de regresión y clasificación

1. Introducción

Aprendizaje automático vs. modelado estadístico

¿Qué se puede hacer con r?

2. Interpretación

3. Representación de los hiperplanos

Ejercicio 1. Interpretación de un árbol de clasificación (obtenido con rpart) que permite caracterizar a bóvidos frente a cérvidos a partir de su morfología craneodental (predictores numéricos). Comparación de dos formatos de árbol, evaluación, representación de los hiperplanos y generación de nuevas variables.

Ejercicio 2. Interpretación de un árbol de regresión (rpart) entrenado para predecir la masa corporal (BM) de las especies a partir de su morfología craneodental (predictores numéricos). Efecto de la log-transformación.

Ejercicio 3. Determinar la comestibilidad o potencial toxicidad (clasificación binaria) de una seta de las familias Agaricus y Lepiota a partir de 22 características (predictores cualitativos) mediante árbol de clasificación. Efecto de la complejidad del algoritmo con el parámetro cp.

4. Ventajas

5. Limitaciones

6. Desarrollo

- Particionamiento recursivo

- Optimizados globalmente con algoritmos evolutivos

7. Criterios de división

7.1 Árboles de Clasificación

- Porcentaje de clasificaciones correctas

- Índice Gini de impureza (desigualdad)  

- Entropía - Ganancia de Información (GI)

Con predictores categóricos

Ejercicio 4. a) Identificar la 1ª división de un árbol de clasificación, paso a paso con predictores categóricos, b) programación de un modelo predictivo de distribución de una especie ficticia a partir de dos variables ambientales cualitativas.

Con predictores numéricos

Ejercicio 5. a) Identificar la 1ª división de un árbol de clasificación, paso a paso, de un árbol de clasificación con predictores categóricos y numéricos, b) programación de un modelo predictivo de distribución de una especie ficticia en función de dos variables ambientales cualitativas y una numérica.

7.2 Árboles de Regresión

- Suma de sus residuos al cuadrado (RSS).

Ejercicio 6. Identificar la 1ª división de un árbol de regresión, usando predictores numéricos y categóricos. Objetivo: Identificar los principales factores de riesgo de captura accidental de la Pardela Cenicienta (Calonectris diomedea) por la flota palangrera.

8. Evaluación de los modelos

8.1 Clasificación

- Porcentaje de clasificaciones correctas.

- Coeficiente kappa

8.2 Regresión

- Varianza de lo observado explicada por lo predicho (R2)

9. Interacciones Complejas 

10. Importancia de las variables con rpart

11. Equilibrio Sesgo-varianza

12. Control del tamaño del árbol (complejidad) con rpart

Observaciones mínimas para división
Observaciones mínimas de nodo terminal
Profundidad máxima del árbol
Nº máximo de nodos terminales
Reducción mínima de error
Factor de coste-complejidad (cp)

13. Validación cruzada

13.1 Validación cruzada para testar la verdadera capacidad predictiva de los modelos

Validación cruzada de k-folds

Validación cruzada aleatoria

13.2 Utilización de la VC para determinar la complejidad óptima de un modelo

Determinación de la complejidad óptima con rpart

Ejercicio 8. a) Determinar la complejidad óptima de un árbol de regresión para estimar la riqueza de especies de aves invernantes a partir de ciertos predictores ambientales (datos reales), con el comando printcp de rpart, basado en el cálculo de 10-fold cross-validation; b) testado de la capacidad predictiva por validación cruzada aleatoria.

Ejercicio 9. a) Determinar la complejidad óptima de un árbol de clasificación (multiclase) para determinar el sitio de localización de la proteína, dentro de la célula, en la levadura Saccharomyces cerevisiae, usando para ello los 8 descriptores del sistema de anotaciones Yeast Protein Database (YPD), (datos reales), con el comando printcp de rpart, basado en 10-fold cross-validation; b) testado de la capacidad predictiva por validación cruzada aleatoria.

Validación cruzada dejando uno fuera (leave-one-out, VCLOO)

Ejercicio 10. a) Evaluación con VCLOO de la capacidad predictiva de un árbol de clasificación desarrollado para determinar el tipo de ecosistema (clasificación multiclase) que presentaba la comunidad de mamíferos de Venta Micena (Pleistoceno Inferior) a partir de su estructura trófica; b) programación de una VCLOO para identificar la complejidad (cp) óptima.

Validación cruzada con datos estructurados (VC por bloques, VCPB)

Validación cruzada por bloques cuando hay autocorrelación espacial

Ejercicio 11. a) Evaluación con VCPB (insensible a la autocorrelación espacial) de la capacidad predictiva de un modelo desarrollado para determinar y predecir el tipo básico de estructura trófica (TS) de una comunidad a partir de su clima; b) Programación de VCPB para identificar la complejidad (cp) óptima; c) obtener la importancia de las variables.

Ejercicio 12. El objetivo del modelo es estimar la riqueza de especies invertrívoras (variable Ifd) a partir del clima (variables worldclim, ver ej. anterior), a escala global. a) Determinar la complejidad óptima de un modelo de árbol de regresión con el comando printcp de rpart, basado en el cálculo de 10-folds VC. b) Evaluar la verdadera capacidad predictiva con un solo bloque, c) Determinar la complejidad óptima a partir de la capacidad predictiva sobre un solo bloque.

Ejercicio 13. Evaluación con VCPB de la capacidad predictiva de un modelo desarrollado para predecir la presencia o ausencia (clasificación binaria) del avión roquero (Ptynoprogne rupestris) a partir de variables predictoras ambientales (ICE: Índice complejidad estructural).

Validación cruzada por bloques cuando hay autocorrelación filogenética

Ejercicio 14. a) Evaluación con VCPB (cuando hay autocorrelación filogenética) de la capacidad predictiva de un modelo desarrollado para predecir la masa corporal de las especies a partir de su morfología craneodental. Comparación con 10-folds CV. b) Programación de VCPB cuando hay autocorrelación filogenética (a nivel de familia) para identificar la complejidad (cp) óptima.

14. Coste diferencial y datos descompensados (unbalanced data)

 Coste diferencial y Categorías infra-representadas

Modificación el umbral de corte

Ponderación de las falsas ausencias (FA) o las muestras infrarrepresentadas

Remuestreo

Ejercicio 15. Predecir la presencia o ausencia del avión roquero (Ptynoprogne rupestris) a partir de variables predictoras ambientales. Su hallazgo en determinado lugar implica su presencia, pero no encontrarla no implica que no esté. Penalizar las falsas ausencias (FA) a) modificando el umbral de corte, b) con una matriz de pérdidas (loss matrix), c) con un vector de ponderación, d) con remuestreo. e) Evaluar con remuestreo el modelo con VCPB cuando puede haber autocorrelación espacial.

Ejercicio 16. Identificar los principales factores de riesgo de captura accidental de la Pardela Cenicienta (Calonectris diomedea) por la flota palangrera a partir de la presencia o ausencia de capturas accidentales mediante árboles de clasificación (binaria) tratando la presencia de categorías “súper” infra-representadas (las presencias); a) con una matriz de pérdidas (loss matrix), b) con un vector de ponderación (weights).

Ejercicio 17. De 8685 comunidades de zonas continentales no tropicales (celdas 1º x 1º), menos de un 10% están depauperadas. Determinar con árbol de clasificación (binaria) los factores de impacto que contribuyen a su depauperación, tratando la presencia de categorías infra-representadas modificando el umbral de corte (a); con vector de ponderación (b), testando la verdadera capacidad predictiva con VC aleatoria con remuestreo (c).

 

BLOQUE 2 Métodos de agregación de árboles

1. Bootstrap o Bagging (Bootstrap aggregating)

Ejercicio 18. a) Predecir la riqueza de especies invertrívoras (IFd) a partir del clima con árbol de regresión reduciendo la varianza (error por imprecisión) mediante promediado; b) programación de un bootstrap; c) Testado del bootstrap con un bloque; d) bootstrap con el paquete ipred.

2. Random forests

- Hiperparámetros

Número de árboles (ntree)

Número de predictores disponibles para cada división (mtry).

Nº mínimo de observaciones (nodesize) que deben tener los nodos terminales

Máximo número de nodos en cada árbol (maxnodes).

- Optimización de los hiperparámetros

Ejercicio 19. (Cont. Ejer. 18). a) Predecir la riqueza de especies invertrívoras a partir del clima, a escala global, con Random Forest para regresión (paquete randomForest).

Ejercicio 20. Programación de un Random Forest.

Ejercicio 21. (continuación Ejer. 8). Estimar con Random Forest para regresión la riqueza de especies de aves invernantes.

Ejercicio 22. (continuación Ejers. 13 y 15). Predecir la presencia o ausencia del avión roquero (Ptynoprogne rupestris) mediante Random Forest para clasificación binaria, a partir de variables predictoras ambientales, evaluándolo con VCPB, cuando puede haber autocorrelación espacial, remuestreando para que las presencias pesen tanto como las ausencias.

Ejercicio 23. (continuación Ejer. 10). a) Determinar el tipo de ecosistema de la comunidad de mamíferos de Venta Micena (Pleistoceno Inferior) a partir de su estructura trófica mediante Random Forest para clasificación multiclase, b) Evaluación de la capacidad predictiva del Random Forest con leave-one-out.

Ejercicio 24. a) Predecir el tipo de organización trófica esperable en un lugar a partir de su clima mediante Random Forest para clasificación multiclase; Comparar resultados con árboles (árbol de clasificación, Ej 11), b) Evaluación de la capacidad predictiva del Random Forest con VCPB cuando puede haber autocorrelación espacial. Seis tipos básicos de organización: TS1 (gris), TS2 (azul oscuro), TS3 (azul claro), TS4 (amarillo), TS5 (verde claro) y TS6 (verde oscuro).

3. Boosted trees para regresión y clasificación

3.1 AdaBoost (AdaptativeBoosting)

  Ejercicio 25. Aplicación de AdaBoost para clasificación, a un ejemplo muy sencillo (ficticio) que podría ser de un modelo predictivo de distribución de una especie con solo 10 muestras y dos variables predictoras: x1 y x2. a) Elección y desarrollo de los clasificadores débiles (weak learners); b) Obtención del peso de cada clasificador (at); c) Predicción (H) 

3.2 Gradient descent Boosting (GDB)

- Tasa de aprendizaje o factor de contracción (learning rate o shrinkage)

- Gradient Boosting estocástico

- Paquete GBM

Hiperparámetros

shrinkage (learning rate o tasa de aprendizaje, 0 - 1)

n.trees (nº de árboles o iteraciones)

interaction.depth (profundidad de los árboles )

n.minobsinnode (nº mínimo de observaciones en los nodos terminales)

bag.fraction (ratio de muestras para entrenar los algoritmos )

- Optimización de los hiperparámetros

Regresión

Ejercicio 26 (continuación Ejers. 8 y 21). Estimar con Gradient descent Boosting para regresión la riqueza de especies de aves invernantes.

Clasificación binaria

Ejercicio 27 (continuación Ejers. 13, 15 y 22). Predecir la presencia o ausencia del avión roquero (Ptynoprogne rupestris) mediante Gradient descent Boosting para clasificación binaria, a partir de variables predictoras ambientales, evaluándolo con VCPB, cuando puede haber autocorrelación espacial, remuestreando para que las presencias pesen tanto como las ausencias.

Clasificación multiclase

Ejercicio 28 (continuación Ejers. 10 y 23). a) Determinar el tipo de ecosistema de la comunidad de mamíferos de Venta Micena (Pleistoceno Inferior), a partir de su estructura trófica mediante Gradient descent Boosting para clasificación multiclase, b) Evaluación de la capacidad predictiva con VC leave-one-out.

4. Xgboost (eXtreme Gradient Boosting)

- ¿En qué mejora a Gradient descent Boosting?

- Regularización

alfa

lambda

gamma

- Hiperparámetros del paquete xgboost

eta

nrounds

max_depth

subsample

colsample_bytree

early_stopping_rounds

- Optimización de los hiperparámetros

Regresión

Ejercicio 29 (continuación Ejers. 8, 21 y 25). a) Estimar la riqueza de especies de aves invernantes con XgBoost a partir de predictores ambientales (datos reales). b) Comparar resultados con árbol de regresión, Random Forest y Gradient descent Boosting.

Ejercicio 30 (continuación Ejers. 15, 22 y 26). a) Predecir con XgBoost la presencia o ausencia (clasificación binaria) del avión roquero (Ptynoprogne rupestris) a partir de variables predictoras ambientales, evaluándolo con VCPB, cuando existe el riesgo de autocorrelación espacial, remuestreando para que las presencias pesen tanto como las ausencias; b) Comparar resultados con árbol de regresión, Random Forest y Gradient descent Boosting.

Clasificación multiclase

Ejercicio 31 (continuación Ejers. 10, 23 y 27). a) Determinar el tipo de ecosistema de la comunidad de mamíferos de Venta Micena (Pleistoceno Inferior) a partir de su estructura trófica mediante XgBoost; Comparar resultados con árbol de clasificación, Random Forest y Gradient descent Boosting.

Ejercicio 32 (continuación Ejer. 9). Determinar el sitio de localización de la proteína (clasificación multiclase), dentro de la célula de la levadura Saccharomyces cerevisiae. Comparar árbol de clasificación (ej. 9) con: a) Random Forest; b) Gradient descent Boosting; c) XgBoost.

- Hot encoding

XgBoost con predictores cualitativos

Ejercicio 33. Determinar la comestibilidad o potencial toxicidad de una seta de las familias Agaricus y Lepiota (clasificación binaria) a partir de 22 características (predictores cualitativos) mediante: a) Random Forest, b) Gradient descent Boosting, c) XgBoost y d) aplicar XgBoost a nuevos datos.

Ejercicio 34 (continuación Ejer. 17). Comparación de la capacidad de árbol de clasificación (a), Random Forest (b) y XgBoost (c) para predecir la depauperación de comunidades de zonas frías y templadas, a partir de factores de impacto humano. Efectos sobre la sensibilidad y especificidad de modificar el umbral de corte.

5. Importancia de las variables

5.1 Random forests

5.1.1 Con paquete randomForest

Incremento relativo del error por permutación

%IncMSE

MeanDecreaseAccuracy

Incremento de la pureza de los nodos

IncNodePurity

MeanDecreaseGini

5.1.2 Con paquete iml

FeatureImp

5.2 Boosted trees

5.2.1 Con paquete gbm

Influencia relativa

5.3 XgBoost

5.3.1 Con paquete XgBoost

Gain

Cover

Frequency

Ejercicio 35 (continuación Ejer. 28). Representa la contribución de las variables predictoras al estimar la riqueza de especies de aves invernantes con árbol de regresión (a), Random Forest, (b) Gradient descent Boosting (c) y XgBoost (d).

6. Efecto de las variables predictoras

6.1 Gráficos de dependencia parcial (Partial dependence plots, PDP)

6.2 Curvas de expectativas condicionales individuales (ICE)

6.3 Gráficos de los efectos locales acumulados (ALE), una alternativa a los PDP

7. Interacciones entre variables

7.1 Estadístico H

Ejercicio 35. Análisis e interpretación de los resultados (Importancia y efecto de las variables) de un Random Forest para regresión de una base de datos artificial (no realista) cuya variable objetivo tiene una relación conocida con lo predictores. a) Efecto de un solo predictor con una relación sencilla; b) Efecto de 2 predictores no correlacionados; c) Efecto de 1 predictor correlacionado con otro.

Ejercicio 36 (Cont. Ejer. 6). a) Determinar con Random Forest (regresión) la abundancia de una planta (artificial) con restricciones ambientales, con muestras artificiales, b) Importancia y efecto de los predictores.

Ejercicio 37. a) Caracterizar mediante árbol de regresión y Random Forest el nicho climático óptimo de un género de planta tropical (Inventatus sp.) a partir de la distribución global de su abundancia (regresión, 13178 celdas de 1º x 1º distribuidas globalmente) b) Importancia y efecto de las variables e interacciones.

Ejercicio 38. (continuación Ejers. 17 y 33). Predecir la depauperación de comunidades de zonas frías y templadas, a partir de factores de impacto humano; Comparación, análisis e interpretación (importancia y efecto de las variables e interacciones) de Random Forest y Gradient descent Boosting para clasificación binaria.

Ejercicio 39 (continuación Ejer. 32). Predecir la abundancia del avión roquero (Ptynoprogne rupestris) con Random Forest para regresión, a partir de variables predictoras ambientales. a) Importancia de las variables; b) Efecto de las variables; c) interacciones entre variables.

Ejercicio 40 (continuación Ejer. 39). Predecir la abundancia del avión roquero (Ptynoprogne rupestris) con XgBoost para regresión, a partir de variables predictoras ambientales. a) Importancia de las variables; b) Efecto de las variables; c) interacciones entre variables.

Ejercicio 41 (Cont. Ejers. 23 y 29). Análisis e interpretación (importancia y efecto de las variables e interacciones) del algoritmo de Random Forest para clasificación multiclase, para determinar el tipo de ecosistema de la comunidad de mamíferos de Venta Micena (Pleistoceno Inferior) a partir de su estructura trófica.

Ejercicio 42 (continuación Ejers. 18-20). Análisis e interpretación (importancia y efecto de las variables e interacciones) de los algoritmos de Random Forest y XgBoost entrenados para predecir la riqueza de especies invertrívoras (regresión) a partir del clima.

Ejercicio 43. Predecir la distribución de la riqueza de especies invertrívoras en 2070 a partir de un escenario de cambio climático RCP 8.5 (datos reales).

 

Fecha

  • Lunes, 18 Octubre 2021

Horario

Del 18 de octubre al viernes 29 (2 semanas, de lunes a viernes).

Horario: todos los días de 16 a 19h, excepto los dos martes, de 14.50 a 17.50h

Ubicación

Museo Nacional de Ciencias Naturales

Plazas

20 plazas presenciales y

Acceso remoto: a través de Zoom, con la posibilidad de participación en clase.

Tarifas

245€, presencial y remoto (30 horas)

Inscripción