
# 基于数据挖掘的中风智能预测系统

## 项目简介
本项目是一个基于Python的机器学习毕业设计作品，旨在通过分析患者的医疗数据（包含年龄、性别、高血压、血糖等11个维度），利用机器学习算法构建中风风险预测模型，并封装为Web应用供用户在线使用。

## 功能模块
1. **数据分析与建模 (Jupyter Notebook)**
   - 数据预处理（缺失值填充、ID移除）
   - 探索性数据分析（EDA），生成可视化图表
   - 特征工程（标签编码、标准化）
   - 算法模型构建（随机森林）
   - 模型评估与保存

2. **Web 智能预测系统**
   - **用户模块**：注册、登录、注销
   - **仪表盘**：功能导航
   - **数据分析页**：展示静态生成的分析图表
   - **智能预测页**：输入身体指标，实时返回预测结果及概率

## 技术栈
- **语言**: Python 3.10+
- **Web框架**: Flask 2.3
- **数据库**: SQLite + SQLAlchemy
- **数据分析**: Pandas, NumPy, Scikit-learn, Seaborn, Matplotlib
- **前端**: HTML5, Tailwind CSS (CDN)

## 如何运行
1. **安装依赖**
   ```bash
   pip install -r requirements.txt
   ```

2. **模型训练（可选）**
   如果 `models/` 目录下为空，请先运行以下命令生成模型：
   ```bash
   python train_model.py
   ```
   或者运行 Jupyter Notebook `stroke_analysis.ipynb`。

3. **启动 Web 系统**
   ```bash
   python run.py
   ```
   启动后访问: `http://127.0.0.1:5000`

## 账号说明
系统使用本地 SQLite 数据库，首次运行请点击右上角【注册】创建一个新账户进行登录体验。

## 文件结构
- `app/`: Web 应用源代码
  - `templates/`: HTML 模板
  - `models.py`: 数据库模型
  - `routes.py`: 路由逻辑
- `models/`: 存放训练好的模型文件 (.pkl)
- `healthcare-dataset-stroke-data.csv`: 原始数据集
- `stroke_analysis.ipynb`: 数据分析 Notebook 源码
- `train_model.py`: 训练脚本
- `run.py`: 启动入口
