Skip to content

altairBASIC/BDCC-reproduction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BDCC-reproduction

Reproducción del Paper: ICD-10 Prediction from MIMIC-III Clinical Text

Este repositorio contiene mi trabajo de reproducción del paper publicado en Big Data and Cognitive Computing (BDCC):

"ICD prediction from MIMIC-III clinical text using pre-trained ClinicalBERT and NLP deep learning models achieving state-of-the-art"

El código original del paper estaba incompleto y no funcionaba correctamente, por lo que tuve que recrear todo el pipeline desde cero para reproducir los resultados reportados.

Resultados Obtenidos

Los modelos entrenados reproducen exitosamente los resultados similares a los paper original:

Modelo Mi F1-Score Paper Original
BERT (Bio_ClinicalBERT) ~87% 87%
BiLSTM ~74% 78%
LSTM ~67% 81%
SimpleRNN ~17% 25%

Estructura del Repositorio

BDCC-reproduction/
├── README.md                    # Este archivo
├── notebooks/                   # Jupyter notebooks del proceso
│   ├── Working_on_Mimiic3_data_reproduction.ipynb  # Pipeline principal
│   ├── diag10_finale_jumbito.ipynb                 # Entrenamiento Top-10
│   ├── diag50_finale_jumbito.ipynb                 # Entrenamiento Top-50
│   └── data_leakage_analysis_jumbito.ipynb         # Análisis de data leakage
├── scripts/                     # Scripts de entrenamiento
│   ├── train_top10_models.py    # 4 modelos para Top-10 ICD-10
│   └── train_top50_models.py    # 4 modelos para Top-50 ICD-10
├── data/                        # Datasets generados
│   ├── df_final_top10.csv       # Dataset Top-10 códigos ICD-10
│   ├── df_final_top50.csv       # Dataset Top-50 códigos ICD-10
│   ├── label_mapping_top10.json # Mapeo de etiquetas
│   └── label_mapping_top50.json
└── docker/                      # Configuración Docker
    ├── Dockerfile.amd           # GPU AMD (ROCm 6.3.3)
    ├── Dockerfile.nvidia        # GPU NVIDIA (CUDA 12.1)
    ├── requirements_amd.txt
    └── requirements_nvidia.txt

Metodología

1. Preprocesamiento de Datos

  • Fuente: MIMIC-III (notas clínicas de alta hospitalaria)
  • Conversión: ICD-9 → ICD-10 usando GEM (General Equivalence Mappings)
  • Selección: Top-10 y Top-50 códigos ICD-10 más frecuentes

2. Modelos Implementados

  • SimpleRNN: Red neuronal recurrente básica
  • LSTM: Long Short-Term Memory
  • BiLSTM: LSTM Bidireccional
  • BERT: Bio_ClinicalBERT (emilyalsentzer/Bio_ClinicalBERT)

3. Nota sobre Data Leakage

Durante el análisis descubrí que el paper original incluye los nombres de enfermedades en el texto de entrada (técnicamente "data leakage"). Esta metodología fue replicada para obtener resultados comparables.

Uso con Docker

GPU AMD (ROCm)

cd docker
docker build -f Dockerfile.amd -t bdcc-amd .
docker run --device=/dev/kfd --device=/dev/dri --group-add video --rm bdcc-amd

GPU NVIDIA (CUDA)

cd docker
docker build -f Dockerfile.nvidia -t bdcc-nvidia .
docker run --gpus all --rm bdcc-nvidia

Uso sin Docker

# Instalar dependencias
pip install -r docker/requirements_nvidia.txt

# Entrenar modelos Top-10
python scripts/train_top10_models.py

# Entrenar modelos Top-50
python scripts/train_top50_models.py

Requisitos

  • Python 3.9+
  • PyTorch 2.x
  • Transformers (Hugging Face)
  • pandas, scikit-learn
  • Acceso a MIMIC-III (para regenerar datasets)

Notas Importantes

  1. MIMIC-III: Los datasets fueron generados a partir de MIMIC-III. Se requiere acceso autorizado a PhysioNet para regenerarlos.

  2. Datasets incluidos: Los archivos CSV en data/ son los datasets preprocesados listos para entrenar.

  3. Reproducibilidad: Todo el código está autocontenido y no depende de repositorios externos.

Información

  • Autor: Ignacio R
  • Fecha: Diciembre 2025
  • Contexto: Reproducción como parte del proyecto PLN Clínico con AMD

Contacto

Para preguntas sobre esta reproducción: GitHub Issues


Este trabajo es una reproducción independiente con fines académicos y de investigación.

About

Full pipeline reproduction of the Big Data and Cognitive Computing (BDCC) paper “ICD Prediction from MIMIC-III Clinical Text Using Pre-Trained ClinicalBERT and NLP Deep Learning Models Achieving State of the Art.” The repository includes notebooks, training scripts, processed datasets, and Docker setups for both AMD and NVIDIA GPUs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors