Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

Machine Learning para Predecir la Evolución del Cáncer

Hackatón del 10º Simposio Argentino de Jóvenes Investigadores en Bioinformática (10SAJIB)

Logo del 10º SAJIB

Introducción

Este proyecto, desarrollado en el marco de la Hackaton del 10mo Simposio Argentino de Jóvenes Investigadores en Bioinformática, se enfoca en el desarrollo y evalución de modelos predictivos para el cáncer de próstata, una de las neoplasias más frecuentes.

El objetivo principal es predecir la recaída bioquímica en pacientes que hayan atravesado una prostatectomía combinando datos transcriptómicos y clínicos mediante diferentes técnicas de machine learning.


Contenido


Objetivo

El objetivo será desarrollar modelos predictivos capaces de estratificar a los pacientes según su riesgo de recaída, explorando distintas metodologías de machine learning y evaluando su desempeño en un conjunto de datos de prueba independiente (held-out data).

Este ejercicio busca no solo familiarizar a los estudiantes con el manejo de datos ómicos y clínicos en oncología, sino también resaltar el papel de la bioinformática y la IA en la medicina de precisión.

📘 Nota: Para un contexto más detallado sobre el trasfondo biológico y la importancia clínica, consulte Consigna.md


Estructura del proyecto

.
├── data/                     # Datos utilizados en el proyecto
│   ├── raw/                  # Datos crudos originales
│   │   └── data.csv
│   ├── interim/              # Datos intermedios generados durante el procesamiento
│   │
│   └── validation/           # Datos independientes para validación del modelo
│       └── datos_hack_PCa_validacion.csv
│
├── notebooks/                # Notebooks de análisis y modelado
│   ├── 01_Exploration.ipynb
│   ├── 02_Cleaning.ipynb
│   ├── 03_Feature_Selection.ipynb
│   ├── 03.1_Differential_expression.Rmd
│   ├── 04_Model_training_100_top_diff_exp.ipynb
│   └── 05_Validation.ipynb
│
├── models/                  # Modelos entrenados y pipelines de preprocesamiento
│   ├── preprocessor/        # Objetos de preprocesamiento serializados
│   ├── mlp_best_*.joblib
│   ├── rf_best_*.joblib
│   ├── svm_best_*.joblib
│   └── xgb_best_*.joblib
│
├── reports/                  # Resultados y figuras generadas
│   └── figures/
│
├── environment.yml           # Especificación del entorno de ejecución
├── LICENSE                   # Licencia del proyecto
├── README.md                 # Este documento
└── Consigna.md               # Consigna original de la hackatón

Metodología

El flujo de trabajo se diseño siguiendo las etapas clásicas de un proyecto de machine learning o ciencia de datos. Cada fase se documentó en los notebooks correspondeintes, buscando maximizar la reproducibilidad y trazabilidad del proceso

1. Exploración y análisis de datos

Se inició con una exploración detallada de los datos clínicos y transcriptómicos para comprender su estructura y distribución. Esta etapa incluyó:

  • Estadísticas descriptivas de las variables clínicas
  • Evaluación de valores faltantes y distribución de variables.
  • Visualización de correlaciones y patrones globales en los datos mediante Análisis de Componentes Principales.
  • Análisis exploratorio de la variabildiad de la expresión génica.

📓 El desarrollo de esta etapa y sus resultados se puede visualizar en 01_Exploration.ipynb

2. Preprocesamiento

Para garantizar la calidad de los datos antes de modelar y explorar diferentes alternativas, se llevaron a cabo etapas de preprocesamiento que incluyen:

  • Eliminación o imputación de valores faltantes
  • Estandarización y normalización de variables numéricas
  • Codificación de variables categóricas mediante One-Hot y ordinal encoding.

📓 El desarrollo de esta etapa y sus resultados se puede visualizar en 02_Cleaning.ipynb

3. Selección de características

Para reducir las dimensionalidad se seleccionaron las características más informativas para el modelado predictivo utilizando enfoques estadísticos. Esta etapa fue importante para permitir reducir el ruid y mejorar el rendimiento de los modelos.

