# XSHAP-CDRIS **Repository Path**: bcnlsn/xshap-cdris ## Basic Information - **Project Name**: XSHAP-CDRIS - **Description**: 基于 XGBoost 与 SHAP 的社区糖尿病风险分层与干预决策支持系统——面向基层慢性病早筛 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-14 - **Last Updated**: 2026-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于 XGBoost 与 SHAP 的社区糖尿病风险分层与干预决策支持系统 面向基层慢性病早筛的数据挖掘课程期末项目。 ## 一、系统简介 基层社区慢性病早筛存在 **患病人群基数大、社区医生人手有限** 的痛点。本系统以机器学习为核心,为社区医生提供 **"风险分层 → 归因解释 → 干预建议"** 的完整决策支持闭环: 1. **数据获取与预处理**:Pima Indians Diabetes 公开数据集,缺失值/异常值处理、衍生特征、SMOTE 过采样、标准化、分层划分; 2. **算法建模**:逻辑回归(基线)、随机森林、XGBoost 三模型对比,XGBoost 网格搜索调参,以 AUC 选型; 3. **可解释分析**:SHAP 全局蜂群图 + 单样本 Waterfall 解释,明确"为什么判为高风险"; 4. **决策支持**:低/中/高三级风险分层(阈值可调),规则引擎结合 SHAP 归因生成个体化干预建议; 5. **Web 界面**:Streamlit 实现 7 个功能页面,含单条预测与批量打分导出。 ## 二、环境要求 - Python ≥ 3.10(开发环境:Python 3.14,Windows 11) - 依赖安装: ```bash pip install -r requirements.txt ``` ## 三、运行步骤 ```bash # 1. 数据获取与预处理(自动下载 Pima 数据集,生成清洗数据 + 预处理报告) python preprocess.py # 2. 模型训练与评估(三模型对比 + 网格搜索,生成评估图) python train.py # 3. SHAP 全局解释(生成蜂群图、特征贡献图) python shap_analysis.py # 4. 启动 Web 系统 streamlit run app.py ``` > 说明:只运行第 4 步也可以——系统会自动触发预处理与训练;但首次训练约需 1-3 分钟,建议先单独跑 1-3 步。 ## 四、目录结构 ``` ├── app.py # Streamlit 系统界面(成员4) ├── preprocess.py # 数据获取与预处理(成员2) ├── train.py # 算法建模与评估(成员3) ├── shap_analysis.py # SHAP 解释 + 干预建议规则引擎(成员3) ├── requirements.txt # 依赖清单(成员5) ├── 数据说明.txt # 数据来源与字段说明(成员2) ├── README.md # 本文件(成员5) ├── data/ # 原始数据、清洗数据、预处理报告 │ ├── pima_diabetes_raw.csv │ ├── pima_diabetes_clean.csv │ └── preprocess_report.txt ├── models/ # 模型与中间产物 │ ├── scaler.pkl # 标准化器 │ ├── best_model.pkl # 最优模型(含模型名、特征列) │ └── metrics.json # 评估指标 ├── outputs/figures/ # 评估与解释图(ROC、混淆矩阵、SHAP 图等) └── docs/ # 报告素材(截图、测试记录等,由成员5维护) ``` ## 五、风险分层标准 | 层级 | 预测概率 | 干预措施 | |------|---------|---------| | 🟢 低风险 | < 0.3 | 常规健康管理,每年随访 1 次血糖 | | 🟠 中风险 | 0.3 ~ 0.6 | 社区重点随访,每 3-6 个月复查血糖/OGTT,饮食运动处方 | | 🔴 高风险 | ≥ 0.6 | 2 周内转诊上级医院内分泌科,强化干预,家庭医生重点随访 | 阈值可在系统"风险分层预测"页面调节。 ## 六、数据来源 Pima Indians Diabetes Dataset(美国国立糖尿病、消化和肾脏疾病研究所,768 条样本)。 获取 URL:`https://raw.githubusercontent.com/npradaschnor/Pima-Indians-Diabetes-Dataset/master/diabetes.csv` 详细字段说明见 `数据说明.txt`。 ## 七、免责声明 系统输出仅供社区筛查与随访参考,不构成临床诊断依据。