Fahad-Mutlaq/XAI-Diabetes-Prediction

GitHub: Fahad-Mutlaq/XAI-Diabetes-Prediction

一个基于 XGBoost 与 SHAP 的可解释 AI 糖尿病早期筛查框架,通过优化临床敏感度并提供透明的诊断依据来解决医疗预测模型不可信的问题。

Stars: 0 | Forks: 0

使用可解释 AI (XAI) 进行糖尿病风险早期预测

Python Google Colab XGBoost SHAP Saudi Vision 2030

一个安全、基于云的预测框架,利用可解释人工智能 (XAI) 通过 临床偏置 XGBoost 引擎提供高敏感度、透明且临床安全的早期糖尿病风险评估。

View Report Download PDF

## 项目概述 本代码库包含了一个用于早期糖尿病筛查的先进预测分析框架的完整实现与文档。该项目作为 Qassim University 的毕业设计开发,该框架摆脱了传统的“黑盒”机器学习方式,将数学可解释性直接融入临床核心,使医疗专业人员能够审计、信任并根据自动化的风险评估采取行动。 ### 核心能力 * **临床安全至上:** 采用经过深度优化的分类阈值 (0.295),实现了卓越的 **96.41% Recall (敏感度)**,以优先保障患者安全并最大程度减少漏诊。 * **透明的诊断:** 集成了 SHAP (SHapley Additive exPlanations),将复杂的算法输出分解为人类可读的医疗依据。 * **云原生开发:** 在自动化的云计算 pipeline 中完成了完全的训练、审计与安全优化。 * **预防性医疗:** 量身定制以契合沙特 2030 愿景中积极主动的数字化医疗保健目标。 ## 代码库结构 本项目按照企业级的布局原则进行结构设计,以分离源代码、文档和资产文件: * `data/` — 包含用于训练的、经过清洗和预平衡的横断面调查数据集。 * `docs/` — 包含全面且达到可发布标准的项目报告 (`XAI-Diabetes-Prediction-Report.pdf`)。 * `assets/images/` — 存放所有高分辨率的可视化文档、pipeline 以及 SHAP 输出图表。 * `main.py` — 核心分析 pipeline 脚本,包含数据获取、XGBoost 优化和 SHAP 执行。 * `requirements.txt` — 明确的环境依赖定义文件。 ## 云基础设施与安全侧重点 (CIA 三要素) 作为一项信息技术倡议,在数据解析和处理阶段,处理敏感的公共健康信息要求严格遵守现代网络安全和安全开发实践: * **数据机密性与匿名化:** 在获取数据之前,通过程序化丢弃不需要的地理字段(例如 'Region')对数据进行了清洗。这严格缓解了基于位置的推断攻击和人口统计分析,保障了基准的用户隐私。 * **完整性与算法审计:** SHAP 框架的集成起到了至关重要的技术审计作用。通过追踪特征的全局确切归因,我们主动验证了模型没有吸收“Data Poisoning”痕迹或扭曲的历史采样异常(例如身体活动指数的技术采样悖论)。 * **环境隔离:** 模型执行在隔离且安全的云 runtime 中处理,将库版本(`xgboost`、`shap`、`scikit-learn`)与主机漏洞分离开来,同时确保不可变的状态追踪。 ## 系统架构 该框架遵循模块化的 pipeline,获取特征,在成本敏感的矩阵下处理数据,并将结果映射到双层可解释性引擎。
System Architecture Pipeline
Figure 1: Comprehensive Data Processing, Cloud-Modeling, and Validation Layer Architecture.
## 预测性能与临床验证 标准的机器学习配置会平衡总体准确率(默认 0.50 阈值),这在医疗环境中可能导致高危险性的 False Negatives。该框架经过精心优化,以实现最大的临床覆盖率: | 指标 | 分数 | 临床 / 运营意义 | | :--- | :--- | :--- | | **Recall (敏感度)** | **96.41%** | 几乎能捕捉到每一位高风险患者,将漏诊的临床病例降至最低 (FN = 1.8%)。 | | **AUC-ROC Score** | **88.21%** | 具有卓越的统计能力,能够将真实的糖尿病风险因素与健康基线区分开来。 | | **F1-Score** | **83.62%** | 展示了在平衡特征集上的严密算法稳定性。 | | **Overall Accuracy** | **81.13%** | 为了解锁超高的 Recall 性能而刻意接受的合理结构性权衡。 | ## 可解释 AI (XAI) 输出报告 系统自动将数学数据分布映射为独特的、临床级别的解读面板:
Global SHAP Summary