📓 El desarrollo de esta etapa y sus resultados se puede visualizar en 03_Feature_Selection.ipynb

3.1 Análisis de expresión diferencial

Dentro de estas técnicas exploradas para la selección de características y aprovechando que se contaba con datos transcriptómicos se optó por priorizar característcas biológicamente relevantes.

Los genes identificados como significativamente expresados se utilizaron como criterio para la selección de características.

📓 El desarrollo de esta análisis se puede ver en 03.1_Differential_expression.Rmd

4. Entrenamiento de modelos predictivos

Se exploraron diferentes algoritmos de machine learning supervisado, incluyendo:

  • Random Forest
  • Gradient Boosting (XGBoost)
  • Support Vector Machines (SVM)
  • Multi-Layer Perceptron

Cada modelo se entrenó bajo distintos esquemas de representación de variables (numéricas, categoricas y ordinales) y se optimizó usando validación cruzada y búsqueda de hiperparámetros.

📓 El desarrollo de esta análisis se puede ver en 04_Model_training_100_top_diff_exp.ipynb

5. Evaluación y validación

Los modelos fueron evaluados con un set de datos independientes que no fueron utilizados durante su entrenamiento para estimar la capacidad de generalizar de los mismos.

📓 El desarrollo de esta análisis se puede ver en 05_Validation.ipynb

Diagrama del Flujo de trabajo

flowchart TD
    A[Datos crudos] --> B1

    subgraph Preprocesamiento
        B1[Imputación / eliminación de NA]
        B2[Normalización y estandarización]
        B3[Codificación de variables categóricas]
        B1 --> B2 --> B3
    end

    subgraph Selección[Selección de características]
        C[Análisis diferencial de expresión]
    end

    B1 --> C
    B3 --> C
    subgraph Entrenamiento
        E1[Random Forest]
        E2[XGBoost]
        E3[SVM]
        E4[MLP]
    end

    Selección --> E1
    Selección --> E2
    Selección --> E3
    Selección --> E4
    
    F[Datos de Evaluación]

    subgraph Evaluación
        F1[AUC-ROC]
        F2[Accuracy / F1-score]
        F3[Matriz de confusión]
    end

    F --> Evaluación

    E1 --> Evaluación
    E2 --> Evaluación
    E3 --> Evaluación
    E4 --> Evaluación

Loading

Conclusiones

En este proyecto se trabajó en la exploración de diferentes modelos supervisados de machine learning para la clasificación de pacientes con relapse bioquímico en pacientes con cáncer de próstata, integrando datos de expresión génica y parámetros clínicos.

Los resultados muestran un desempeño general muy alto de los modelos, con AUC próximos a 0,9, lo que indica una capacidad sólida para discriminar entre pacientes con y sin relapse. En relación al valor F1-score, los modelos que tuvieron mejores resultados fueron Gradient Boosting y Random Forest. Estos algoritmos son considerados como potentes técnicas para el análisis de grandes y complejos volúmenes de datos biomédicos, si bien el modelo de Random Forest ofrece una mejor interpretación de la importancia de las variables en la predicción.

Es importante desatacar que el desarrollo estuvo condicionado por limitaciones de tiempo propias de una hackaton. Entre las estrategias que quedaron por explorar se incluyen diferentes técnicas de selección de característica para identificar los genes más relevantes, y la implementación de ensamblajes de clasificadores, combinando por ejemplo los modelos aquí desarrollados, con el objetivo de mejorar las predicciones.

A pesar de estas limitaciones, el proyecto demuestra la viabilidad de integrar datos clínicos y moleculares para la predicción de relapse. Desde el grupo de trabajamos agradecemos la iniciativa organizada por el RSG Argentina para convocar una Hackaton que ha permitido la colaboración interdisciplinar entre participantes de distintas áreas y niveles de formación para abordar la resolución de un caso real de análisis de datos biomédicos.


Integrantes

Nombre Rol
Bizzotto, Juan Líder del proyecto
Cartas, Irene Participante
Fernandez, Teresa Graciela Participante
Garcia, Justo Participante
Habas, Clara Participante
De Gracia, Lydier Participante
Vargas, Liliana Participante

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages