Nikolas Cantillo
Caso · ML clínicoCirrosis · Mayo Clinic · clasificación multiclase + clustering

Predecir el desenlace de pacientes con cirrosis

Sobre el dataset clínico de cirrosis biliar de Mayo Clinic, un pipeline que clasifica el desenlace de cada paciente en tres estados —sigue vivo, recibió trasplante o falleció— a partir de variables de laboratorio y clínicas. Un problema desbalanceado y real: se usa SMOTE para equilibrar las clases, se comparan cinco modelos y, en paralelo, se segmenta a los pacientes con clustering para encontrar perfiles sin mirar la etiqueta.

scikit-learnSMOTERandom ForestK-PrototypesPCAimbalanced-learn

Proyecto de curso en equipo · Magíster en Ciencia de Datos, UC Chile

El problema, en tres frentes

Explorar, clasificar, y segmentar.

01

Exploración clínica

Dataset de cirrosis de Mayo Clinic: análisis de variables numéricas (bilirrubina, albúmina, protrombina) y categóricas frente al desenlace del paciente, con correlaciones y selección de predictores.

02

Clasificación con desbalance

Se aplica SMOTE para balancear las clases y se comparan cinco clasificadores —Logistic Regression, Random Forest, Decision Tree, Gradient Boosting y SVM— midiendo accuracy y F1 macro.

03

Segmentación de pacientes

KMeans y K-Prototypes (para datos mixtos numérico-categóricos), con visualización en 2D vía PCA, para descubrir perfiles de paciente sin usar la etiqueta de desenlace.

Clasificación

Random Forest, por amplio margen.

Accuracy

82.9%

Random Forest · 3 clases

F1 macro

0.83

promedio no ponderado entre clases

Modelos comparados

5

sobre clases balanceadas con SMOTE

F1 macro por modelo · mayor es mejor

Random Forest
0.829
Gradient Boosting
0.775
Decision Tree
0.662
Support Vector Machine
0.553
Logistic Regression
0.565

Random Forest superó a Gradient Boosting, árbol de decisión, SVM y regresión logística en las cuatro métricas. La clave no fue solo el modelo: la clase "fallecido" y la de "trasplante" estaban fuertemente subrepresentadas frente a la de pacientes vivos, y sin corregir ese desbalance cualquier clasificador tiende a apostar siempre por la clase mayoritaria. SMOTE generó ejemplos sintéticos de las clases minoritarias y elevó el F1 macro, que es la métrica honesta cuando importan todas las clases por igual —y en un contexto clínico, la clase que menos aparece suele ser la que más pesa.

Segmentación

Perfiles que la clínica reconoce.

En paralelo, sin usar la etiqueta de desenlace, se segmentó a los pacientes con KMeans y con K-Prototypes —que maneja variables numéricas y categóricas a la vez, algo que KMeans no puede—. Al proyectar los grupos con PCA, la primera componente principal queda dominada por la bilirrubina, la protrombina y la albúmina: exactamente los marcadores de función hepática que un especialista usaría para estratificar gravedad. Que el modelo no supervisado redescubra esa estructura clínica es la mejor señal de que la segmentación captura algo real, no ruido.

← Volver a proyectosCaso relacionado: fine-tuning vs LLMs