4.4 KiB
4.4 KiB
系统架构设计
1. 总体架构
系统采用前后端分离架构:
- 前端:Vue 3 + Vue Router + Element Plus + ECharts
- 后端:Flask + Pandas + Scikit-learn + PyTorch + Joblib
- 数据层:CSV 数据文件 + 模型文件 + 训练元数据
整体架构分为四层:
- 表现层:负责页面展示、表单交互和图表可视化
- 接口层:负责 HTTP 路由转发与请求响应
- 业务层:负责数据统计、特征分析、
JD-R解释、预测和聚类逻辑 - 数据与模型层:负责原始数据、清洗数据、模型文件和训练元数据
2. 前端架构设计
2.1 模块划分
Dashboard.vue:数据概览页FactorAnalysis.vue:影响因素分析页JDRAnalysis.vue:JD-R理论分析页Prediction.vue:缺勤预测页Clustering.vue:员工画像页
2.2 核心职责
- 页面布局与导航
- 图表渲染
- 表单输入与结果展示
- 接口调用与状态管理
- 将
JD-R理论指标、路径关系与SHAP结果可视化
3. 后端架构设计
3.1 路由层
overview_routes.pyanalysis_routes.pypredict_routes.pycluster_routes.pyjdr_routes.pyshap_routes.py
3.2 服务层
data_service.py:负责概览统计analysis_service.py:负责特征重要性与群体对比predict_service.py:负责模型加载、预测输出与风险分类cluster_service.py:负责聚类结果组织jdr_service.py:负责JD-R理论指标、路径和画像分析shap_service.py:负责全局/局部可解释分析结果封装
3.3 核心算法层
generate_dataset.py:生成中国企业缺勤事件数据集并补充JD-R基础维度preprocessing.py:数据清洗与预处理model_features.py:特征构建、JD-R复合指标计算与预测输入映射train_model.py:传统模型训练与评估deep_learning_model.py:时序注意力融合深度学习模型训练与推理feature_mining.py:相关性分析与群体对比clustering.py:K-Means聚类分析shap_analysis.py:基于SHAP的全局、局部与交互解释分析
4. 数据流设计
4.1 训练流程
- 生成中国企业缺勤事件数据集
- 加载并清洗数据
- 补充
JD-R理论基础维度 - 构建衍生特征与
JD-R复合指标 - 进行编码、特征筛选与模型训练
- 保存模型、特征信息和训练元数据
其中深度学习路径采用:
8步时间窗口组织员工缺勤事件序列- 时序分支编码
15个事件/上下文特征 - 静态分支编码
13个员工稳定属性特征 Transformer编码 + 门控融合输出缺勤时长回归结果
4.2 预测流程
- 前端输入核心预测字段
- 后端构建完整预测样本
- 自动补齐默认字段
- 执行特征工程、
JD-R指标构建和编码 - 加载模型进行预测
- 返回缺勤时长、风险等级、风险概率、模型名称和置信度
- 调用
SHAP生成局部解释结果
4.3 分析流程
- 读取清洗后的数据
- 计算统计指标、相关关系与群体差异
- 按
JD-R理论聚合工作要求、工作资源、个人资源、倦怠与投入 - 组织成前端图表所需结构
- 返回 JSON 数据供前端展示
5. 文件组织结构
backend/
api/
core/
data/
models/
outputs/
services/
app.py
frontend/
src/
api/
router/
styles/
views/
App.vue
main.js
6. 技术选型说明
6.1 Flask
- 轻量,适合本科毕设项目
- 路由层清晰,便于拆分接口
6.2 Vue 3
- 组件化开发效率较高
- 与 Element Plus、ECharts 配合较好
6.3 Scikit-learn
- 适合传统机器学习建模
- 提供随机森林、GBDT、Extra Trees 等成熟算法
- 便于输出特征重要性并配合
SHAP解释
6.4 PyTorch
- 用于实现深度学习时序建模
- 支持
Transformer编码与静态特征门控融合 - 便于在论文中增加时序预测对比实验内容
7. 部署方式
- 本地前端开发服务器:Vite
- 本地后端服务:Flask 开发服务器
- 模型文件与数据文件均存储在本地项目目录中
8. 架构特点
- 结构清晰,便于答辩说明
- 前后端职责明确
- 同时支持统计、预测、聚类和理论解释
- 支持
SHAP全局与局部可解释分析 - 构成“数据生成 - 特征工程 - 理论解释 - 预测决策”的闭环