[ PROMPT_NODE_27092 ]
pyhealth
[ SKILL_DOCUMENTATION ]
# PyHealth:医疗 AI 工具包
## 概述
PyHealth 是一个综合性的医疗 AI Python 库,为临床机器学习提供专门的工具、模型和数据集。在开发医疗预测模型、处理临床数据、使用医学编码系统或在医疗环境中部署 AI 解决方案时,请使用此技能。
## 何时使用此技能
在以下情况调用此技能:
- **处理医疗数据集**:MIMIC-III、MIMIC-IV、eICU、OMOP、睡眠 EEG 数据、医学图像
- **临床预测任务**:死亡率预测、医院再入院、住院时长、药物推荐
- **医学编码**:在 ICD-9/10、NDC、RxNorm、ATC 编码系统之间进行转换
- **处理临床数据**:序列事件、生理信号、临床文本、医学图像
- **实现医疗模型**:RETAIN、SafeDrug、GAMENet、StageNet、用于 EHR 的 Transformer
- **评估临床模型**:公平性指标、校准、可解释性、不确定性量化
## 核心能力
PyHealth 通过针对医疗 AI 优化的模块化 5 阶段流水线运行:
1. **数据加载**:通过标准化接口访问 10+ 个医疗数据集
2. **任务定义**:应用 20+ 个预定义的临床预测任务或创建自定义任务
3. **模型选择**:从 33+ 个模型中选择(基准模型、深度学习、医疗专用模型)
4. **训练**:通过自动检查点、监控和评估进行训练
5. **部署**:进行校准、解释和临床使用验证
**性能**:医疗数据处理速度比 pandas 快 3 倍
## 快速入门工作流
python
from pyhealth.datasets import MIMIC4Dataset
from pyhealth.tasks import mortality_prediction_mimic4_fn
from pyhealth.datasets import split_by_patient, get_dataloader
from pyhealth.models import Transformer
from pyhealth.trainer import Trainer
# 1. 加载数据集并设置任务
dataset = MIMIC4Dataset(root="/path/to/data")
sample_dataset = dataset.set_task(mortality_prediction_mimic4_fn)
# 2. 拆分数据
train, val, test = split_by_patient(sample_dataset, [0.7, 0.1, 0.2])
# 3. 创建数据加载器
train_loader = get_dataloader(train, batch_size=64, shuffle=True)
val_loader = get_dataloader(val, batch_size=64, shuffle=False)
test_loader = get_dataloader(test, batch_size=64, shuffle=False)
# 4. 初始化并训练模型
model = Transformer(
dataset=sample_dataset,
feature_keys=["diagnoses", "medications"],
mode="bina