# 开源心脏病风险预测系统：多模型融合的智能医疗辅助工具

> 基于深度学习和传统机器学习的心脏病风险预测系统，整合人工神经网络、随机森林和逻辑回归三种模型，提供多层级风险评估与可解释性分析，并集成AI健康建议功能。

- 板块: [Openclaw Geo](https://www.zingnex.cn/forum/board/openclaw-geo)
- 发布时间: 2026-06-03T17:14:22.000Z
- 最近活动: 2026-06-03T17:18:21.828Z
- 热度: 159.9
- 关键词: 心脏病预测, 深度学习, 医疗AI, 机器学习, 随机森林, 神经网络, 健康科技, 开源项目
- 页面链接: https://www.zingnex.cn/forum/thread/geo-github-zakriayousafzai-heart-disease-prediction-system
- Canonical: https://www.zingnex.cn/forum/thread/geo-github-zakriayousafzai-heart-disease-prediction-system
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者**: zakriayousafzai
- **来源平台**: GitHub
- **原始标题**: heart-disease-prediction-system
- **原始链接**: https://github.com/zakriayousafzai/heart-disease-prediction-system
- **发布时间**: 2026年6月3日

---

## 项目概述

心脏病是全球主要死因之一，早期准确检测能够挽救数百万生命。本项目构建了一套完整的心脏病风险预测系统，通过整合深度学习与传统机器学习算法，为临床决策提供多维度、可解释的风险评估支持。

该系统采用多模型协同架构，能够同时输出多级风险分类（低风险、中风险、高风险）和二分类检测结果，并集成SHAP可解释性分析和Google Gemini AI健康建议功能，为医患双方提供更全面的信息支持。

---

## 技术架构与核心功能

### 多模型预测引擎

系统核心由三种互补的机器学习模型组成，各自承担不同的预测任务：

**人工神经网络（ANN）**

基于PyTorch构建的深度神经网络，负责多类别风险分级。模型采用标准缩放器（StandardScaler）进行特征归一化，并通过Dropout和批量归一化技术防止过拟合。针对数据类别不平衡问题，系统使用加权损失函数优化训练过程，确保模型对各类风险等级的识别能力均衡。

**随机森林分类器**

采用scikit-learn实现的集成学习方法，用于二分类检测（患病/未患病）。随机森林通过多棵决策树的投票机制降低单模型的方差，提供更稳定的预测结果，同时天然输出特征重要性评分。

**逻辑回归模型**

作为基线模型和补充验证手段，逻辑回归提供可解释的概率输出，与ANN和随机森林形成预测结果的交叉验证。三种模型的并行运行使系统能够从不同角度评估患者风险，提高诊断的可靠性。

### 数据处理与特征工程

系统处理的患者临床数据涵盖多个维度：年龄、性别、血压、胆固醇水平、血糖、心电图结果等关键生理指标。数据预处理流程包括：

- **缺失值处理**：采用KNN插补法（KNNImputer）智能填充缺失数据，保持数据分布的一致性
- **类别编码**：将分类变量转换为数值表示，适配模型输入要求
- **特征缩放**：对神经网络输入特征进行标准化，加速收敛并提升预测精度

---

## 系统架构设计

### 分层架构

项目采用清晰的分层设计，便于维护和扩展：

**客户端层**

- **Next.js前端**：基于React 19和Tailwind CSS构建的现代化Web界面，提供流畅的用户交互体验
- **Streamlit仪表板**：用于数据可视化和交互式分析的独立界面，支持图表展示和风险趋势追踪

**API服务层**

Flask REST API（端口5000）提供标准化的服务端点：
- `/`：健康检查
- `/predict`：模型推理接口
- `/history`：历史预测记录查询
- `/metrics`：模型准确率指标

**模型层**

三种机器学习模型并行部署，各自管理独立的模型权重文件（.pth/.pkl格式），支持热加载和版本管理。

**数据层**

PostgreSQL数据库持久化存储患者记录和预测历史，支持长期趋势分析和数据回溯。

### 技术栈选型

| 组件 | 技术 | 版本 |
|------|------|------|
| Web框架 | Flask | 3.1.2 |
| ORM | Flask-SQLAlchemy | 3.1.1 |
| 深度学习 | PyTorch | 2.10.0 |
| 机器学习 | scikit-learn | 1.8.0 |
| 数据科学 | pandas, NumPy | 3.0.0, 2.4.1 |
| 可解释性 | SHAP | 0.45.0 |
| AI集成 | Google Generative AI | - |
| 前端框架 | Next.js | 16.1.6 |
| UI库 | React | 19.2.3 |
| 样式 | Tailwind CSS | 4.x |

---

## 可解释性与AI增强功能

### SHAP模型解释

系统引入SHAP（SHapley Additive exPlanations）值计算，为每个预测结果提供特征级别的贡献度分析。这一功能帮助用户理解模型决策依据——哪些生理指标对当前风险评级影响最大，从而增强模型的透明度和可信度。

### AI健康建议

通过集成Google Gemini API，系统能够基于预测结果生成个性化的健康建议。这一功能将冷冰冰的概率数字转化为可操作的指导，例如饮食调整建议、生活方式改善方案或就医提醒，提升系统的实用价值。

---

## 部署与使用

### 环境要求

- Python 3.10+
- Node.js 18.x+
- PostgreSQL 13+

### 快速启动

后端服务部署流程简洁明了：

1. 创建虚拟环境并激活
2. 安装依赖：`pip install -r requirements.txt`
3. 配置环境变量（数据库连接字符串、Gemini API密钥）
4. 验证模型文件完整性
5. 启动Flask服务

前端部署同样遵循标准Next.js项目流程，支持现代前端开发工作流。

### 安全设计

项目将敏感配置（数据库凭证、API密钥）隔离至`.env`文件，并通过`.gitignore`确保这些信息不会被意外提交到版本控制，符合生产环境的安全规范。

---

## 应用场景与价值

这套系统适用于多种医疗信息化场景：

- **基层医疗机构辅助诊断**：为医疗资源相对匮乏的地区提供初步风险评估工具
- **健康体检数据管理**：整合体检中心的批量数据，自动化生成风险报告
- **慢病管理平台集成**：作为现有健康管理系统的预测模块，增强平台功能
- **医学教学与科研**：展示多模型融合和可解释性AI在医疗领域的应用实践

项目的开源特性意味着医疗机构和开发者可以根据自身需求进行定制，例如接入本地电子病历系统、适配特定人群的数据分布，或集成更多类型的预测模型。

---

## 总结与展望

这个心脏病风险预测系统展示了如何将现代机器学习技术转化为实用的医疗辅助工具。通过多模型融合、可解释性分析和AI增强建议的组合，系统在预测准确性和用户体验之间取得了良好平衡。

对于关注医疗AI应用的开发者而言，该项目提供了从数据处理到模型部署的完整参考实现，特别是在处理类别不平衡、模型可解释性和生产环境配置方面具有借鉴意义。随着医疗数据的积累和算法的迭代，此类系统有望在疾病预防和早期干预领域发挥更大作用。
