基于web开发的大数据多高发癌症临床数据可视化分析系统
  • JavaScript 54.4%
  • Java 24.9%
  • Vue 18%
  • HTML 1.4%
  • Python 0.6%
  • Other 0.6%
Find a file
2026-09-03 11:28:37 +08:00
cancer-backend 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00
cancer-dashboard 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00
data 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00
model 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00
script 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00
sql 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00
.gitignore 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00
echarts.min.js 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00
inline_echarts.py 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00
model_comparison_chart.html 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00
README.md 添加项目说明文档README 2026-09-03 11:28:37 +08:00
多高发癌症临床数据可视化分析系统-任务书.docx 基于Web的多种高发癌症数据分析系统 2026-09-03 11:12:15 +08:00

基于Web的多种高发癌症临床数据可视化分析系统

一、项目简介

本项目是一个基于 Web 的大数据分析系统,聚焦多种高发癌症临床数据,集成了数据可视化大屏、多维分析、智能预测和数据管理等功能。系统基于 10,194 条真实癌症临床数据,运用随机森林等 6 种机器学习模型对肿瘤分期进行预测分析,通过 ECharts 实现多维度数据可视化展示。

二、技术栈

后端

  • Java 8 + Spring Boot 2.x
  • RuoYi-Vue 框架(权限管理、代码生成)
  • MyBatis数据持久层
  • MySQL 8.0(数据存储)
  • Redis缓存

前端

  • Vue.js 2.x + Element UI
  • ECharts数据可视化柱状图、折线图、散点图、雷达图、热力图
  • AxiosHTTP 请求)
  • Vue Router路由管理

数据分析与机器学习

  • Python 3.x
  • scikit-learn6 种分类模型随机森林、逻辑回归、SVM、KNN、决策树、GBDT
  • pandas数据处理
  • Flask预测服务 API

数据可视化

  • ECharts 5.x大屏可视化、模型对比图表、混淆矩阵、ROC 曲线)

三、功能模块

模块 功能说明
数据概览大屏 癌症类型分布、分期分布、性别比例、年龄分布等多维可视化展示,支持筛选交互
数据管理 临床数据的增删改查、CSV 导出、统计卡片展示
多维分析 交叉分析(癌症类型 × 分期 × 性别)、相关性分析
智能预测 肿瘤分期预测(早/晚期、6 种模型对比、混淆矩阵、ROC 曲线
系统管理 用户管理、角色管理、菜单管理、日志管理RuoYi 内置)

四、项目结构

cancer-project/
├── cancer-backend/              # 后端项目
│   ├── ruoyi-admin/             # 主启动模块
│   │   └── src/main/java/com/ruoyi/web/controller/
│   │       └── cancer/          # 癌症相关接口
│   ├── ruoyi-system/            # 业务模块
│   │   └── src/main/java/com/ruoyi/system/
│   │       ├── domain/          # 实体类
│   │       ├── mapper/          # 数据访问层
│   │       └── service/         # 业务逻辑层
│   ├── ruoyi-framework/         # 框架核心(安全、拦截器等)
│   ├── ruoyi-ui/                # 前端 Vue 项目
│   │   └── src/views/
│   │       ├── cancer/sample/   # 数据管理页面
│   │       ├── overview/        # 数据概览大屏
│   │       ├── analysis/        # 多维分析页面
│   │       └── prediction/      # 智能预测页面
│   └── sql/                     # 数据库脚本
├── script/                      # Python 脚本
│   ├── data_clean.py           # 数据清洗
│   ├── train_model.py          # 模型训练
│   ├── model_compare.py       # 多模型对比
│   └── predict_server.py       # Flask 预测服务
├── data/                        # 数据文件
│   └── cleaned_cancer_data.csv
├── model/                       # 训练好的模型
│   └── rf_cancer_stage.pkl
└── sql/                         # 建表与菜单 SQL

五、快速开始

1. 环境要求

  • JDK 1.8+
  • MySQL 8.0+
  • Redis 5.0+
  • Node.js 14+
  • Python 3.8+
  • Maven 3.6+

2. 数据库初始化

# 创建数据库
mysql -u root -p
> CREATE DATABASE ry_cancer DEFAULT CHARACTER SET utf8mb4;

# 导入 RuoYi 基础表
> source cancer-backend/sql/ry_20260417.sql;

# 导入癌症数据表
> source sql/cancer_schema.sql;

# 导入菜单配置
> source sql/menu_sample.sql;
> source sql/menu_analysis.sql;
> source sql/menu_prediction.sql;

3. 后端启动

# 修改数据库连接配置
# cancer-backend/ruoyi-admin/src/main/resources/application-druid.yml

# 编译启动
cd cancer-backend
mvn clean package -DskipTests
java -jar ruoyi-admin/target/ruoyi-admin.jar

后端地址:http://localhost:8080

4. 前端启动

cd cancer-backend/ruoyi-ui
npm install
npm run dev

前端地址:http://localhost:80

5. Python 预测服务

pip install flask flask-cors pandas scikit-learn

cd cancer-project
python script/predict_server.py

预测服务地址:http://localhost:5000

6. 默认管理员账号

  • 用户名:admin
  • 密码:admin123

六、模型评估结果

模型 准确率 精确率 召回率 F1值 AUC
随机森林 0.852 0.846 0.873 0.859 0.912
梯度提升(GBDT) 0.841 0.835 0.860 0.847 0.898
逻辑回归 0.798 0.791 0.815 0.803 0.856
SVM支持向量机 0.812 0.806 0.830 0.818 0.871
K近邻(KNN) 0.775 0.768 0.795 0.781 0.821
决策树 0.803 0.797 0.822 0.809 0.843

最优模型随机森林AUC = 0.912

七、数据说明

  • 数据来源TCGAThe Cancer Genome Atlas公开癌症基因组数据
  • 数据量10,194 条真实临床记录
  • 数据字段癌症类型、性别、诊断年龄、突变次数、TMB肿瘤突变负荷、肿瘤纯度、吸烟状态、肿瘤分期等
  • 数据清洗:去重、缺失值处理、异常值过滤

八、系统截图

  • 数据概览大屏ECharts 多维可视化 + 筛选交互
  • 数据管理:统计卡片 + 颜色标签 + CSV 导出
  • 智能预测6 模型对比柱状图 + 混淆矩阵热力图 + ROC 曲线
  • 多维分析:交叉分析表格 + 相关性分析

九、作者

  • 姓名:李思蕊
  • 邮箱1345678@qq.com