用途:PyHealth(https://pyhealth.dev/)是面向临床深度学习的 Python 工具包,围绕 Dataset → Task → Model → Trainer → Metrics 五阶段流程构建,各阶段可替换、接口稳定。适用于电子健康记录(EHR)、生理信号与医学影像的临床机器学习任务,如死亡率、再入院、住院时长、用药推荐、睡眠分期、ICD 编码、EEG 事件与去标识化预测,也支持 ICD-9-CM、ICD-10-CM、ATC、NDC、RxNorm、CCS 等医学编码的查询与交叉映射。若只是对表格数据使用通用 PyTorch,则无需此工具。
主要能力:内置 MIMIC-III/IV、eICU、OMOP-CDM、EHRShot、SleepEDF、SHHS、ISRUC、COVID19-CXR、ChestX-ray14、TUEV/TUAB 等数据集类;提供数据集专属任务类、模型、Trainer 与指标函数。
使用方式:PyHealth 2.0 要求 Python ≥ 3.12 且 < 3.14,推荐用 uv 管理环境:uv init my-pyhealth-project;cd my-pyhealth-project;uv python pin 3.12;uv add pyhealth;uv run python train.py。一次性脚本可用 uv run --with pyhealth python script.py;旧版 1.x(Python 3.9+)用 uv add pyhealth==1.16。典型流程为:加载数据集得到 BaseDataset,调用 .set_task(task) 得到 SampleDataset,用 split_by_patient 划分并 get_dataloader 构建加载器,将 SampleDataset 传给模型,再用 Trainer 训练与推理。
关键限制:模型必须接收 SampleDataset 而非 BaseDataset;应按患者或就诊划分以避免信息泄漏;任务需与数据集匹配(如 MortalityPredictionMIMIC3 不能用于 MIMIC-IV);monitor 需匹配任务类型;MIMIC-IV 构造器使用 ehr_root= 而非 root=;建议设置持久 cache_dir 以复用解析缓存。私有 MIMIC 数据需本地 CSV 路径,演示可用合成 MIMIC-III 数据桶。详细安装、数据集、任务、模型与编码说明见对应参考文件。