PAPER METHOD / CLINICAL EXPLAINER
MI-GNN:心梗风险预测
面向临床阅读的模型方法地图,按数据处理、模型训练和预测测试组织完整流程。
本研究将患者记录表示为患者级图节点,以 111 项输入变量构建静态与时序特征。短期分支使用 CNN 捕捉相邻观测的局部变化,长期分支使用 GRU 保留跨时间依赖;Cross-attention 融合多源表示,DA-KNN 建立患者邻居关系,GNN 通过消息传递更新节点表示,最终分别输出 11 个并发症风险概率与生存概率。
patient-level graphmulti-label predictiontemporal branches
12outcomes
one patient
one graph node
MODEL TASK / INPUT → OUTPUT
→
房颤室速 / 室颤肺水肿再发心梗生存概率
111临床特征人口学、病史、实验室、ECG 与治疗信息
12预测标签11 个并发症 + 生存概率
300论文训练 epoch论文实验配置 · batch size 64
01 / THREE-LAYER METHOD MAP
数据 → 训练 → 预测测试
DATA · TRAIN · INFERENCE
01DATA PROCESSING
数据处理
把公开临床表格变成可输入模型的患者表示。
INPUT → FEATURES
→
→
→
EVIDENCE / LOCAL MATERIALS
02MODEL TRAINING
模型训练
训练阶段学习权重,让每个患者节点获得可传播的表示。
LEARNABLE WEIGHTS
→
→
→
→
EVIDENCE / LOCAL MATERIALS
03INFERENCE & TESTING
预测与测试
训练好模型后,新患者只需要走一遍前向计算。
NEW PATIENT → RISK
→
→
→
→
EVIDENCE / LOCAL MATERIALS
MODEL USE / LOCAL INFERENCE
模型使用
上传一份患者 CSV,复用训练好的 MI-GNN 模型,输出 11 个并发症风险概率与生存概率。
正在连接本地推理服务
111 inputs
12 outcomes
模型预测由本地 Python 服务加载 final_model.pt 完成。
CSV→PREPROCESS→GRAPH→12 PROBABILITIES
INPUT SCHEMA / 111 FEATURES
模型读入的患者特征
上传 CSV 时不需要手动填写这些字段,但每位患者需要遵循同一套输入结构。
A入院与基础信息年龄、性别、既往史、心绞痛、血压与心衰表现
AGESEXINF_ANAMGB
B检查与治疗状态ECG、血液生化、实验室指标和住院期间治疗记录
ECGK / Na血液指标用药状态
C72 小时动态观测前三天的观测值,以及日间差值、均值和线性回归斜率
day2 − day1day3 − day2mean / slope
模型输出12 个独立风险概率每个结局都有自己的概率和分类阈值:11 个并发症 + 生存概率。
OPTIONAL / CUSTOM CHECKPOINT
使用自己训练的模型
这里只需要上传训练页生成的自包含 final_model.pt。上传后,下面的 CSV 预测会真实调用该模型,而不是内置模型;两个 JSON 不需要再次上传。
当前使用内置模型
示例文件使用训练期中位数填充,可直接下载后修改。
输入规则:文件可包含 ID 列;缺失输入会按训练期统计量补值,不会在新患者上重新拟合。
03 / PREDICTION OUTPUT
患者风险概率
模型输出将在这里显示。
READY
0 位患者概率范围:0–1 · 标签阈值沿用训练结果
MODEL TRAINING / USER DATA
模型训练
用你自己的 MI 患者数据重新训练模型。页面会按论文实验设置组织数据、交叉验证和训练产物;训练任务非常耗时,请先准备好稳定的计算环境。
论文配置
5 folds × 10 runs
300 epochs
batch size 64
01 / TRAINING DATA
上传自己的数据集
CSV / LABELLED EHR
选择文件后将提交到本机后台,真实执行数据校验、交叉验证和最终模型训练。
数据量要求:建议至少 200 条患者记录。batch_size 默认为 64,数据太少会导致批次不足或交叉验证分层失败。
重要:如果你的数据字段、标签定义或时间窗口不同,不能直接套用论文模型,需要先重新设计数据适配和标签映射。
02 / PAPER CONFIGURATION
论文训练参数
REFERENCE SETUP
交叉验证5 folds分层交叉验证
独立运行10 runs每次重新初始化
训练轮数300 epochs论文上限
批次大小64batch size
优化器AdamWlr 1e−3 · wd 2e−3
学习率调度ReduceLROnPlateaufactor 0.5 · patience 15
损失函数Focal Lossα 0.5 · γ 2 · smoothing 0.05
图结构DA-KNNkmin 5 · kmax 25
03 / TRAINING PIPELINE
训练任务会依次经过这些步骤
本地后台真实训练任务
01字段校验111 特征 + 12 标签
→
02预处理中位数、72 h 派生、z-score
→
035-fold × 10每个 fold 重新训练
→
04评估AUC、accuracy、F1、recall
→
05导出模型权重 + 配置文件
04 / LIVE JOB STATUS
训练任务状态
尚未提交
选择训练 CSV 后点击"开始真实训练",后台才会创建任务。
⚠️ 请保存此 Job ID,关闭页面后需要它来查询结果
Job ID:
04-B / HISTORY LOOKUP
查询历史训练任务
输入 ID 查询
关闭页面后训练仍在服务器后台继续。用提交时获得的 job_id 回来查看结果和下载模型。
05 / OUTPUT ARTIFACTS
训练完成后应该保存什么?
final_model.ptPyTorch 模型权重和网络状态,用于之后加载模型。
model_metadata.json可读的输入列、标签顺序、模型结构和训练配置记录,不是额外的模型文件。
preprocessing_stats.json可读的预处理参数备份;实际推理所需参数已经同步写入 final_model.pt。