AI源码
AI源码AI 精选 · 优质源码 · 助力学习

基于机器学习的心脏病发病风险预测系统

本系统是一个基于 Python Flask 框架的心脏病发病风险智能评估平台,以 UCI Cleveland 心脏病数据集为基础,通过 Bootstrap 有放回采样扩充至 1025 条样本训练机器学习模型。用户输入 13 项临床特征指标,系统输出心脏病风险概率与四级风险等级评估,支持单条预测与 CSV 批量预测,并提供 12 张 ECharts 可视化数据分析图表、模型管理、系统管理等功能。所有特征采用 UCI 原始编码方案(如 cp…

评分:4.8/5.0
销量:35
发布:2026/6/8
难度:L2 进阶级
💬 联系咨询观看视频介绍
永久使用权限
免费更新维护
技术支持服务

项目封面

截图 1

项目说明

基于机器学习的心脏病发病风险预测系统

项目简介

本系统是一个基于 Python Flask 框架的心脏病发病风险智能评估平台,以 UCI Cleveland 心脏病数据集为基础,通过 Bootstrap 有放回采样扩充至 1025 条样本训练机器学习模型。用户输入 13 项临床特征指标,系统输出心脏病风险概率与四级风险等级评估,支持单条预测与 CSV 批量预测,并提供 12 张 ECharts 可视化数据分析图表、模型管理、系统管理等功能。所有特征采用 UCI 原始编码方案(如 cp: 1-4, slope: 1-3, thal: 3/6/7),与临床原始数据保持一致。


功能模块

模块功能说明
首页系统介绍、数据集概况、模型精度展示、技术栈展示、风险分级规则说明
用户系统用户注册、登录、登出,基于 Flask-Login 的会话管理,管理员与普通用户两级权限
单条预测输入 13 项临床特征(年龄、性别、胸痛类型、静息血压、血清胆固醇、空腹血糖、静息心电图、最大心率、运动心绞痛、ST段压低、ST段斜率、主要血管数、地中海贫血类型),输出风险概率、预测结果、风险等级,支持填入示例数据快速体验
批量预测上传 CSV 文件批量评估,逐行特征校验,生成结果 CSV 下载,记录批量任务历史
预测历史预测记录分页浏览、管理员可查看全部用户记录、支持 CSV 导出
数据分析12 张 ECharts 可视化图表:患病数量统计、年龄分布、性别比例、概率分布、风险等级占比、胸痛类型分布、近7日预测趋势、模型性能对比、特征重要性、血压趋势、胆固醇/心率趋势、综合雷达图
模型信息模型性能指标(准确率、精确率、召回率、F1、AUC、交叉验证)、混淆矩阵、特征重要性柱状图(ECharts)、数据集概况、训练历史
数据集浏览数据集统计信息、特征统计表(均值、标准差、最小值、最大值、中位数)、前20条样本预览、数据来源说明
模型训练管理员专属,支持单模型训练(随机森林、梯度提升、逻辑回归、SVM)和多模型对比选优,展示训练结果与历史记录
系统管理管理员专属,用户管理(查看、删除)、系统日志(登录、预测、训练等操作记录)
REST API/api/predict 单条预测、/api/stats 统计数据、/api/model/metrics 模型指标、/api/dataset/stats 数据集统计、/api/predictions 预测历史、/api/features 特征说明

数据来源

项目说明
基础数据集UCI Cleveland Heart Disease Dataset
来源UCI Machine Learning Repository
原始文件data/processed.cleveland.data(303 条原始记录)
训练数据data/heart_extended_1025.csv(1025 条,基于 297 条有效样本 Bootstrap 有放回采样扩充)
有效样本297 条(剔除含缺失值的 6 条)
扩充样本1025 条(有放回采样 + 连续变量微高斯噪声)
特征数13 个临床指标
编码方案UCI 原始编码(cp: 1-4, slope: 1-3, thal: 3/6/7)
标签0 = 无心脏病,1 = 有心脏病(训练时二值化)

风险分级规则

概率区间预测结果风险等级
< 0.3无心脏病风险低风险
0.3 ~ 0.5无心脏病风险临界风险(需关注)
0.5 ~ 0.7有心脏病风险中风险
≥ 0.7有心脏病风险高风险

预测阳性阈值为 0.5(概率 ≥ 0.5 判定为有心脏病风险)。


目录结构

python-xingzangbing-fenxi/
├── app.py                       # Flask 应用主入口,页面路由与 API 接口
├── config.py                    # 应用配置(密钥、路径、特征定义、管理员账号)
├── run.py                       # 项目启动脚本(初始化数据库、训练模型、启动服务)
├── requirements.txt             # Python 依赖包清单
├── data/
│   ├── processed.cleveland.data # UCI Cleveland 原始心脏病数据集(303条)
│   └── heart_extended_1025.csv  # 训练用数据集(1025条)
├── database/
│   ├── __init__.py              # 数据库模块包标识
│   └── db.py                    # SQLite 数据库初始化与 CRUD 操作
├── instance/
│   └── heart_disease.db         # SQLite 数据库文件(自动生成)
├── ml/
│   ├── __init__.py              # 机器学习模块包标识
│   ├── train.py                 # 模型训练(4种模型对比、特征重要性、指标保存)
│   └── predict.py               # 模型预测(单条/批量、特征校验、风险分级、概率校准)
├── models/
│   ├── heart_model.pkl          # 训练完成的模型文件(自动生成)
│   ├── scaler.pkl               # StandardScaler 标准化器(自动生成)
│   ├── metrics.json             # 模型评估指标(自动生成)
│   └── feature_importance.json  # 特征重要性(自动生成)
├── static/
│   ├── css/
│   │   └── style.css            # 自定义样式(专业医疗配色)
│   ├── js/
│   │   └── main.js              # 全局脚本(提示自动关闭)
│   └── uploads/
│       ├── sample_batch.csv     # 批量预测示例 CSV 文件
│       ├── test_low_risk.csv    # 批量预测测试数据(低风险)
│       ├── test_high_risk.csv   # 批量预测测试数据(高风险)
│       └── test_boundary.csv    # 批量预测测试数据(临界值)
├── templates/
│   ├── base.html                # 基础模板(导航栏、CDN 引用、页脚)
│   ├── index.html               # 首页
│   ├── login.html               # 登录页
│   ├── register.html            # 注册页
│   ├── dashboard.html           # 数据分析(12张 ECharts 图表)
│   ├── predict.html             # 单条风险预测
│   ├── batch.html               # 批量预测
│   ├── history.html             # 预测历史
│   ├── model_info.html          # 模型信息
│   ├── dataset.html             # 数据集浏览
│   ├── train.html               # 模型训练(管理员)
│   └── admin.html               # 系统管理(管理员)
├── 运行步骤必看/
│   └── window.md                # Windows 运行步骤说明
├── mac_run.sh                   # macOS/Linux 一键启动脚本
├── window_run.bat               # Windows 一键启动脚本
├── 训练手册.md                   # 模型训练手册
├── 项目说明.md                   # 本文件
└── README.md                    # 项目简介

技术栈

类别技术
后端Python 3.12 + Flask 3.0
数据库SQLite 3
前端HTML5 + Bootstrap 5.3 + ECharts 5.5
机器学习scikit-learn 1.5(随机森林、梯度提升、SVM、逻辑回归)
数据处理pandas 2.2 + numpy 2.0
模型持久化joblib 1.4
用户认证Flask-Login 0.6
密码安全Werkzeug pbkdf2:sha256

环境要求

项目要求
Python3.12
操作系统Windows / macOS / Linux
内存建议 2GB 以上(模型训练时使用)
磁盘约 200MB(含依赖和数据库)
浏览器Chrome / Firefox / Safari / Edge 现代版本

账号信息

角色用户名密码
管理员adminadmin123

管理员拥有模型训练和系统管理页面访问权限,可查看模型指标、管理用户、重新训练模型。新注册用户默认为普通用户角色,仅可使用预测、历史、数据分析等功能。

技术分类

包含内容

完整源码
项目说明文档
演示材料

适用人群

学习参考与二次开发

关于 AI源码

AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。

QQ: 861077046
邮箱: 861077046@qq.com
已服务 35+ 位用户
立即咨询

相关推荐

查看全部 →
城市交通流量预测与拥堵成因分析系统
Python
进阶

城市交通流量预测与拥堵成因分析系统

是一个面向城市交通拥堵分析的 monorepo,覆盖计算机设计课题中的主要能力链路:

PythonHTMLSQLite
4.820
电商用户行为漏斗与CRO转化率优化分析
Python
NEW
进阶

电商用户行为漏斗与CRO转化率优化分析

电商用户行为漏斗与CRO转化率优化分析(E-Commerce Funnel CRO)是一套面向电商运营的数据分析平台,覆盖从用户访问到最终购买的完整漏斗链路,提供多维诊断、统计检验、PIE 优先级矩阵与 XGBoost 购买预测等能力,帮助运营团队精准定位转化瓶颈并制定优化策略。

PythonHTMLSQLite
4.866
多组学癌症预后预测分析系统
Python
进阶

多组学癌症预后预测分析系统

基于 Flask 的 Web 应用,用于上传 TCGA 风格合并表、做特征与标签概览、Cox 预后风险评分与生存相关可视化。模型在本地训练后以 形式加载,不提供旧版演示数据或假模型兜底。

PythonHTMLSQLite
4.834
基于 Apriori 算法的中药配伍审查系统
Python
NEW
进阶

基于 Apriori 算法的中药配伍审查系统

本系统是一个基于经典 Apriori 关联规则挖掘算法的中药配伍审查平台,使用真实中医药处方数据集(PTM-TKDE2018),实现药材频繁项集挖掘、关联规则生成与配伍禁忌审查。

PythonHTMLSQLite
4.840
基于 Python 的城市共享单车骑行需求时空分析系统
Python
NEW
进阶

基于 Python 的城市共享单车骑行需求时空分析系统

本系统是一个基于 Python Flask 框架的城市共享单车骑行需求时空分析平台,使用 Oslo City Bike(奥斯陆城市自行车)开放数据,提供系统总览、时间维度分析、空间维度分析、站点运营分析、OD 起讫流动分析、骑行需求预测、综合分析报告等功能模块,适用于城市共享单车运营调度与骑行需求研究场景。

PythonHTMLSQLite
4.857
基于 Python 的短视频用户行为分析系统
Python
NEW
进阶

基于 Python 的短视频用户行为分析系统

基于快手 KuaiRec / KuaiRand 数据集的短视频推荐分析平台,提供用户行为分析、推荐偏差检测、内容运营洞察、图神经网络推荐等完整分析链路。

PythonHTMLSQLite
4.875