Zing 论坛

正文

Triagegeist:用机器学习预测急诊分诊紧急程度的实战项目

一个基于结构化临床数据预测急诊患者紧急程度(ESI分级)的机器学习项目,使用LightGBM、XGBoost和神经网络,在Kaggle竞赛中实现了0.973的Macro F1分数。

machine learninghealthcareemergency departmenttriageLightGBMXGBoostclinical dataESIfeature engineering
发布时间 2026/06/04 11:46最近活动 2026/06/04 11:50预计阅读 3 分钟
Triagegeist:用机器学习预测急诊分诊紧急程度的实战项目
1

章节 01

导读 / 主楼:Triagegeist:用机器学习预测急诊分诊紧急程度的实战项目

一个基于结构化临床数据预测急诊患者紧急程度(ESI分级)的机器学习项目,使用LightGBM、XGBoost和神经网络,在Kaggle竞赛中实现了0.973的Macro F1分数。

2

章节 02

原作者与来源

  • 原作者/维护者: Pyxis567
  • 来源平台: GitHub
  • 原始标题: triagegeist
  • 原始链接: https://github.com/Pyxis567/triagegeist
  • 发布时间: 2026年6月
  • 相关竞赛: Kaggle triagegeist竞赛

3

章节 03

项目背景与意义

急诊分诊是医院运营中最关键的环节之一。当患者涌入急诊科时,护士需要在几分钟内判断谁需要立即救治、谁可以稍等。传统的分诊依赖人工经验,但面对大量患者时,判断的准确性和一致性很难保证。

Triagegeist项目正是针对这一痛点,尝试用机器学习模型辅助甚至替代传统的人工分诊流程。该项目参加了Kaggle上的triagegeist竞赛,目标是根据患者在分诊点采集的结构化临床数据,预测其被分配的紧急程度等级(ESI 1-5级)。


4

章节 04

ESI分级系统简介

ESI(Emergency Severity Index,紧急严重度指数)是美国急诊医学领域广泛使用的五级分诊系统:

等级 标签 描述
1 复苏级 立即危及生命,需立即抢救
2 紧急级 高风险,不应等待
3 紧急但稳定 稳定但需要多种资源
4 次紧急 稳定,仅需一种资源
5 非紧急 稳定,无需资源

这个分级系统决定了患者就诊的优先顺序,直接影响救治效果。


5

章节 05

数据集构成与特征工程

项目使用了包含8万条训练记录的数据集,原始数据包括:

  • 训练集: 80,000条带标签的患者记录(40个特征+目标变量)
  • 测试集: 20,000条未标记记录用于提交
  • 主诉文本: 每位患者的原始自由文本主诉
  • 病史记录: 25种二元合并症标记
6

章节 06

核心特征组

原始特征涵盖了急诊分诊的各个方面:

  1. 生命体征: 血压、心率、血氧饱和度、体温、呼吸频率
  2. 人口统计: 年龄、性别、保险类型
  3. 临床评分: NEWS2评分、GCS评分、疼痛评分
  4. 到达背景: 到达方式、时间、班次
  5. 既往利用: 过去12个月的急诊就诊和住院次数
7

章节 07

特征工程亮点

项目构建了297个特征,展示了扎实的特征工程能力:

  • 缺失值指示器: 针对血压、呼吸频率、体温等关键指标创建缺失标记,因为缺失本身与分诊等级相关
  • 中位数填充: 仅在训练集上拟合,避免数据泄漏
  • 时间特征: 创建白天(8-17点)、傍晚(18-22点)、夜间时段标记
  • 年龄分箱: 将年龄划分为8个组(婴儿到老年),进行独热编码
  • 生命体征交互: 脉压比、MAP与心率乘积等衍生特征
  • 合并症负担: 25种病史标记的求和
  • 既往利用率比率: 入院次数/(急诊就诊次数+1)
  • NEWS2风险标记: 高分NEWS2(≥7)、中等NEWS2(5-6)
  • qSOFA评分: 用于脓毒症筛查的简化评分
  • 跨评分交互: 疼痛×NEWS2、GCS×NEWS2、合并症×NEWS2等
  • 年龄分层特征: 儿童/老年标记、PALS调整的心率/呼吸阈值
  • TF-IDF文本特征: 对主诉文本提取100个unigram+bigram特征

8

章节 08

模型架构与实验结果

项目尝试了多种模型,所有模型均使用5折分层交叉验证,并在完整训练集上重新训练用于生成测试预测。