MACHINE LEARNING PARA INVESTIGACIÓN CIENTÍFICA I: Árboles de Clasificación y Regresión
IMPARTIDO POR
Manuel Mendoza García, Científico Titular del CSIC.
NUEVA CONVOCATORIA
2 de marzo (modalidad diferida con asesoramiento personalizado).
OBJETIVO
Adquirir los conceptos fundamentales del machine learning y aprender a aplicar árboles de clasificación y regresión en investigación científica. El curso tiene un enfoque principalmente práctico (≈ 75%) e incluye más de 40 ejercicios basados en investigaciones reales (ver abajo estructura del curso y ejercicios). La programación, resolución e interpretación de los ejercicios se trabajan en paralelo con la exposición de la teoría.
DIRIGIDO A
Investigadores de cualquier área y nivel académico.
INCLUYE
Acceso en diferido a las clases (24 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): 400 €
Particular (sin financiación institucional): 200 € (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
Introducción al Machine Learning
Árboles de decisión
1. Interpretación
2. Representación de los hiperplanos
Ejercicio 2.1. a) Entrenar un árbol de clasificación con el paquete rpart, para caracterizar el tipo de estructura trófica de una comunidad de mamíferos, Húmeda Tropical (HT) vs. Estacional Tropical (ST), a partir del clima (predictores numéricos), b) aplicarlo a una celda con estructura trófica desconocida (unknTS) y representar los hiperplanos implicados, c) Entrenar un árbol de clasificación con paquete evtree y representar los hiperplanos implicados en 2D y 3D. Carpeta TS.
Ejercicio 2.2.(Solos) a) Entrenar un árbol de clasificación con el paquete rpart (cp=0.03), para caracterizar a las aves herbívoras acuáticas (H.Aq) respecto a las herbívoras terrestres (H.Tr) en base a su morfología, b) aplicarlo a una especie de museo desconocida (spcmus) para predecir su nicho ecológico, c) representar los hiperplanos implicados en su clasificación, d) Entrenar un AdC con paquete evtree. Carpeta AVONETNchTrof
Ejercicio 2.3. a) Entrenar un árbol de clasificación que permita determinar el sitio de localización de una proteína en la levadura Saccharomyces cerevisiae, a partir de su secuencia de aminoácidos, caracterizada a partir de 6 descriptores (numéricos) del sistema de anotaciones Yeast Protein Database, b) Averiguar el sitio de localización de 3 nuevas proteínas (newprots) y las probabilidades asociadas a cada localización. Carpeta yeast.
Ejercicio 2.4. (Solos) a) Entrenar un árbol de clasificación multiclase (cp=0.03) para determinar el tipo de ecosistema de una comunidad de mamíferos a partir de su estructura trófica, b) Averiguar el tipo de ecosistema de la comunidad del Pleistoceno Inferior de Venta Micena (VM) y la probabilidad asociada a cada tipo de ecosistema, c) Averiguar el nodo en el que cayó VM. Carpeta AfroNPs.
Ejercicio 2.5. a) Determinar mediante árbol de clasificación binaria la comestibilidad o potencial toxicidad de una seta a partir de 22 predictores categóricos, tomando como muestras 8124 ejemplares encontrados de las familias Agaricus y Lepiota. Modificar la complejidad con cp. a) con rpart, b) averiguar las muestras que cayeron en cada nodo y el nodo en el que cayeron unas muestras concretas. Carpeta mushroom.
Ejercicio 2.6. a) Diagnosticar si un paciente identificado como JM padece la enfermedad de Alzheimer, a partir de un árbol de clasificación binaria, entrenado para ello con 130 biomarcadores en sangre, b) determinar la probabilidad asociada a dicho diagnóstico. Carpeta Alzheimer.
Ejercicio 2.7. Entrenar un árbol de clasificación para determinar el valor calorífico superior (HHV) de diferentes combustibles de biomasa a partir de su contenido en carbono, hidrógeno, oxígeno, nitrógeno y azufre. Carpeta HHV.
3. Ventajas y Limitaciones
3.1 Ventajas
3.2 Limitaciones
3.3 Mínimo número de muestras necesario en machine learning
4. Desarrollo
4.1 Particionamiento recursivo
Ejercicio 4.1. Determinar la comestibilidad o potencial toxicidad de una seta de las familias Agaricus y Lepiota con un árbol de clasificación iterativo (con rpart) y otro optimizado globalmente (con evtree). Ambos deben tener CC =100%. Carpeta mushroom.
Ejercicio 4.2. 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 mediante árboles optimizados globalmente (evtree). Probar distintos valores de alfa. Carpeta neurofibroma.
5. Medidas de impureza como criterio de división para Clasificación
5.1 Clasificación
Ejercicio 5.1. Programar (sin librería) un árbol de clasificación binaria (por ejemplo, presencia/ausencia de una especie vegetal) con 2 predictores categóricos (Suelo: Arcilloso/Calcáreo; Ladera: Norte/Sur).
Ejercicio 5.2. (Solos) a) Calcular la Ganancia de Información (GI) basada en la entropía de la única división posible (cálculos en formato R).
Ejercicio 5.3. Programar (sin librería) un árbol de clasificación binaria (por ejemplo, presencia/ausencia de una especie vegetal) con 2 predictores categóricos (Suelo: Arcilloso/Calcáreo; Ladera: Norte/Sur) y uno numérico (Frecuencia relativa de incendios). Carpeta Entropía
5.2 Regresión
Ejercicio 5.4. Programar (sin librería) un árbol de regresión con predictores numéricos y categóricos. Identificación de la 1ª división, paso a paso. Objetivo: Identificar los principales factores de riesgo de captura accidental de la Pardela Cenicienta (Calonectris diomedea) por la flota palangrera (datos reales). Carpeta Calonectris
Análisis Exploratorio de los datos (Exploratory Data Analysis, EDA)
6. Evaluación de la “auténtica” capacidad predictiva de los modelos
7. Interacciones Complejas
Ejercicio 7.1. Entrenar un árbol de regresión para determinar la abundancia de una planta cuya relación con las variables ambientales es a) sencilla y b) compleja, por restricciones ambientales (datos artificiales). Carpeta PDP2.
8. Equilibrio Sesgo-Varianza
Ejercicio 8.1. Comparar los tipos de error, por sesgo y por varianza, de modelos lineales y árbol de regresión para predecir la riqueza de especies invertívoras (IFd) a partir del clima. Carpeta CliMod
9. Validación Cruzada (VC), Cross-Validation (CV)
Ejercicio 9.1. Entrenar un árbol de regresión para predecir la función respiratoria de los niños (volumen respiratorio forzado, FEV) a partir de factores como la edad, la altura, el género (0=femenino, 1=masculino) y la exposición al tabaquismo, y programar una VCA para testar su capacidad predictiva. Carpeta FEV
9.1 Datos de entrenamiento, validación y prueba (test)
9.2 Fuga de Información (Data Leakage)
10. Validación cruzada para estimar la complejidad óptima del modelo
10.1 Control del tamaño del árbol (complejidad) con rpart
10.2 Determinación de la complejidad óptima con la cptable de rpart
10.3 Equilibrio entre simplicidad interpretativa y complejidad predictiva
Ejercicio 10.1. a) Determinar con la ayuda de la cptable de rpart (10-folds CV) la complejidad óptima de un árbol de regresión entrenado para predecir la frecuencia cardiaca máxima alcanzada (thalach) a partir de variables clínicas y demográficas, con el fin de estimar la respuesta esperada al esfuerzo en diferentes perfiles de pacientes; b) Entrenar un AdR definitivo con la complejidad. c) Testar con el paquete caret (10-folds CV) la capacidad predictiva esperable con esa complejidad. d) Representar la evolución del R² estimado por VC frente al nº de divisiones y a cp; e) Analizar el árbol (simplificado si fuera necesario). Carpeta Heartdis
Ejercicio 10.2. (Solos) a) Determinar con la ayuda de la cptable de rpart (10-folds CV) la complejidad óptima de un AdR entrenado para predecir la riqueza de especies de aves invernantes a partir de ciertos predictores ambientales; b) Entrenar un AdR definitivo con la complejidad óptima. c) Testar con el paquete caret (10-folds CV) la capacidad predictiva esperable con esa complejidad. d) Representar la evolución del R² estimado por VC frente al nº de divisiones y a cp; e) Analizar el árbol (simplificado si fuera necesario). Carpeta Numspc
Ejercicio 10.3. a) Determinar la complejidad óptima de un árbol de clasificación binaria entrenado para diagnosticar deterioro cognitivo (impaired vs. control) a partir de 130 biomarcadores en sangre, utilizando la cptable de rpart con 10-fold CV; b) Entrenar un AdR definitivo con la complejidad. c) Testar con el paquete caret (10-folds CV) la capacidad predictiva esperable con esa complejidad. d) Representar la evolución del CC% estimado por VC frente al nº de divisiones y a cp; e) Analizar el árbol (simplificado si fuera necesario). Carpeta Alzheimer
Ejercicio 10.4. (Solos) a) Determinar la complejidad óptima de un árbol de clasificación binaria entrenado para detectar exoplanetas utilizando el conjunto de datos "Kepler Exoplanet Search Results” utilizando la cptable de rpart con 10-fold CV; b) Entrenar un AdR definitivo con la complejidad. c) Testar con el paquete caret (10-folds CV) la capacidad predictiva esperable con esa complejidad. d) Representar la evolución del CC% estimado por VC frente al nº de divisiones y a cp; e) Analizar el árbol (simplificado si fuera necesario). Carpeta Kepler.
Ejercicio 10.5. a) Determinar la complejidad óptima de un árbol de clasificación multiclase entrenado para predecir el sitio de localización de una proteína (9 localizaciones), dentro de la célula de Saccharomyces cerevisiae, a partir de 7 descriptores del sistema de anotaciones Yeast Protein Database (datos reales), utilizando la cptable de rpart con 10-fold CV; b) Entrenar un AdR definitivo con la complejidad. c) Testar con el paquete caret (10-folds CV) la capacidad predictiva esperable con esa complejidad. d) Representar la evolución del CC% estimado por VC frente al nº de divisiones y a cp; e) Analizar el árbol (simplificado si fuera necesario). Carpeta yeast
Ejercicio 10.6. (Solos) En base a su respuesta a los distintos tratamientos se han identificado 3 tipos de cáncer (I, II o III). a) Determinar la complejidad óptima de un árbol de clasificación multiclase entrenado para predecir el tipo a partir del grado de expresión de 47 variantes genéticas (originalmente > 54.000), b) Entrenar un AdR definitivo con la complejidad. c) Testar con el paquete caret (10-folds CV) la capacidad predictiva esperable con esa complejidad. d) Representar la evolución del CC% estimado por VC frente al nº de divisiones y a cp; e) Analizar el árbol (simplificado si fuera necesario). Carpeta Cáncer.
11. VC dejando uno fuera (leave-one-out cross validation, LOOCV)
Ejercicio 11.1. Determinar la complejidad óptima de un árbol de clasificación multiclase entrenado para que reconozca el tipo de ecosistema de una comunidad de grandes mamíferos a partir de su estructura trófica, utilizando LOOCV, en vez de k-folds CV, porque hay muy pocas muestras (87 para 4 categorías) y una k-folds CV podría eliminar información importante de las subcarpetas de entrenamiento. a) Estimar 1º, con LOOCV, la capacidad predictiva de un árbol entrenado con cp por defecto (0.01); b) Identificar la complejidad (cp) óptima con LOOCV; c) Determinar el tipo de ecosistema de Venta Micena (VM) y las probabilidades de pertenencia asociadas a cada tipo de ecosistema utilizando el modelo optimizado. Carpeta AfroNPs.
12. VC por bloques (VCPB) para datos estructurados
12.1 Estructura espacial
12.2 Estructura temporal
12.3 Estructura ambiental
12.4 Estructura filogenética
12.5 Evaluación estructuralmente coherente
12.6. Incorporación de variables estructurales
12.7 Optimización con VCPB
Ejercicio 12.1. a) Determinar la complejidad óptima de un Árbol de Regresión entrenado para predecir la riqueza de especies invertívoras a partir del clima, a escala global, utilizando la cptable de rpart (10-folds CV). No se puede estimar su rendimiento con caret (k-folds) porque toma las muestras test al azar y es esperable que los datos estén estructurados espacialmente. b) Estimar, por lo tanto, su verdadera capacidad predictiva con un bloque espacialmente independiente (América + Groenlandia; no es VCPB). c) Optimizar su complejidad con ese mismo bloque independiente y comparar su capacidad predictiva con el optimizado con la cptable. d) Analizar el árbol definitivo entrenado con todas las muestras y la complejidad óptima. e) Representar las celdas para las que se predicen más y menos especies. Carpeta CliMod.
Ejercicio 12.2 a) Determinar la complejidad óptima de un Árbol de Regresión entrenado para predecir la presencia o ausencia del avión roquero (Ptynoprogne rupestris – variable ptyrup) a partir de variables predictoras ambientales, utilizando la cptable de rpart (10-folds CV). No se puede estimar su rendimiento con caret (k-folds) porque toma las muestras test al azar y es esperable que los datos estén estructurados espacialmente. b) Estimar, por lo tanto, su verdadera capacidad predictiva con VCPB espacialmente independientes (8 franjas longitudinales de aproximadamente 1.5º). c) Optimizar su complejidad con VCPB y comparar su rendimiento con el árbol optimizado con la cptable. d) Analizar el árbol definitivo entrenado con todas las muestras y la complejidad óptima. Carpeta AvesCls.
Ejercicio 12.3 a) Determinar la complejidad óptima de un Árbol de Regresión entrenado para predecir la radiación solar (Rad) a partir de variables ambientales temporales, tomadas cada 5 minutos durante 3 meses (1 septiembre - 30 noviembre), utilizando la cptable (10-folds CV). No se puede estimar su rendimiento con caret (k-folds) porque toma las muestras test al azar y es esperable que los datos estén estructurados temporalmente. b) Estimar, por lo tanto, su verdadera capacidad predictiva con el 30% final. c) Optimizar su complejidad con una VCPB y comparar su rendimiento máximo con el árbol optimizado con la cptable. d) Analizar el árbol definitivo entrenado con todas las muestras y la complejidad óptima. Carpeta SolarPrediction
Ejercicio 12.4. Determinar la complejidad óptima de un Árbol de Regresión entrenado para predecir la masa corporal de las especies a partir de su morfología craneodental, a) utilizando la cptable de rpart (10-folds CV). No se puede estimar su rendimiento con caret (k-folds) porque toma las muestras test al azar y es esperable que los datos estén estructurados filogenéticamente, b) estimar, por lo tanto, su verdadera capacidad predictiva con una VCPB taxonómicos a nivel de familia, c) Optimizar su complejidad con una VCPB y comparar su rendimiento máximo con el árbol optimizado con la cptable. d) Analizar el árbol definitivo entrenado con todas las muestras y la complejidad óptima, e) Determinar la masa corporal de las especies extintas: Dinohippus leidyanus, Stenomylus hitchcocki y Aletomeryx gracilis. Carpeta Morph
Ejercicio 12.5. (Solos) Determinar la complejidad óptima de un Árbol de Regresión entrenado para predecir la esperanza de vida (vida) de los países a partir de variables socio-económico-sanitarias, a) utilizando la cptable de rpart. Los países de una misma región tienden a compartir condiciones económicas, demográficas y sanitarias, por lo que no es descartable que exista algún tipo de estructura regional. b) Estimar su capacidad predictiva con una VCPB regionales. c) Optimizar su complejidad con una VCPB y comparar su rendimiento máximo con el árbol optimizado con la cptable. d) Analizar el árbol definitivo entrenado con todas las muestras y la complejidad óptima. Carpeta HDI. (Human Development Index)
Ejercicio 12.6. Determinar la complejidad óptima de un árbol de clasificación multiclase entrenado para predecir el estilo de vida de las aves a partir de su morfología, a) utilizando la cptable de rpart (10-folds CV). No se puede estimar su rendimiento con caret (k-folds) porque toma las muestras test al azar y es esperable que los datos estén estructurados filogenéticamente, b) Estimar, por lo tanto, su verdadera capacidad predictiva con una VCPB taxonómicos a nivel de orden, c) Optimizar su complejidad con una VCPB y comparar su rendimiento máximo con el árbol optimizado con la cptable. d) Analizar el árbol definitivo entrenado con todas las muestras y la complejidad óptima. Carpeta AVONETLifstl
13. Importancia de las variables con rpart
Ejercicio 13.1. Determinar la importancia de la exposición al tabaquismo en la función respiratoria de los niños (volumen respiratorio forzado, FEV) en relación con otros factores como la altura, la edad o el género (0=femenino, 1=masculino). Carpeta FEV.
Ejercicio 13.2. Determinar la importancia de cada rasgo morfológico para la adaptación de las aves herbívoras al medio acuático y terrestre, de acuerdo con un modelo de árbol de clasificación. Carpeta AVONETNchTrof
14. Coste diferencial y categorías descompensadas (unbalanced data)
14.1 Coste Diferencial
14.2 Categorías desequilibradas
14.3 Modificación del umbral de corte
Ejercicio 14.1. Predecir la presencia o ausencia de diabetes tipo 2 a partir de 22 variables clínicas y demográficas. Entrenar un Árbol de Clasificación y evaluar su rendimiento sobre las muestras de entrenamiento, a) Sin tratar la presencia de categorías infra-representadas, b) Ajustando el umbral de corte a partir del óptimo según la curva ROC-AUC, c) Aplicando un vector de ponderación, d) Mediante técnicas de remuestreo, e) Estimar (por primera vez en el ejercicio) la verdadera capacidad predictiva mediante VC. Como puede existir estructura asociada al centro hospitalario, utilizar una VCPB, empleando la procedencia hospitalaria como criterio para definir los bloques, f) Analizar la Importancia de los distintos factores. Carpeta Diabetes.
Ejercicio 14.2. (Solos) Predecir la presencia o ausencia del avión roquero (Ptynoprogne rupestris) a partir de variables predictoras ambientales. Entrenar un Árbol de Clasificación y evaluar su rendimiento sobre las muestras de entrenamiento: a) Sin tratar la presencia de categorías infra-representadas, Como las categorías están desbalanceadas y hay coste diferencial, evaluar: b) Penalizando los falsos negativos ajustando el umbral de corte a partir del umbral óptimo ROC-AU, c) Con vector de ponderación, d) Con remuestreo, e) Estimar la auténtica capacidad predictiva por VCPB (datos estructurados espacialmente) de un algoritmo que trata la existencia de categorías infra-representadas (y además con coste diferencial) ponderando con weights (Ref. de la VCPB en ejercicio 12.2), f) Representar las observaciones y distintas predicciones. Carpeta AvesCls
Ejercicio 14.3 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. Entrenar un Árbol de Clasificación y evaluar su rendimiento sobre las muestras de entrenamiento en distintos escenarios: a) Sin tratar el desbalanceo, b) Aplicando un vector de ponderación (weights), c) Analizar la Importancia de los distintos factores. Carpeta Calonectris
Ejercicio 14.4. De 8685 celdas de 1º x 1º de zonas continentales no tropicales, menos de un 10% están depauperadas. Determinar con un Árbol de Clasificación el patrón o patrones en los factores de impacto que favorecen la depauperación. a) Como es esperable que los datos estén espacialmente estructurados, obtener 1º la complejidad óptima usando datos independientes ponderando con weights para que las depauperadas (Dep=1), infra-representadas, pesen tanto como las no depauperada, b) obtener las métricas de rendimiento sobre los datos independientes, c) Entrenar un AdC con todas las muestras y el cp óptimo, restringiendo la profundidad a 4, d) Representar un mapa con las predicciones, identificando las áreas asociadas a los distintos patrones de depauperación. Carpeta Human impact.
Ejercicio 14.5. A partir de los rasgos morfológicos de aves, entrenar un Árbol de Clasificación para predecir el estilo de vida (Life.stl), teniendo en cuenta que los datos están estructurados taxonómicamente (Order) y presentan un fuerte desequilibrio de clases, a) Seleccionar el conjunto de entrenamiento a partir de los órdenes con al menos 5 especies y equilibrarlo iterativamente para que las clases de la variable objetivo (Life.stl) y la estructura filogenética (Order) estén representadas de forma aproximadamente equitativa, b) Dividir el conjunto restante en validación y prueba. Optimizar la complejidad del modelo (parámetro cp) mediante VC externa usando el conjunto de validación, seleccionando como criterio el coeficiente kappa, c) Evaluar la capacidad predictiva real del modelo optimizado sobre las muestras de prueba (testdata) mediante kappa, d) Entrenar un árbol final a partir del conjunto completo (reescalado) utilizando el cp óptimo y una profundidad máxima limitada a 4, para facilitar la interpretación funcional del modelo. Carpeta AVONETLifstl
Ejercicio 14.6 Determinar la familia de un ungulado a partir de la morfología craneodental con un Árbol de Clasificación estimando la capacidad predictiva con LOOCV; a) sin remuestrear; b) remuestreando para que todas las familias pesen lo mismo en el entrenamiento. Carpeta Morph.
15. Análisis AMD (paquete AMDconfigurations)
Ejercicio 15.1 Con el análisis AMD a) Determinar si existen patrones discretos en la estructura trófica de comunidades de aves y mamíferos y, en caso afirmativo, establecer su número, b) Clasificar los muestras según el patrón óptimo y representarlas, c) Estimar la compacidad de los clústeres identificados, expresada como el porcentaje que representa su desviación estándar respecto a la longitud del lado del hipercubo que contiene las muestras. Carpeta AMD.
Fecha
- Lunes, 02 Marzo 2026
- Miércoles, 02 Diciembre 2026