MACHINE LEARNING PARA INVESTIGACIÓN CIENTÍFICA II: Random Forest, Boosting y Técnicas Avanzadas de Interpretación (DALEX, SHAP, LIME, etc.)
IMPARTIDO POR
Manuel Mendoza García, Científico Titular del CSIC.
NUEVA CONVOCATORIA
2 de marzo (modalidad diferida con asesoramiento personalizado).
OBJETIVO
Aprender a aplicar en investigación científica modelos de machine learning basados en ensambles (Random Forest, GBM y XGBoost) y a interpretarlos con herramientas avanzadas de explicabilidad (Partial Dependence Plots, valores de Shapley, LIME y perfiles de desglosamiento de importancias), comprendiendo los principios teóricos en los que se fundamentan).
El curso tiene un enfoque marcadamente práctico (≈ 75%) e incluye más de 50 ejercicios basados en investigaciones reales (ver temario y ejercicios).
La programación, resolución e interpretación de los ejercicios se trabajan en paralelo con la exposición de los conceptos teóricos.
DIRIGIDO A
Investigadores de cualquier área y nivel académico.
REQUISITOS
Haber realizado el Curso de Machine Learning para Investigación Científica I (o disponer de conocimientos equivalentes), donde se cubren los fundamentos necesarios para seguir este curso.
INCLUYE
Acceso en diferido a las clases (30 h) durante 3 meses (prorrogable bajo petición).
Guía del curso (conceptos clave, enunciados y resultados principales).
Códigos comentados de todos los ejercicios.
Asesoramiento personalizado por email o Zoom.
PRECIO
Institucional (proyecto/centro/empresa): 520 €
Particular (sin financiación institucional): 260 € (Beca personal -50%)
Particular Curso I + Curso II: 320 € (Beca personal -65%)
Particular Curso I + Curso II + Curso III: 425 € (Beca personal -70%)
SOLCITUD DE MATRÍCULA
mcnc104@mncn.csic.es
ESTRUCTURA DEL CURSO Y EJERCICIOS
Métodos de agregación de árboles
1. Bagging (bootstrap aggregation) - Random forests
1.1 Desarrollo del Bagging
Ejercicio 1.1. a) Predecir la riqueza de especies invertrívoras (IFd) a partir del clima con AdR reduciendo la varianza (error por imprecisión) mediante promediado, b) Programación desde cero (sin librería) de un bagging, testándolo con muestras espacialmente independientes (América + Groenlandia). Carpeta CLiMod
1.2 Funcionamiento del Random forests
Ejercicio 1.2. Programación paso a paso (sin librería) de un (casi) RF entrenado para predecir la riqueza de especies invertrívoras a partir del clima, a escala global, testándolo con muestras independientes. Carpeta CLiMod.
Ejercicio 1.3. a) Entrenar un RF con el paquete randomForest), para predecir la riqueza de especies invertrívoras a partir del clima, a escala global, testándolo con muestras independientes. Carpeta CLiMod.
1.3 Hiperparámetros (paquete randomForest)
1.4 Regresión con Random forests
Ejercicio 1.4 Estimar con RF (200 árboles) la riqueza de especies de aves invernantes (regresión) a partir de predictores ambientales (datos reales) e inferir la riqueza de especies en una nueva localidad (NvLoc). Carpeta Numspc.
Ejercicio 1.5 (Solos) Estimar con Random Forest (200 árboles) la calidad del vino (quality) a partir de sus características físico-químicas, y predecir la calidad de un nuevo vino basado en sus propiedades. Carpeta WineQT.
Ejercicio 1.6 (Solos) Estimar con RF (200 árboles) el tamaño del rango (RngSz) de las aves a partir de su morfología y estimar el rango de una especie desconocida de ruiseñor (género Luscinia). Carpeta AVONETRngSz
1.5 Datos desequilibrados y coste diferencial con el paquete randomForest
1.6 Clasificación binaria con Random forests
Ejercicio 1.7. Predecir la presencia o ausencia del avión roquero (Ptynoprogne rupestris) mediante un modelo de RF para clasificación binaria, utilizando variables predictoras ambientales. Excluir longitud y latitud como predictores con el fin de evaluar si el modelo puede generalizar sin depender explícitamente de la localización, a) Entrenar el modelo equilibrando las categorías de la variable objetivo mediante el argumento sampsize, b) Evaluar la capacidad predictiva del modelo mediante VCPB espaciales (5 bloques), ponderando del mismo modo. Carpeta AvesCls.
Ejercicio 1.8. (Solos) Diagnosticar si un paciente padece la enfermedad de Alzheimer mediante un modelo de RF para clasificación binaria, utilizando 130 biomarcadores en sangre. Excluir la variable `age` como predictor con el fin de evaluar si el modelo puede generalizar sin depender explícitamente de la edad. Entrenar el modelo equilibrando las categorías de la variable objetivo mediante el argumento sampsize y evaluar la capacidad predictiva del modelo mediante VCPB de edad (5 bloques), ponderando del mismo modo. Carpeta Alzheimer.
1.7 Clasificación multiclase con Random forests
Ejercicio 1.9. Determinar el tipo de hábitat (Forest, Grassland, Shrubland, Wetland o Woodland) al que están adaptadas las aves a partir de su morfología, a) Entrenar un RF sin equilibrar las categorías de la variable objetivo y equilibrándolas con el argumento `sampsize`, b) Representar la evolución del error de cada categoría al ir aumentando el nº de árboles, sin equilibrar y equilibrando, c) Determinar con ambos modelos el tipo de hábitat del pitajo dorsipardo (Ochthoeca fumicolor) y las probabilidades asociadas a cada tipo. Carpeta AVONETHbt
Ejercicio 1.10. (Solos) Determinar el tipo de ecosistema de una comunidad de mamíferos a partir de su estructura trófica. a) Entrenar un RF sin equilibrar las categorías de la variable objetivo y equilibrándolas con el argumento `sampsize`, b) Representar la evolución del error de cada categoría al ir aumentando el nº de árboles, sin equilibrar y equilibrando, c) Determinar con ambos modelos el tipo de ecosistema de Venta Micena (VM) y las probabilidades asociadas a cada tipo. Carpeta AfroNPs
Ejercicio 1.11. Predecir el tipo de estructura trófica esperable en un lugar a partir de su clima, a) mediante RF (n = 500), ponderando directamente para que las 6 categorías pesen lo mismo. Obtener: b) la evolución del error (para las 6 estructuras y con OOB), c) la evolución del error para TS4 y su valor final, d) el rendimiento del modelo equilibrado, con las muestras OOB y mediante VCPB, e) comparar los resultados con los de los árboles. Carpeta EFWOGE.
1.8 Optimización de hpps en Random Forest
1.9 Rejilla de búsqueda (grid)
Ejercicio 1.12. Optimizar con una grid aleatoria un algoritmo de RF entrenado para estimar la riqueza de especies de aves invernantes (regresión) a partir de predictores ambientales. Carpeta Numspc.
Boosting
2. AdaBoost (Adaptive Boosting)
Ejercicio 2.1. Desarrollo de un AdaBoost paso a paso, aplicado a un ejemplo extraordinariamente sencillo (ficticio): p. ej.: un modelo predictivo de distribución de una especie o el desarrollo de una prueba diagnóstico con 10 muestras y 2 variables predictoras (irreal en ambos casos). 3 fases: 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. Gradient Boosting Machine (GBM)
3.1 Gradiente de una Función de Pérdida (FdP) y optimización mediante Descenso por Gradiente (DpG)
3.2 Error cuadrático medio (MSE) como FdP para regresión
Ejercicio 3.2. Programar paso a paso (sin librería) un GBM, utilizando el MSE como función de pérdida, para predecir cómo varía la tasa de crecimiento de un microorganismo (TC, datos ficticios) en función de la concentración de un nutriente y la temperatura del medio. Carpeta GBM program.
3.4 GBM estocástico
3.5 Datos de entrenamiento, validación y prueba (traindata, valdata y testdata)
3.6 Fuga de Información (Data Leakage)
Ejercicio 3.3. Programar paso a paso (sin utilizar librerías específicas) un modelo GBM para regresión que prediga la riqueza de especies invertívoras (IFd) a partir de variables climáticas. Evaluar el efecto de distintas tasas de aprendizaje (0.1 y 0.01) utilizando el MSE como función de pérdida. Determinar el n.º óptimo de árboles empleando datos de validación espacialmente independientes. Carpeta CLiMod.
3.7 Entropía cruzada (EnCr) como FdP para clasificación binaria
Ejercicio 3.4. Programar desde cero (sin librerías específicas de GBM) un GBM de árboles para clasificación binaria que prediga la depauperación (Dep) de las comunidades en zonas frías y templadas a partir de factores de impacto humano, usando la entropía cruzada (Bernoulli) como función de pérdida y la actualización en log-odds. Carpeta Human Impact.
3.8 Paquete GBM (gradient boosting machine)
Ejercicio 3.5. Entrenar con la librería gbm un modelo de clasificación binaria que prediga la depauperación (Dep) de las comunidades en zonas frías y templadas a partir de factores de impacto humano, usando distribution = "bernoulli" (entropía cruzada). Seleccionar el número óptimo de árboles mediante la validación cruzada interna (regla 1-SE). Carpeta Human Impact.
Ejercicio 3.6. Entrenar un modelo de GBM para regresión con el objetivo de estimar la riqueza de especies de aves invernantes a partir de predictores ambientales. Utilizar el 80% de las muestras para entrenamiento y el 20% restante para prueba, con distribution = "gaussian" y MSE como métrica de evaluación. a) entrenar el modelo sin optimización de hiperparámetros, b) optimizar los hpps mediante una grid aleatoria, c) estimar la riqueza de especies en una nueva localidad (NvLoc) utilizando el mejor modelo. Carpeta Numspc.
Ejercicio 3.7. (Solos) Entrenar un modelo de GBM para regresión con el objetivo de estimar la esperanza de vida de los países a partir de variables socioeconómico-sanitarias. Utilizar el 80% de las muestras para entrenamiento y el 20% restante para prueba, con distribution = "gaussian" y MSE como métrica de evaluación. a) entrenar el modelo sin optimización de hiperparámetros, b) optimizar los hpps mediante una búsqueda aleatoria, c) estimar la esperanza de vida de España y Zambia utilizando el mejor modelo. Carpeta HDI.
Ejercicio 3.8. Predecir, a partir de variables ambientales, la presencia o ausencia del avión roquero (Ptynoprogne rupestris) mediante GBM para clasificación binaria, ponderando las presencias para que pesen tanto como las ausencias: a) entrenar el modelo directamente, sin optimizar los hpps (solo el n.º de árboles) y sin testar, b) optimizar los hpps con una grid aleatoria y la validación cruzada interna de GBM (k-fold), c) evaluar la capacidad predictiva del mejor modelo con VCPB (en vez de k-fold o un conjunto de prueba, porque los datos están estructurados espacialmente), ponderando con weights para que ambas categorías pesen lo mismo, d) representar las predicciones. Carpeta AvesCls.
3.11 Clasificación multiclase (GBM)
Ejercicio 3.9. a) Determinar el tipo de ecosistema de una comunidad de mamíferos a partir de su estructura trófica mediante GBM para clasificación multiclase, b) testar la capacidad predictiva con validación cruzada leave-one-out (en vez de reservar un conjunto de prueba, ya que no se puede desperdiciar ni una muestra para el entrenamiento), c) determinar el tipo de ecosistema de Venta Micena. Carpeta AfroNPs.
4. Xgboost (eXtreme Gradient Boosting)
4.1 Regularización
4.2 Hiperparámetros del paquete xgboost
4.3 Métricas de evaluación disponibles en xgboost
4.4 XgBoost con predictores numéricos
Ejercicio 4.1. a) Estimar la riqueza de especies de aves invernantes con XGBoost a partir de predictores ambientales, sin optimizar y optimizando con una grid aleatoria y la validación cruzada interna del paquete (k-fold), b) testar el mejor modelo con testdata y comparar los resultados con AdR, RF y GBM, c) inferir la riqueza de especies esperable en una nueva localidad (NvLoc) con XGBoost. Carpeta Numspc.
Ejercicio 4.2. (Solos) a) Estimar el albedo o reflectividad de un asteroide con XGBoost, a partir de ciertas características físicas y orbitales, sin optimizar y optimizando con una grid aleatoria y la validación cruzada interna del paquete (k-fold), b) testar el mejor modelo con testdata, c) estimar el albedo de un nuevo asteroide (NvAst). Carpeta Asteroid.
Ejercicio 4.3. Predecir el tipo de tumor (benigno o maligno) relacionado con la neurofibromatosis tipo 1 a partir del perfil de expresión génica de sus células (48 transcritos) mediante XGBoost, a) directamente, sin optimizar (no testar), b) optimizando con una grid aleatoria y la validación cruzada interna del paquete (k-fold), seleccionando por mejor kappa y mejor sensibilidad (sí testar la capacidad predictiva sobre datos de test). Carpeta neurofibroma.
4.5 XgBoost, datos estructurados y validación externa
Ejercicio 4.4. a) Determinar el tipo de ecosistema de una comunidad de mamíferos a partir de su estructura trófica mediante XGBoost para clasificación multiclase, b) como el nº de muestras es muy pequeño, testar la capacidad predictiva con LOOCV, c) determinar el tipo de ecosistema de Venta Micena. Carpeta AfroNPs.
4.6 Datos desequilibrados con paquete XgBoost
Ejercicio 4.5. Predecir con XGBoost la presencia o ausencia (clasificación binaria) del avión roquero (Ptynoprogne rupestris) a partir de variables predictoras ambientales, ponderando con weight las presencias para que pesen tanto como las ausencias, a) sin optimizar, b) optimizando logloss (la FdP) con una grid exhaustiva y la validación cruzada interna del paquete (k-fold), c) testar el mejor modelo mediante VCPB, ponderando las presencias con weight, utilizando el umbral con la curva ROC para transformar las probabilidades en predicciones. Carpeta AvesCls
4.7 XgBoost con predictores cualitativos (One-hot-encoding)
Ejercicio 4.6. Predecir con XGBoost la presencia o ausencia de diabetes tipo 2 (clasificación binaria) a partir de 22 variables clínicas, equilibrando la clase minoritaria con weight para que las presencias pesen tanto como las ausencias, a) entrenar el modelo sin optimizar los hiperparámetros, b) optimizarlo mediante una grid aleatoria usando la validación cruzada interna (xgb.cv) del paquete xgboost, c) evaluar la capacidad predictiva del mejor modelo sobre muestras test. Carpeta Diabetes.
Ejercicio 4.7. Predecir con XGBoost la localización subcelular de proteínas de Saccharomyces cerevisiae a partir de 8 descriptores de la Yeast Protein Database (clasificación multiclase). División estratificada 60%/20%/20% en train/val/test. Entrenamiento ponderado con weights inversos a la frecuencia para igualar el peso de las clases (solo en train). Optimización con grid aleatoria usando validación externa (holdout) en lugar de la validación cruzada interna de xgboost. Carpeta yeast.
Ejercicio 4.8. Predecir con XGBoost la riqueza de especies invertívoras (IFd) a partir del clima, utilizando datos de validación y prueba espacialmente independientes, optimizando con una rejilla de búsqueda aleatoria y utilizando como criterio de parada R2R2 sobre los datos de validación externa. Carpeta ClimMod.
5. Importancia de las variables
5.1 . Importancia de las variables con Árbol de Clasificación
5.2. Importancia de las variables con Random forests
Ejercicio 5.1. Identificar las principales adaptaciones morfológicas de las aves para vivir en distintos tipos de hábitat, a partir de la importancia de las variables de un RF ponderado con sampsize para equilibrar las categorías de la variable objetivo. Carpeta AVONETHbt.
Ejercicio 5.2. (Solos) Averiguar los factores climáticos que determinan fundamentalmente la riqueza de especies invertívoras a escala global, a partir de la importancia de las distintas variables climáticas en un modelo de RF para regresión. Carpeta CliMod.
5.3 Random forests y XGBoost como herramientas de selección de variables
Ejercicio 5.3. (Solo explicar) Partiendo de la hipótesis de que la transición de una célula normal a una cancerígena podría implicar transiciones de fase en el espacio genético, se aplicó el análisis AMD para detectar posibles patrones discretos en la expresión de más de 58.000 transcritos (archivo: E-MTAB-2770). El análisis reveló la existencia de tres grupos bien definidos. Para identificar las variables más relevantes, se intentó entrenar un modelo de Random Forest, pero el proceso resultó inviable por limitaciones computacionales (entrenar muchos árboles con grandes volúmenes de datos puede ser costoso). En su lugar, se utilizó XGBoost, una implementación eficiente y escalable de gradient boosting (con paralelización y enfoque en velocidad), con el que se seleccionaron las 46 variantes genéticas más importantes. Posteriormente, se entrenó un modelo de Random Forest sobre estas 46 variables, identificando 8 como especialmente relevantes. Las 8 correspondían a genes mitocondriales. Carpeta Cáncer.
5.4 Importancia de las variables con GBM
5.5 Importancia de las variables con XgBoost
Paquete DALEX
5.6 Métricas generales de Importancia con DALEX
Ejercicio 5.5. Comparativa: a) AdR, b) RF, c) GBM y d) XGBoost. Representa la importancia de las variables predictoras al estimar la riqueza de especies de aves invernantes (regresión). Carpeta Numspc.
Medidas de Importancia sobre muestras individuales
5.7. Perfil de Descomposición de importancias (Break Down Profile, BDP)
5.8 Importancia Basada en los Valores de Shapley (SHAP)
5.9. LIME (Local Interpretable Model-agnostic Explanations)
Ejercicio 5.7 Identificar las principales adaptaciones morfológicas de las aves a distintos hábitats, utilizando la IbP de un modelo RF obtenida con los paquetes randomForest (basado en el CC%) y DALEX (basado en la entropía cruzada). Analizar la contribución individual de cada variable morfológica a la probabilidad de que el pitajo dorsipardo sea clasificado como especie de pastizales o humedales, mediante valores SHAP. Obtener un perfil de descomposición (BDP) individual que muestre la contribución de cada variable a la predicción del modelo para el pitajo dorsipardo. Aplicar LIME para identificar qué variables contribuyen más a clasificar al pitajo dorsipardo como especie de pastizal en comparación con especies morfológicamente similares. ¿Coinciden estas variables con las que más importan globalmente para predecir la categoría Grassland según SHAP? Carpeta AVONETHbt.
Ejercicio 5.8. (Solos) Identificar las principales variables clínicas y demográficas que caracterizan a los pacientes con diabetes tipo 2, utilizando la IbP de los paquetes randomForest (basado en el CC%) y DALEX (basado en la entropía cruzada), aplicados a un modelo RF entrenado con más de 25.000 pacientes. Analizar, mediante valores SHAP, la contribución individual de cada variable a la probabilidad de que un paciente concreto (JM) sea diagnosticado como enfermo. Obtener un perfil de descomposición individual (BDP) que muestre cómo contribuye cada variable a la predicción del modelo para el caso de JM. Aplicar LIME para identificar qué variables influyen más en la clasificación de JM como enfermo, en comparación con pacientes con un perfil clínico y demográfico similar. ¿Coinciden estas variables con las más importantes a nivel global según SHAP? Carpeta Diabetes.
6. Partial Dependence Plots (PDP)
6.1 Interpretación
Ejercicio 6.1. Análisis e interpretación de los resultados (Importancia, PDP e interacciones) de un RF para regresión, de una base de datos artificial (1000 muestras y 3 predictores: a, b y c) cuya variable objetivo “y” tiene una relación sencilla conocida: a) con un solo predictor, b) con 2 predictores no correlacionados, c) con 1 predictor, que está correlacionado con otro. Carpeta PDP.
Ejercicio 6.2. Determinar el efecto de ciertas variables ambientales sobre la abundancia de una planta (ficticia) con restricciones ambientales y condiciones de favorabilidad climática, con muestras y variables artificiales, no correlacionadas, a) con ayuda de un AdR, b) a partir de la importancia de las variables en un modelo de RF (con paquete DALEX), c) PDPs y d) perfil desglosado (BDP) de algunas muestras. Carpeta PDP.
Ejercicio 6.3. Determinar el efecto de la dispersión (Dis) y el grado de especialización ecológica (Esp) sobre el éxito de colonización (Col) de las especies (datos sintéticos con relaciones no lineales e interacciones): a) con ayuda de un Árbol de Regresión, b) a partir de la importancia de las variables en un modelo Random Forest (DALEX), c) mediante PDPs, d) con perfiles de descomposición individual (BDP), e) con valores SHAP, f) con LIME. Elige 3 muestras libremente (define el vector idx en tu script) y aplica los apartados d)–f) a esas observaciones. Carpeta Patterns.
Ejercicio 6.4. Determinar el efecto de ciertas variables ambientales sobre la abundancia del avión roquero (Ptynoprogne rupestris) contrastando la información obtenida del análisis de un AdR, la representación geográfica de sus nodos terminales, la importancia de las variables y los PDPs. Carpeta AvesReg.
6.2 PDP combinado de dos variables
6.3 Curvas de expectativas condicionales individuales (ICE)
6.4 Estadístico H (Friedman's H-statistic)
Ejercicio 6.5. Caracterizar el nicho climático óptimo de un género de planta tropical utilizando un AdR y los PDPs generados a partir de un modelo de RF. El conjunto de datos recoge la abundancia en 13.178 celdas de 1° × 1° distribuidas globalmente. Las variables predictoras (climáticas) son reales, por lo que es esperable que presenten correlaciones entre sí. La variable respuesta, la abundancia, ha sido generada artificialmente con el objetivo de evaluar hasta qué punto las distintas técnicas son capaces de capturar los patrones que la originan. Carpeta PDP.
Ejercicio 6.6. Determinar el tipo de hábitat (Forest, Grassland, Shrubland, Wetland o Woodland) al que están adaptadas las aves a partir de su morfología,
a) Con el paquete randomForest: a.1 entrenar un modelo de RF ponderando para que las 5 categorías pesen lo mismo, a.2 obtener la importancia de las variables,
b) Con el paquete pdp obtener: b.1 los PDPs suavizados para los 5 hábitats de la variable más importante (longitud de la cola, TlL), b.2 PDPs combinados de la longitud de la cola (TlL) e índice hand-wing (HWI) para arboleda (Woodland) en 2D y 3D, b.3 obtener ICE para la longitud de la cola (TlL),
c) Con el paquete iml: c.1 obtener ALEs para la longitud de la cola (TlL), c.2 obtener interacción entre predictores con el estadístico H, c.3 obtener interacción de la longitud de la cola (TlL) con el resto de predictores,
d) Con el paquete DALEX: d.1 obtener las IbP con 10 réplicas de permutación (B=10), d.2 obtener los 5 PDPs (5 hábitats) para TlL. Carpeta AVONETHbt.
Ejercicio 6.7. (Solos) Determinar el subtipo de cáncer de mama (PAM) a partir de variables clínicas. Los subtipos son: Basal, claudin-low, Her2, LumA, LumB y Normal (explicación próxima diapositiva),
a) Con el paquete randomForest: a.1 entrenar un modelo ponderando para que las 6 categorías pesen lo mismo, a.2 obtener la importancia de las variables,
b) Con el paquete pdp obtener: b.1 los PDPs suavizados para los 6 subtipos respecto a la variable edad al diagnóstico (AgeDx), b.2 los PDPs combinados de la edad al diagnóstico (AgeDx) y el tamaño tumoral (TSz) para Basal, b.3 obtener ICE para AgeDx,
c) Con el paquete iml: c.1 obtener los perfiles ALE para AgeDx, c.2 calcular el estadístico H para medir la interacción entre predictores, c.3 estimar la interacción de AgeDx con el resto,
d) Con el paquete DALEX: d.1 obtener las IbP con 10 réplicas de permutación (B=10), d.2 obtener los 6 PDPs (6 tipos) para AgeDx. Carpeta BreastCancer
Ejercicio 6.8. Caracterizar, mediante Random Forest, las condiciones que llevan a la depauperación de las comunidades en zonas frías y templadas, a partir de factores de impacto humano: a) analizando la importancia de las variables con DALEX, basada en la entropía cruzada, b) sus perfiles de dependencia parcial (PDP) y c) las interacciones entre ellas con PDP combinado y estadístico H. Carpeta Human Impact.
6.5 PDP out-sample
Ejercicio 6.9. Evaluar el efecto de variables ambientales sobre la abundancia del avión roquero (Ptynoprogne rupestris).
1) Preparación de datos: seleccionar aleatoriamente dos celdas de muestreo (NewLoc1, con una abundancia igual a 1, y NewLoc2, con una abundancia superior a 20) y eliminarlas de data,
2) Con el paquete XGBoost:
a) entrenar un modelo de regresión con XGBoost para predecir la abundancia (train) y evaluar en testdata,
b) evaluar la importancia de las variables predictoras mediante Gain, Cover y Frequency,
c) predecir la abundancia esperada en NewLoc1 (abundancia = 1) y NewLoc2 (abundancia > 20),
3) Con el paquete DALEX (interpretación out-of-sample usando testdata):
d) determinar la importancia de las variables (IbP) en testdata,
e) obtener el perfil de descomposición (BDP) para NewLoc1 y NewLoc2 usando el explainer construido con testdata,
f) calcular la importancia basada en valores de Shapley (SHAP) para NewLoc1 y NewLoc2 en testdata,
g) evaluar el efecto individual de la temperatura mínima (tempmin) mediante PDP sobre testdata,
h) obtener los PDPs de todas las variables simultáneamente (ejes estandarizados) sobre testdata,
i) comparar el efecto de las predictoras (PDPs) entre zonas interiores y costeras (grupos) manteniendo interpretación out-of-sample. Carpeta AvesReg.
Ejercicio 6.6. Determinar el tipo de hábitat (Forest, Grassland, Shrubland, Wetland o Woodland) al que están adaptadas las aves a partir de su morfología,
a) Con el paquete randomForest: a.1 entrenar un modelo de RF ponderando para que las 5 categorías pesen lo mismo, a.2 obtener la importancia de las variables,
b) Con el paquete pdp obtener: b.1 los PDPs suavizados para los 5 hábitats de la variable más importante (longitud de la cola, TlL), b.2 PDPs combinados de la longitud de la cola (TlL) e índice hand-wing (HWI) para arboleda (Woodland) en 2D y 3D, b.3 obtener ICE para la longitud de la cola (TlL),
c) Con el paquete iml: c.1 obtener ALEs para la longitud de la cola (TlL), c.2 obtener interacción entre predictores con el estadístico H, c.3 obtener interacción de la longitud de la cola (TlL) con el resto de predictores,
d) Con el paquete DALEX: d.1 obtener las IbP con 10 réplicas de permutación (B=10), d.2 obtener los 5 PDPs (5 hábitats) para TlL. Carpeta AVONETHbt
Ejercicio 6.7. (Solos) Determinar el subtipo de cáncer de mama (PAM) a partir de variables clínicas. Los subtipos son: Basal, claudin-low, Her2, LumA, LumB y Normal (explicación próxima diapositiva),
a) Con el paquete randomForest: a.1 entrenar un modelo ponderando para que las 6 categorías pesen lo mismo, a.2 obtener la importancia de las variables,
b) Con el paquete pdp obtener: b.1 los PDPs suavizados para los 6 subtipos respecto a la variable edad al diagnóstico (AgeDx), b.2 los PDPs combinados de la edad al diagnóstico (AgeDx) y el tamaño tumoral (TSz) para Basal, b.3 obtener ICE para AgeDx,
c) Con el paquete iml: c.1 obtener los perfiles ALE para AgeDx, c.2 calcular el estadístico H para medir la interacción entre predictores, c.3 estimar la interacción de AgeDx con el resto,
d) Con el paquete DALEX: d.1 obtener las IbP con 10 réplicas de permutación (B=10), d.2 obtener los 6 PDPs (6 tipos) para AgeDx. Carpeta BreastCancer
Ejercicio 6.8. Caracterizar, mediante Random Forest, las condiciones que llevan a la depauperación de las comunidades en zonas frías y templadas, a partir de factores de impacto humano, a) analizando la importancia de las variables con DALEX, basada en la entropía cruzada, b) sus perfiles de dependencia parcial (PDP) y c) las interacciones entre ellas con PDP combinado y estadístico H. Carpeta Human Impact.
6.5 PDP out-sample
Ejercicio 6.9. Evaluar el efecto de variables ambientales sobre la abundancia del avión roquero (Ptynoprogne rupestris),
1) Preparación de datos: seleccionar aleatoriamente dos celdas de muestreo (NewLoc1, con una abundancia igual a 1, y NewLoc2, con una abundancia superior a 20) y eliminarlas de data,
2) Con el paquete XGBoost: a) entrenar un modelo de regresión con XGBoost para predecir la abundancia (train) y evaluar en testdata, b) evaluar la importancia de las variables predictoras mediante Gain, Cover y Frequency, c) predecir la abundancia esperada en NewLoc1 (abundancia = 1) y NewLoc2 (abundancia > 20),
3) Con el paquete DALEX (interpretación out-of-sample usando testdata): d) determinar la importancia de las variables (IbP) en testdata, e) obtener el perfil de descomposición (BDP) para NewLoc1 y NewLoc2 usando el explainer construido con testdata, f) calcular la importancia basada en valores de Shapley (SHAP) para NewLoc1 y NewLoc2 en testdata, g) evaluar el efecto individual de la temperatura mínima (tempmin) mediante PDP sobre testdata, h) obtener los PDPs de todas las variables simultáneamente (ejes estandarizados) sobre testdata, i) comparar el efecto de las predictoras (PDPs) entre zonas interiores y costeras (grupos) manteniendo interpretación out-of-sample. Carpeta AvesReg.
Ejercicio 6.10. (Solos) Estimar la esperanza de vida (EdV) de los países a partir de variables socio-económico-sanitarias,
1) Preparación de datos: eliminar de data España y Zambia,
2) Con XGBoost: a) entrenar un modelo de regresión para predecir la EdV, b) evaluar la importancia de las variables, c) predecir la EdV de España y Zambia,
3) Con DALEX (out-of-sample con testdata): d) determinar la importancia de las variables (IbP) en testdata, e) obtener el perfil de descomposición (BDP) para España y Zambia usando el explainer construido sobre testdata, f) calcular la importancia basada en valores de Shapley (SHAP) para ambos países en testdata, g) evaluar el efecto individual del gasto sanitario (salud) mediante PDP sobre testdata, h) obtener los PDPs de todas las variables simultáneamente, estandarizando los ejes, usando testdata. Carpeta HDI (Human Development Index).
Ejercicio 6.11.
1) Con XGBoost: a) Determinar el tipo de hábitat (Forest, Grassland, Shrubland, Wetland, Woodland) al que están adaptadas las aves a partir de su morfología.
2) Con irr: b) Evaluar la capacidad predictiva con datos de prueba (TEST) —no vistos durante el aprendizaje— mediante el coeficiente Kappa.
3) Con DALEX (out-of-sample con testdata): c) Estimar la importancia de las variables sobre el conjunto de TEST (IbP).
d) Analizar, out-of-sample (TEST), cómo afectan la longitud del pico (BkL) y de la cola (TlL) a la probabilidad de pertenecer a cada uno de los cinco hábitats, mediante PDPs combinados.
4) Con iml: e) Determinar las interacciones globales de la clase Forest con el estadístico H, también en TEST, f) Determinar las interacciones de BkL con el resto de predictores. Carpeta AVONETHbt
Ejercicio 6.12. Identificación de patrones atípicos en las ICEs: a partir de un conjunto de variables ambientales, entrenar un modelo de RF para predecir la presencia/ausencia del avión roquero (Ptynoprogne rupestris), obtener las curvas ICE (paquete pdp) para la variable temperatura mínima (tempmin), representar sus perfiles individuales, detectar las curvas ICE que muestren un patrón diferente, localizar geográficamente las muestras a las que corresponden y representarlas sobre un mapa de la zona de estudio. Carpeta AvesCls.
7. Análisis de Series Temporales (ST) con XGBoost
7.1 Auto-Regresión con Ensambles (AR-E)
Ejercicio 7.1. Entrenar un modelo simple para predecir la temperatura de un día a partir de los 10 días anteriores, utilizando una ventana deslizante de tamaño 10 (look_back = 10) sobre una secuencia de temperaturas de tan solo 13 días; para predecir la temperatura del día tt, se utilizan los valores de los días t − 1t−1 a t − 10t−10; con 13 días de datos, se generan tres muestras para el entrenamiento, cuyas predicciones corresponden a los días 11, 12 y 13. Carpeta SToyModel
Ejercicio 7.2. Entrenar un modelo XGBoost para predecir la concentración de partículas finas (PM2.5) en un instante dado, utilizando sus valores pasados como variables predictoras. Se emplea una ventana temporal de 72 horas para representar el historial reciente de la serie, permitiendo al modelo aprender patrones autoregresivos. Este enfoque permite anticipar la calidad del aire a corto plazo basándose únicamente en la dinámica interna de la serie. Datos recogidos cada hora entre 1998 y 2004 (7 años). Carpeta AirQuality
7.2 Regresión Multivariada con Dependencias Temporales (RM-DT)
Ejercicio 7.3: Entrenar un modelo XGBoost para predecir la calidad del aire en base a su concentración de Partículas Finas (pm25), utilizando como variables predictoras la velocidad y dirección del viento, y la concentración de otros 4 contaminantes (6 características), pero no de ese momento sino del pasado inmediato. El modelo utilizará una ventana temporal para capturar el historial inmediato de las variables y anticipar la calidad del aire en el corto plazo. Los datos abarcan un periodo de 7 años. Carpeta AirQuality
Fecha
- Lunes, 02 Marzo 2026
- Miércoles, 02 Diciembre 2026