feat: update clustering implementation and docs

This commit is contained in:
shuo
2026-04-21 11:13:11 +08:00
parent 5655eb0cda
commit 27c394fd8c
17 changed files with 540 additions and 215 deletions

View File

@@ -4,13 +4,13 @@
- 数据文件:`backend/data/raw/china_enterprise_absence_events.csv`
- 数据定位:中国企业员工缺勤事件模拟数据集
- 数据来源:项目内部独立模拟生成,与原 `UCI Absenteeism` 数据集无任何字段映射和业务关联
- 数据来源:项目内部独立模拟生成,并补充 `JD-R` 理论相关字段,不与原 `UCI Absenteeism` 数据集字段映射
- 样本粒度:每一行表示一次员工缺勤事件
- 样本量:`12000`
- 员工覆盖数:`2575`
- 企业覆盖数:`180`
- 行业覆盖数:`7`
- 字段总数:`52`
- 字段总数:`73`
- 预测目标:`缺勤时长(小时)`
## 2. 目标变量分布
@@ -43,7 +43,7 @@
- 极高风险约 `1.95%`
- 高风险及以上(`>8` 小时)占比约 `21.05%`
该分布特征为“中风险为主、少量高风险、极端长缺勤较少”,适合用于回归预测风险分层分析。
该分布特征为“中风险为主、少量高风险、极端长缺勤较少”,适合用于回归预测风险分层分析和可解释建模
## 3. 字段设计原则
@@ -52,6 +52,7 @@
- 类别字段以有限枚举为主,方便前端表单录入和模型编码
- 数值字段控制在合理范围内,避免训练时出现大面积异常值
- 通过规则驱动加扰动的方式生成数据,使关键特征与目标值之间存在稳定、可学习的关系
- 通过 `JD-R` 理论变量补充“为什么员工会缺勤”的解释维度
## 4. 字段清单
@@ -131,6 +132,32 @@
| 是否连续缺勤 | 是否存在连续缺勤现象 |
| 前一工作日是否加班 | 缺勤前一个工作日是否加班 |
| 缺勤时长(小时) | 本次缺勤事件持续时长,预测目标列 |
| 事件日期 | 缺勤事件发生日期 |
| 事件日期索引 | 便于排序和构造时间窗口的数值索引 |
| 事件序号 | 员工历史事件顺序 |
| 员工历史事件数 | 员工在样本中的事件累计数 |
### 4.6 `JD-R` 理论字段
| 字段名 | 含义 |
|---|---|
| 工作自主性 | 员工对工作节奏与方式的控制程度 |
| 情绪劳动强度 | 岗位中的情绪管理与情绪付出要求 |
| 时间压力感知 | 员工主观感受到的时间紧迫程度 |
| 角色模糊度 | 岗位职责边界不清晰程度 |
| 工作家庭冲突 | 工作要求对家庭角色造成的冲突程度 |
| 上级支持 | 员工感知到的管理支持程度 |
| 同事支持 | 员工感知到的同伴支持程度 |
| 技能多样性 | 工作内容和技能运用的丰富程度 |
| 职业发展机会 | 员工感知到的发展与晋升空间 |
| 参与决策 | 员工参与工作决策的程度 |
| 组织公平感 | 员工对组织规则与分配公平的感知 |
| 自我效能感 | 员工对自身胜任任务能力的信心 |
| 心理韧性 | 员工面对压力和变化时的恢复能力 |
| 乐观程度 | 员工对工作与未来的积极预期 |
| 工作倦怠 | 高要求、低资源情境下的耗竭状态 |
| 工作投入 | 高资源情境下的积极投入状态 |
| `_jdr_version` | `JD-R` 字段版本标记 |
## 5. 数值字段范围概览
@@ -204,7 +231,8 @@
- 员工缺勤时长回归预测
- 缺勤风险分层预警
- 特征重要性分析
- `JD-R` 理论指标构建与解释分析
- 特征重要性与 `SHAP` 解释
- 行业/岗位/班次群体对比
- 员工群体聚类画像
- 前端数据可视化展示与业务汇报
@@ -214,6 +242,7 @@
- 生成脚本:`backend/core/generate_dataset.py`
- 训练脚本:`backend/core/train_model.py`
- 预处理入口:`backend/core/preprocessing.py`
- `JD-R` 指标构建:`backend/core/model_features.py`
如果需要重新生成全新数据集,可删除旧文件后重新执行:
@@ -224,4 +253,4 @@ python core/generate_dataset.py
## 12. 说明
该数据集为模拟数据,不对应任何真实企业、真实员工或真实业务记录,仅用于毕业设计系统中的算法训练、接口联调与前端展示。
该数据集为模拟数据,不对应任何真实企业、真实员工或真实业务记录,仅用于毕业设计系统中的算法训练、接口联调、理论分析与前端展示。