基于机器学习的智能健身风险分析系统,整合数据可视化与人工智能算法

健身风险分析系统

基于机器学习的智能健身风险分析系统,整合数据可视化与人工智能算法,为健身房会员健康管理和运营提供决策支持。

系统功能

用户端功能

  1. 数据集成与实时展示

    • 会员基本信息、历史数据及生理数据的动态查询
    • 数据可视化展示
  2. 会员群体结构与画像分析

    • 性别、年龄、训练类型等分布特征的饼图和柱状图展示
    • K-means聚类算法将会员划分为四类典型画像:
      • 高风险久坐族
      • 潜力健身达人
      • 稳定健康人群
      • 高强度训练者
  3. 个性化健康风险评估

    • 基于随机森林、逻辑回归算法的健康风险评估模型
    • 健康风险程度智能计算与预测(低、中、高)
    • 个性化风险报告生成
  4. AI健身方案生成

    • 使用DeepSeek API生成个性化健身方案
    • 根据用户健康数据(BMI、心率、体脂率等)制定专属训练计划
    • 包含训练安排、饮食建议和注意事项
    • 实时流式输出,提供即时反馈
    • 高性价比,相比OpenAI节省约78%成本

管理员端功能

  1. 风险预测与管理

    • 所有会员统一的风险等级预测
    • 可视化风险指数报告
    • 宏观风险监控
  2. 数据管理

    • 完整的数据增、删、改、查(CRUD)操作
    • CSV数据批量导入
    • 会员信息管理

认证系统

  1. 用户注册

    • 用户名、邮箱注册
    • 密码强度检测
    • 表单验证
  2. 用户登录

    • 安全的密码验证
    • 会话管理
    • 记住我功能
  3. 权限控制

    • 用户端和管理员端分离
    • 基于角色的访问控制
    • 未登录用户自动重定向
  4. 用户管理

    • 退出登录
    • 修改密码
    • 个人资料管理

技术架构

后端技术

  • 框架: Flask 3.0
  • 认证: Flask-Login
  • 数据库: SQLite
  • 机器学习 : scikit-learn
    • 随机森林(Random Forest)
    • 逻辑回归(Logistic Regression)
    • K-means聚类
  • 数据处理: pandas, numpy
  • 密码加密: Werkzeug

前端技术

  • UI框架: Bootstrap 5.3
  • 图表库: ECharts 5.4.3
  • HTTP客户端: Axios
  • 图标库: Bootstrap Icons

AI服务技术

  • AI模型: DeepSeek API (deepseek-chat)
  • 客户端: OpenAI Python SDK 1.58.1(兼容接口)
  • 优势: 高性价比、中文优化、快速响应

项目结构

复制代码
workspace/projects/
├── app.py                      # Flask应用主文件
├── requirements.txt            # Python依赖
├── .coze                       # 项目配置
├── README.md                   # 项目说明
├── app/
│   ├── __init__.py
│   ├── database.py             # 数据库操作
│   ├── models.py               # 会员数据模型
│   ├── auth_models.py          # 用户认证模型
│   ├── routes.py               # 路由定义(集成DeepSeek API)
│   ├── auth.py                 # 认证相关路由
│   └── ml_service.py           # 机器学习服务
├── static/
│   ├── css/
│   │   └── style.css          # 样式文件
│   └── js/
│       └── main.js            # JavaScript工具函数
├── templates/
│   ├── base.html              # 基础模板
│   ├── user_dashboard.html    # 用户端页面
│   ├── admin_dashboard.html   # 管理员端页面
│   ├── fitness_plan.html      # 健身方案生成页面
│   ├── health_assessment.html # 个人健康评估页面
│   ├── profile.html           # 个人资料页面
│   └── auth/                  # 认证相关模板
│       ├── login.html         # 登录页面
│       ├── register.html      # 注册页面
│       └── no_permission.html # 权限不足页面
├── models/                     # 机器学习模型存储目录
└── gym_risk.db                 # SQLite数据库文件

数据模型

用户信息(User)

  • 用户ID
  • 用户名
  • 邮箱
  • 密码哈希
  • 角色(user/admin)
  • 创建时间

用户资料(UserProfile)

  • 用户ID(外键)
  • 全名
  • 年龄
  • 性别
  • 电话
  • 地址

会员信息(Member)

  • 基本信息:ID、年龄、性别、体重、身高
  • 健康指标:BMI、体脂率、静息心率、平均心率、最大心率
  • 运动数据:训练类型、训练频率、训练时长、卡路里消耗
  • 水分摄入量
  • 风险等级(Risk Level):Low、Medium、High
  • 聚类标签(Cluster ID):0-3

安装与运行

1. 安装Python依赖

bash 复制代码
pip install -r requirements.txt

依赖包括:

  • Flask 3.0 - Web框架
  • Flask-Login 0.6.3 - 用户认证
  • Flask-SQLAlchemy 3.1.1 - ORM
  • Flask-CORS 4.0.0 - 跨域支持
  • pandas 2.1.4 - 数据处理
  • numpy 1.26.2 - 数值计算
  • scikit-learn 1.4.0 - 机器学习
  • joblib 1.3.2 - 模型持久化
  • openai 1.58.1 - DeepSeek/OpenAI API客户端(兼容接口)

2. 配置DeepSeek API Key

在系统环境变量中设置 DEEPSEEK_API_KEY(推荐)或 OPENAI_API_KEY

Linux/Mac:

