ManvithMogaveera/Sepsis-Early-Detection-using-Machine-Learning-on-Real-ICU-Patient-Data

GitHub: ManvithMogaveera/Sepsis-Early-Detection-using-Machine-Learning-on-Real-ICU-Patient-Data

基于真实 ICU 时序数据与 XGBoost 的败血症早期预测系统,通过防泄露预处理和不平衡学习实现临床风险预警。

Stars: 1 | Forks: 0

# 🚑 SepsisSense:使用时序机器学习进行 ICU 败血症早期预测 ![Python](https://img.shields.io/badge/Python-3.11-blue?style=for-the-badge\&logo=python) ![XGBoost](https://img.shields.io/badge/XGBoost-ML_Model-orange?style=for-the-badge) ![Streamlit](https://img.shields.io/badge/Streamlit-Deployed_App-red?style=for-the-badge\&logo=streamlit) ![医疗保健 AI](https://img.shields.io/badge/Domain-Healthcare_AI-green?style=for-the-badge) ![状态](https://img.shields.io/badge/Project-Production_Ready-success?style=for-the-badge) # 📌 问题陈述 败血症是重症监护室(ICU)内导致死亡的主要原因之一。延误发现可能会迅速导致: * 器官衰竭 * 败血性休克 * 多器官功能障碍 * ICU 死亡率增加 传统的诊断通常发生在生理机能严重恶化之后。本项目侧重于利用机器学习和时序临床数据,在发生危急恶化之前协助识别败血症的早期预警信号。 #🔗网站 https://sepsissense.streamlit.app/ 请务必访问! # 🧠 项目概述 SepsisSense 是使用包含超过 **150 万份患者记录** 的大规模真实 ICU 数据集开发的,包含以下时序生理指标测量数据: * 心率 (HR) * 血压 (MAP/SBP/DBP) * 呼吸频率 * 血氧饱和度 * 实验室生物标志物 * ICU 病程数据 该系统执行: * 防止数据泄露的按患者预处理 * 时序特征工程 * 针对 ICU 稀疏数据的缺失值处理 * 使用 XGBoost 进行感知不平衡的分类 * 通过 Streamlit 部署进行实时风险预测 # ⚙️ 核心功能 ## ✅ 时序医疗保健预处理 * 按患者进行插值 * 临床测量的前向填充 * 防止数据泄露的 GroupShuffleSplit 验证 * 针对 ICU 实验室检查的稀疏特征处理 ## ✅ 临床特征工程 设计了具有医学意义的特征,例如: * 休克指数 * 脉压 * 滚动平均值统计 * 生理趋势差分 * HR × 体温交互作用 ## ✅ 不平衡学习策略 * 通过以下方式处理严重的类别不平衡: * `scale_pos_weight` * 面向 Recall 的评估 * 阈值优化 ## ✅ 具备实时预测能力 * 由 Streamlit 驱动的交互式仪表板 * 实时败血症风险概率预测 * 临床决策支持风格的输出 # 📊 模型性能 | 指标 | 分数 | | ---------------- | ------------------------------ | | ROC-AUC | **0.825** | | 败血症 Recall | **68%** | | 优化后的 Recall | **90%** | | 数据集大小 | **~150 万条 ICU 记录** | ### 📌 临床解释 该模型优先考虑**高 Recall**,以降低漏诊败血症患者的概率,这在延误治疗可能危及生命的真实医疗保健场景中至关重要。 # 🧪 技术栈 ``` Python Pandas NumPy Scikit-learn XGBoost Matplotlib Streamlit ``` # 📁 项目结构 ``` SepsisSense/ │ ├── app.py ├── preprocessing.py ├── model_1.py ├── EDA_analysis.ipynb ├── requirements.txt ├── README.md ├── LICENSE └── images/ ``` # 📷 项目可视化 ## 🖥 Streamlit 仪表板 ## 📈 ROC 曲线 (在此处添加 ROC 曲线图像) ## 📊 特征重要性 (在此处添加特征重要性图表) ## 🧾 混淆矩阵 (在此处添加混淆矩阵图像) # 🚀 安装 ``` git clone https://github.com/ManvithMogaveera/Sepsis-Early-Detection-using-Machine-Learning-on-Real-ICU-Patient-Data.git cd SepsisSense pip install -r requirements.txt ``` # ▶️ 运行应用程序 ``` streamlit run app.py ``` # 🔬 数据集 使用的数据集: **PhysioNet / Computing in Cardiology 败血症挑战赛数据集** 由于数据集大小和许可限制,原始数据集未上传到此仓库。 # 🌍 现实影响 本项目展示了机器学习如何协助医疗保健专业人员进行: * 早期重症监护风险检测 * 持续的 ICU 患者监测 * 临床决策支持系统 * 减少败血症的延误诊断 该流程在设计时特意采用了医疗保健安全的预处理和防止数据泄露的技术,以更好地模拟真实世界的 ICU 部署场景。 # 📌 未来改进 * 集成 SHAP 可解释性 * 实时 ICU 监测支持 * Transformer/LSTM 时序模型 * 云端部署 * 实时临床警报系统 # 👨‍💻 作者 ### Manvith Mogaveera 专注于以下领域的 AI 与机器学习爱好者: * 医疗保健 AI * 临床 ML 系统 * 真实世界的智能应用 * 时序机器学习 ⭐ 如果您觉得这个项目有趣,请考虑为本仓库加星。
标签:Apex, Kubernetes, Streamlit, XGBoost, 医疗人工智能, 数据预处理, 时间序列分析, 机器学习, 脓毒症预测, 访问控制, 逆向工具, 重症监护