PyHealth 临床深度学习工具包
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/cn-pyhealth。
技能介绍
要解决什么问题
临床机器学习往往卡在「数据形态不统一」和「重复造轮子」:MIMIC、eICU、OMOP-CDM 等 EHR 结构各异,死亡率、再入院、药物推荐、睡眠分期、ICD 编码等任务又各自需要拆分、特征与评估方式。若从零写 PyTorch 训练循环、患者级划分和医疗代码映射,很容易在样本级划分上泄露同一患者、或在 BaseDataset 与 SampleDataset 之间传错对象。
技能如何工作
PyHealth 用一条固定的 五阶段管道 组织代码:数据集 → 任务 → 模型 → 训练器 → 指标。每个阶段可替换,接口稳定;完整管道通常不到二十行。
- 数据集:如
MIMIC3Dataset、MIMIC4Dataset,通过set_task(task)得到模型所需的 SampleDataset(不要直接把 Base 注册表喂给模型)。 - 任务:与数据集绑定,例如 MIMIC-III 用
MortalityPredictionMIMIC3,MIMIC-IV 用对应 MIMIC4 任务类。 - 拆分:默认按 患者(或就诊)划分,避免随机样本拆分导致信息泄露。
- 训练与监控:
Trainer负责检查点、日志与最佳 epoch;二分类常用pr_auc/roc_auc,多标签药物推荐用pr_auc_samples等。 - 医疗代码:支持 ICD-9/10、ATC、NDC、RxNorm、CCS 等查找与交叉映射(见技能内 medcode 参考)。
覆盖 EHR、生理信号(如 SleepEDF、SHHS)与医学影像(如 ChestX-ray14、COVID19-CXR)等常见公开基准。
适用边界
适合工作流已对齐上述五阶段、且涉及临床/医疗 ML 的场景。若只是对普通表格数据做通用 PyTorch 回归或分类,不必强行上 PyHealth。MIMIC-IV 构造数据集时使用 ehr_root= 而非 root=;需要可复现实验时,应为 cache_dir= 指定持久化目录,避免每次重新解析。无 MIMIC 凭据时,可用官方提供的合成 MIMIC-III 桶做学习与演示。
使用场景
- 已获批 MIMIC-III/IV 或 eICU 数据,要在同一套代码里做院内死亡率/再入院预测并按患者划分验证集
- 多标签药物推荐任务需要选 Dataset+Task 组合,并用 `pr_auc_samples` 等 monitor 做检查点而非手写训练循环
- 在 SleepEDF、SHHS、ISRUC 等公开数据上跑睡眠分期或 EEG 相关任务,需对齐数据集类与任务类映射
- 特征工程要把 ICD-9/10、ATC、NDC、RxNorm、CCS 做交叉映射,而不是维护私有码表脚本
适合人员
- 临床 informatics 或生物统计方向研究生,论文实验需在 MIMIC 上复现死亡率/再入院并保证患者级拆分
- 医疗 AI 团队算法工程师,要把 EHR 预测从原始 CSV 接到可复现的 Trainer、指标与最佳模型保存
- 持有本地 MIMIC CSV 根目录的数据科学家,想把私有化 EHR 接入标准 Task 而非重写整套基础设施
- 做睡眠或脑电研究的生物医学工程师,希望用公开基准快速验证模型而非从零写 PyTorch 数据管道