- Add comprehensive README.md with setup and usage instructions - Add .env.example template (sanitized, no real API keys) - Add root-level .gitignore to exclude .env and generated files - Add all project modules (dashboard, predictor) - Add data file and requirements.txt
CardioAI - 心血管疾病智能辅助系统
多模块应用,集成了数据可视化、机器学习预测和AI问答功能。
项目结构
CardioAI/
├── data/ # 数据文件目录
│ └── 心血管疾病.xlsx # 心血管疾病数据集
├── module1_dashboard/ # 模块1: Streamlit 交互式仪表盘
│ └── cardio_dashboard.py
├── module2_predictor/ # 模块2: XGBoost 风险预测模型
│ ├── train_and_save.py # 模型训练脚本
│ ├── cardio_predictor_model.pkl # 训练好的模型
│ ├── app.py # Flask API 服务
│ └── templates/
│ └── index.html # 预测前端页面
├── requirements.txt # 项目依赖
├── .env.example # 环境变量模板
└── .gitignore # Git 忽略文件
环境配置
1. 创建 conda 环境
conda create -n cardioenv python=3.10
conda activate cardioenv
2. 安装依赖
cd F:\My_Git_Project\CardioAI
pip install -r requirements.txt
3. 配置环境变量
复制 .env.example 为 .env,并填入您的 API Key:
copy .env.example .env
编辑 .env 文件,填入您的 DeepSeek API Key。
模块说明
模块1: 交互式仪表盘 (Streamlit)
心血管数据的交互式可视化界面。
启动命令:
cd F:\My_Git_Project\CardioAI
streamlit run module1_dashboard/cardio_dashboard.py
功能特性:
- 年龄范围筛选
- 性别和心血管疾病状态筛选
- 统计数据展示
- BMI分布可视化
模块2: 心血管风险预测模型 (Flask + XGBoost)
基于 XGBoost 的心血管疾病风险预测 API。
训练模型:
cd F:\My_Git_Project\CardioAI
python module2_predictor/train_and_save.py
启动预测服务:
cd F:\My_Git_Project\CardioAI\module2_predictor
set FLASK_APP=app.py
flask run --host=0.0.0.0 --port=5000
API 接口:
POST /predict_cardio- 提交11个特征值,返回预测概率和结果
依赖说明
- pandas, openpyxl - 数据处理
- numpy, scikit-learn - 数值计算
- xgboost, joblib - 机器学习
- streamlit, plotly - 数据可视化
- Flask - Web 服务
- python-dotenv - 环境变量
- langchain-openai, dashscope, requests - AI 集成
注意事项
- 数据文件路径可通过
.env中的DATA_PATH配置 - 确保
.env文件不提交到版本库(已加入 .gitignore) - 使用前请确保已正确配置 DeepSeek API Key