bash 复制代码
export DEEPSEEK_API_KEY=your_actual_deepseek_api_key_here

Windows (PowerShell):

powershell 复制代码
$env:DEEPSEEK_API_KEY="your_actual_deepseek_api_key_here"

Windows (CMD):

cmd 复制代码
set DEEPSEEK_API_KEY=your_actual_deepseek_api_key_here

获取DeepSeek API Key:https://platform.deepseek.com/api-keys

3. 启动服务

bash 复制代码
python3 app.py

服务将在 http://localhost:5000 启动

3. 初始化系统

首次运行需要按顺序执行以下操作:

3.1 登录系统

访问 http://localhost:5000/login

默认管理员账户

  • 用户名:admin
  • 密码:admin123

或注册新账户:

  • 点击"立即注册"
  • 填写用户名、邮箱和密码
  • 完成注册后登录
3.2 导入CSV数据
  • 以管理员身份登录
  • 访问 http://localhost:5000/admin
  • 点击"导入CSV数据"按钮
  • 数据将自动从 /tmp/gym_members_data.csv 导入
3.3 训练机器学习模型
  • 点击"训练机器学习模型"按钮
  • 系统将训练随机森林和逻辑回归模型
  • 训练完成后会显示模型准确率
3.4 预测健康风险
  • 点击"预测所有会员风险"按钮
  • 系统将为所有会员预测健康风险等级
3.5 执行K-means聚类
  • 点击"执行K-means聚类"按钮
  • 系统将会员划分为4个群体画像

API接口

认证相关

  • POST /login - 用户登录
  • POST /register - 用户注册
  • GET /logout - 用户退出
  • GET /api/current-user - 获取当前登录用户信息(需要登录)
  • POST /api/change-password - 修改密码(需要登录)

数据管理

  • POST /api/import-data - 导入CSV数据(需要管理员权限)
  • GET /api/members - 获取会员列表(分页)(需要登录)
  • GET /api/members/<id> - 获取单个会员信息(需要登录)
  • POST /api/members - 添加会员(需要登录)
  • PUT /api/members/<id> - 更新会员信息(需要登录)
  • DELETE /api/members/<id> - 删除会员(需要登录)

机器学习

  • POST /api/train-models - 训练模型(需要管理员权限)
  • POST /api/predict-risks - 预测所有会员风险(需要管理员权限)
  • POST /api/perform-clustering - 执行K-means聚类(需要管理员权限)

数据统计

  • GET /api/statistics - 获取统计数据(需要登录)
  • GET /api/risk-distribution - 获取风险分布(需要登录)
  • GET /api/cluster-analysis - 获取聚类分析结果(需要登录)

页面访问

公共页面

需要登录的页面

注意:未登录访问上述页面会自动重定向到登录页面。普通用户访问管理员端会显示权限不足页面。

机器学习模型说明

随机森林(Random Forest)

  • 用于健康风险等级预测
  • 模型准确率:约86%
  • 基于多个决策树的集成学习

逻辑回归(Logistic Regression)

  • 用于健康风险等级预测
  • 模型准确率:约71%
  • 简单高效的概率分类模型

K-means聚类

  • 将会员划分为4个群体
  • 基于:年龄、BMI、训练频率、卡路里消耗、经验等级
  • 生成会员群体画像

风险评估指标

健康风险等级根据以下综合指标计算:

  • BMI(身体质量指数)
  • 年龄
  • 静息心率
  • 训练频率
  • 体脂率

风险等级划分

  • 低风险:综合得分 < 3
  • 中风险:3 ≤ 综合得分 < 5
  • 高风险:综合得分 ≥ 5

数据说明

系统使用CSV格式的健身数据,包含以下字段:

  • Index:会员ID
  • Age:年龄
  • Gender:性别
  • Weight:体重
  • Height:身高
  • Max_BPM:最大心率
  • Avg_BPM:平均心率
  • Resting_BPM:静息心率
  • Session_Duration:训练时长
  • Calories_Burned:卡路里消耗
  • Workout_Type:训练类型
  • Fat_Percentage:体脂率
  • Water_Intake:水分摄入
  • Workout_Frequency:训练频率
  • Experience_Level:经验等级
  • BMI:身体质量指数




相关推荐
开心猴爷6 小时前
App Store 上架截图批量上传,提高上架流程的稳定性
后端
曼波OUT6 小时前
Spring 异步方法实践
后端
songroom6 小时前
python: 扣子工作流创建与dbpystream api 自主插件开发
python
熊猫钓鱼>_>6 小时前
AI 加 CloudBase 帮我从零快速打造儿童英语故事学习乐园
ide·人工智能·ai·mcp·codebuddy·cloudbase·ai toolkit
山土成旧客6 小时前
【Python学习打卡-Day36】实战重构:用PyTorch神经网络升级信贷预测项目
python·学习·重构
27669582926 小时前
dy x-tt-session-dtrait 逆向分析
python·node·dy·dy逆向·抖音请求头逆向·session-dtrait·dtrait
QYZL_AIGC6 小时前
全域众链AI赋能实体,开启数字化转型新生态
大数据·人工智能
Croa-vo6 小时前
Optiver OA 气球节模拟题:拆解系统建模的核心逻辑,附避坑指南
java·数据结构·算法·leetcode·职场和发展
初次攀爬者6 小时前
RAG知识库增强|MinIO集成完整方案
后端·ai编程
SCKJAI6 小时前
推出高效能机器人边缘人工智能(AI)平台 ARC6N0 T5X
大数据·人工智能