Global Risk Factors (Population Level)
Identifies and ranks the leading clinical risk vectors (e.g., Smoking, Inactivity) across the aggregate population.
Local SHAP Patient Report

Local Patient Diagnostics (Individual Level)
Provides a personalized "second-opinion" vector for Patient #345. Red bars denote expanding risk indicators; Green indicates protective attributes.
## 工程挑战与战略解决方案 * **“黑盒”困境:** 高级集成网络本身并不提供解释路径,阻碍了监管层面的临床部署。
解决方案: 将专用的 `TreeExplainer` 直接绑定到模型结构中,计算确切的 Shapley 值,以满足严格的透明度要求。 * **类不平衡现实:** 公共卫生数据包含了绝大多数的非糖尿病报告。
解决方案: 在训练配置中原生地传入成本敏感向量 (`scale_pos_weight = 1.3`),重罚漏诊情况而不增加合成畸变。 * **运营阈值设定:** 由于方差影响,标准的 0.5 分界点会错误分类高风险糖尿病患者。
解决方案: 执行了穷举式的 Precision-Recall 步骤优化,覆盖基线配置以硬编码目标为 `0.295` 的临床阈值。 ## 快速开始 (部署与验证) ### 前置条件 * **环境:** Google Colab、Jupyter Notebook 或本地化的 Python IDE。 * **核心语言:** Python 3.x * **所需环境:** 直接在 `requirements.txt` 中列出的库。 ### 执行 Pipeline 1. 将项目环境结构克隆到您的工作区: git clone [https://github.com/Fahad-Mutlaq/XAI-Diabetes-Prediction.git](https://github.com/Fahad-Mutlaq/XAI-Diabetes-Prediction.git) cd XAI-Diabetes-Prediction 2. 即时安装指定的库版本: pip install -r requirements.txt 3. 运行主要建模脚本或逐步的 Notebook 结构以评估指标,并重新生成局部/全局的 SHAP 图表: python main.py ## 未来路线图 (可扩展性与云端演进) 为了弥合学术原型与企业医院整合之间的差距: 1. **容器化的 API Gateway 部署:** 将 Python pipeline 封装在安全的 **Docker 容器**中,并通过 **AWS API Gateway** 或 Azure 端点利用现代 TLS 1.3 加密进行扩展。 2. **实时 EHR 获取:** 通过专用的、由 IAM 控制的私有获取适配器,将模型组件直接连接到 Electronic Health Record (EHR) 数据库流。 3. **优化的 Edge 推理:** 通过 TensorRT/ONNX runtime 编译最终确定的 XGBoost 结构,以便在气隙隔离的**医院 Edge 设备**上本地执行,防止关键患者数据在开放的公共网络连接中泄露。 ## 项目团队与学术背景 于 **Qassim University**(信息技术系)开发 **最终成绩:** A+ ### IT 工程团队 * **[Fahad Alharbi](https://www.linkedin.com/in/fahad-mu-alharbi)** * **Abdulmajeed Abalkhail** * **Abdullah Altuwaijri** * **Abdulmohsen Aleid** ### 学术指导 * **Manal Alghaith 博士** ## 许可证 本项目的编制纯粹出于学术研究、验证和教育作品集应用的目的。在处理实时的公共患者分析之前,请务必确保严格遵守全球医疗指南和法定数据法案(例如 HIPAA)。 ## 联系交流 无论您是有兴趣合作、对安全的 ML pipeline 有疑问,还是想讨论创新的 IT 医疗保健解决方案——请随时直接联系!

Outlook Contact LinkedIn Connect

标签:Python, XGBoost, 人工智能, 医疗健康, 可解释AI, 无后门, 用户模式Hook绕过, 疾病预测, 逆向工具