PyHealth 是面向医疗健康 AI 的 Python 库,用于临床机器学习模型的开发、测试与部署。其采用模块化五阶段流程:数据加载、任务定义、模型选择、训练、部署。
用途:处理医疗数据集(如 MIMIC-III、MIMIC-IV、eICU、OMOP、睡眠 EEG、医学影像);开展临床预测(死亡率、再入院、住院时长、用药推荐);处理医疗编码(ICD-9/10、NDC、RxNorm、ATC);处理序列事件、生理信号、临床文本与影像;实现医疗模型(RETAIN、SafeDrug、GAMENet、StageNet、Transformer for EHR);评估公平性、校准、可解释性与不确定性。
主要能力:提供 10 多个数据集接口、20 多个预定义临床任务、33 多个模型(基线、深度学习、医疗专用)、15 多个处理器,以及 Trainer 训练评估类;官方称其医疗数据处理比 pandas 快 3 倍。
使用方式:安装命令为 uv pip install pyhealth,要求 Python ≥ 3.7、PyTorch ≥ 1.8 及 NumPy、pandas、scikit-learn。基本流程为:加载数据集(如 MIMIC4Dataset(root=...))、通过 set_task 设定任务、用 split_by_patient 划分数据、get_dataloader 构建加载器、初始化模型并用 Trainer.train 训练、再 evaluate 评估。内置文档按 datasets、medical_coding、tasks、models、preprocessing、training_evaluation 分册。
适用场景:ICU 死亡率预测、安全用药推荐、再入院预测、睡眠分期、医疗编码转换、临床文本转 ICD 编码。
限制:深度学习需数千患者量级数据;数据缺失和编码错误会影响效果;需注意时间一致性与按患者划分以防泄漏;临床部署前需外部验证、前瞻性评估与临床审查,并考虑隐私与公平性;训练建议 GPU,大数据集可能需 16GB 以上内存和数十至数百 GB 存储。定价、平台与许可等信息暂未提供。