Downloads · 30 days
10
6% of all-time downloads
mukundisb/maude-clinicalbert
maude-clinicalbert is a text classification model from mukundisb. Use it when you need a label for a piece of text. The card lists the license as apache-2.0.
Fine-tuned BioClinicalBERT classifier that assigns a severity label — Death (D) / Injury (I) / Malfunction (M) / Other (O) — to free-text adverse event narratives from the FDA's MAUDE database.
Downloads · 30 days
10
6% of all-time downloads
All-time downloads
169
Public
Parameters
108M
2.2 GB on disk
Likes
0
Public
Click a slice to open those files.
.bin433 MB · 50%
From the Hugging Face model README
Fine-tuned Bio_ClinicalBERT classifier that assigns a severity label — Death (D) / Injury (I) / Malfunction (M) / Other (O) — to free-text adverse event narratives from the FDA's MAUDE database.
This is Phase 2 of a two-phase project. Phase 1 established a TF-IDF + Logistic Regression baseline; this model improves on that baseline specifically on the highest-stakes class (Death).
UNKNOWN labels dropped)| Parameter | Value |
|---|---|
| Base model | emilyalsentzer/Bio_ClinicalBERT |
| Pooling | cls_mean_concat ([CLS] + mean-pooled, 1536-dim head) |
| Max token length | 512 |
| Batch size | 16 (×2 GPUs, effective 32 with grad accumulation = 2) |
| Learning rate | 2e-5 (AdamW, 10% linear warmup) |
| Epochs | 3 |
| Class weights | Inverse-frequency, applied in CrossEntropyLoss |
| Hardware | Kaggle, 2× T4 GPU (DataParallel) |
| CV strategy | 5-fold StratifiedKFold, splits SHA1-fingerprinted for reproducibility |
| Early stopping | Patience = 1 epoch |
| Metric | Mean | Std |
|---|---|---|
| F1 weighted | 0.8691 | 0.0010 |
| F1 macro | 0.7727 | 0.0020 |
| F1 — Death | 0.8318 | 0.0076 |
| F1 — Injury | 0.8728 | 0.0015 |
| F1 — Malfunction | 0.9069 | 0.0016 |
| F1 — Other | 0.4794 | 0.0069 |
Improvement over Phase 1 baseline: weighted F1 +0.0207, Death-class F1 +0.0617 (+6.2 pp) — the Death-class lift is the primary result this phase targeted.
| Fold | F1 Death | F1 Injury | F1 Malfunction | F1 Other | F1 Macro | F1 Weighted |
|---|---|---|---|---|---|---|
| 1 | 0.8346 | 0.8713 | 0.9048 | 0.4730 | 0.7709 | 0.8671 |
| 2 | 0.8364 | 0.8711 | 0.9092 | 0.4826 | 0.7748 | 0.8700 |
| 3 | 0.8418 | 0.8749 | 0.9056 | 0.4764 | 0.7747 | 0.8693 |
| 4 | 0.8249 | 0.8727 | 0.9081 | 0.4735 | 0.7698 | 0.8693 |
| 5 | 0.8212 | 0.8740 | 0.9065 | 0.4915 | 0.7733 | 0.8698 |
Fold 3 is the checkpoint pushed to this Hub repo, selected because it achieved the highest Death-class F1 (0.8418) across all five folds — not the highest weighted or macro F1 (fold 2 leads on both of those). This is a deliberate choice: in this application, a false negative on the Death class (a death narrative misclassified as Injury/Malfunction/Other) is the most clinically consequential error, so fold selection was optimized against that specific risk rather than an aggregate score.
Provenance note: this selection rationale was reconstructed and documented retroactively. At the time of the original push to this Hub repo, no model card or commit message recorded the selection criterion. Future pushes will include this documentation at push time, not after the fact.
Mukund Padmanabha — LinkedIn