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

@@ -8,7 +8,7 @@
- **学号**2210121330
- **学生姓名**:张硕
- **指导教师**:孙昌霞、李天格
- **题目名称**:基于多维特征挖掘的员工缺勤分析与预测系统设计与实现
- **题目名称**:基于中国企业员工缺勤分析、解释与预测系统设计与实现
---
@@ -16,13 +16,13 @@
**研究目的:**
随着企业数字化转型的深入推进,人力资源管理正从经验驱动向数据驱动转变。员工缺勤作为影响企业运营效率的重要因素其背后蕴含着丰富的多维度信息。本课题旨在利用机器学习算法对UCI Absenteeism数据集中的740条员工考勤记录进行深入分析挖掘影响缺勤的多维度特征构建基于随机森林和XGBoost的缺勤预测模型并设计实现一个完整的数据分析与预测系统通过该系统,企业能够从数据中发现缺勤背后的规律,实现对员工缺勤风险的精准识别和预警,为人力资源管理提供科学、客观的决策支持
随着企业数字化转型的深入推进,人力资源管理正从经验驱动向数据驱动转变。员工缺勤作为影响企业运营效率、排班稳定性和管理成本的重要因素,其背后不仅包含工作负荷、健康状况、家庭责任等客观因素,也与员工主观感受到的工作要求、工作资源和个人资源密切相关。本课题旨在构建一个面向中国企业管理场景的员工缺勤分析、解释与预测系统通过多维特征工程、机器学习建模、聚类分析和 `JD-R`(工作要求-资源)理论解释,帮助管理者识别缺勤风险、理解缺勤成因并辅助制定干预策略
**研究意义:**
从理论层面来看,本课题探索了多维特征挖掘在人力资源数据分析领域的应用价值。传统缺勤研究多侧重于单一因素分析或简单的统计描述缺乏对多维度特征之间复杂关系的深入挖掘。本研究将特征工程、相关性分析、机器学习预测和聚类分析等方法有机结合构建了一个完整的分析框架为相关领域的研究提供了方法论参考。同时通过对随机森林、XGBoost等算法在缺勤预测任务中的性能对比丰富了机器学习在人力资源管理领域的应用案例
从理论层面来看,本课题将心理学中的 `JD-R` 模型引入员工缺勤分析场景,用来回答“为什么员工会缺勤”这一关键问题。传统缺勤研究往往停留在统计描述或单一因素分析层面,难以系统解释高工作要求、低工作资源、个体心理资源不足与缺勤行为之间的关系。本研究将工作要求、工作资源、个人资源、工作倦怠和工作投入等变量映射为可计算的数据字段,并进一步构建复合指标,使心理学理论能够在系统中被量化、被展示、被验证,从而为缺勤行为研究提供更具解释力的分析框架
从实践层面来看,本课题具有重要的现实意义。员工缺勤不仅直接影响企业的工作进度和运营成本,还可能反映员工的工作压力、健康状况、工作满意度等深层次问题。通过本系统,企业能够识别出影响缺勤的关键因素,如通勤距离、工作负荷、生活习惯等从而有针对性地制定管理策略。例如如果发现通勤距离是主要影响因素企业可以考虑提供交通补贴或调整工作地点如果发现工作负荷过高导致缺勤可以优化工作分配或增加人力投入。此外系统的预测功能能够帮助HR提前识别高风险员工采取预防措施降低缺勤带来的损失。聚类分析功能则能够将员工划分为不同群体实现精细化管理提升人力资源管理的效率和效果
从实践层面来看,本课题具有较强的应用价值。员工缺勤不仅会影响生产与服务效率,还可能反映员工在加班、通勤、夜班、健康风险、家庭压力和组织支持等方面的真实困境。通过本系统,企业能够识别导致缺勤的关键因素,理解高缺勤群体的特征差异,并基于预测结果和解释结果进行精细化管理。例如,当系统发现“高工作要求 + 高倦怠 + 低资源支持”的组合更容易带来高缺勤时,管理者可以针对性地优化排班、加强支持或改善工作环境
---
@@ -30,23 +30,27 @@
### 1. 数据概览与全局统计分析
本研究的第一个核心内容是对UCI Absenteeism数据集进行全面的探索性数据分析。数据集记录了巴西某快递公司2007年至2010年间的740条员工缺勤记录包含21个特征字段。首先系统将计算并展示关键统计指标包括样本总数、缺勤总时长、平均缺勤时长、最大/最小缺勤时长、高风险员工占比等帮助管理者快速了解企业整体考勤健康状况。其次从时间维度进行深入分析通过折线图展示全年12个月的缺勤变化趋势识别季节性规律通过柱状图展示周一至周五的缺勤分布发现工作日缺勤的周期性特征通过饼图展示春夏秋冬四个季节的缺勤比例探索环境因素对缺勤的影响。最后对缺勤原因进行分类统计数据集包含28类缺勤原因其中21类为国际疾病分类ICD代码7类为非疾病原因如医疗咨询、献血、无故缺勤等通过可视化展示各类原因的占比帮助企业了解缺勤的主要类型
本研究首先围绕中国企业员工缺勤事件模拟数据集开展探索性分析。数据集当前包含 `12000` 条缺勤事件记录,覆盖 `2575` 名员工、`180` 家企业和 `7` 个行业。系统将展示样本总量、员工覆盖数、平均缺勤时长、高风险事件占比等核心指标,并从月度趋势、星期分布、季节分布、请假类型和请假原因等角度对缺勤现象进行整体描述,为后续分析提供事实基础
### 2. 多维特征挖掘与影响因素分析
这是本研究的核心内容,旨在回答"为什么缺勤"这一关键问题。首先,利用训练好的随机森林模型,计算各维度特征对缺勤的影响权重。随机森林算法能够输出每个特征的重要性得分,通过条形图降序排列,直观展示哪些特征是导致缺勤的主要因素,例如可能发现"通勤距离"、"工作负荷"、"饮酒习惯"等特征具有较高的重要性得分,而"宠物数量"、"身高"等特征影响较小。其次计算特征之间的相关系数矩阵以热力图形式展示特征间的关系特别关注生活习惯特征如Social drinker与缺勤时长之间的相关关系挖掘隐性规律。例如可能发现饮酒员工与缺勤时长之间存在正相关为制定公司制度提供数据支持。最后进行群体对比分析将员工按照不同维度分组对比各组的平均缺勤时长如饮酒者vs不饮酒者、高学历vs低学历、有子女vs无子女等识别不同群体的缺勤特征精细化管理提供依据。
本研究的第二个核心内容是识别影响缺勤时长的关键因素。系统通过树模型特征重要性、相关性热力图和群体对比分析,对加班通勤压力、健康风险、请假类型、慢性病史、家庭负担等变量与缺勤时长之间的关系进行量化分析。同时,系统支持按行业、班次、岗位序列、婚姻状态和慢性病史等维度比较不同群体的平均缺勤差异,为企业开展精细化管理提供依据。
### 3. 员工缺勤风险预测
### 3. `JD-R` 理论驱动的缺勤解释分析
本研究的第三个核心内容是构建缺勤预测模型,解决"未来会怎样"的问题。基于XGBoost和随机森林两种回归算法构建预测模型输入员工的17个特征属性包括年龄、通勤距离、交通费、工作负荷、BMI、饮酒习惯、月份等输出预测的缺勤时长。模型训练过程中将数据集划分为训练集和测试集采用交叉验证方法优化模型参数使用均方误差MSE、决定系数等指标评估模型性能。在系统层面设计交互式预测界面左侧为参数输入表单用户可以输入或选择各项属性值点击"开始预测"按钮后右侧实时显示预测结果。预测结果包括预测的缺勤时长如8小时、风险等级<4小时为低风险绿色4-8小时为中风险黄色>8小时为高风险红色以及模型的可信度如准确率85%。此外系统还支持新入职员工评估功能针对没有历史数据的新员工仅凭其入职时的属性信息系统给出潜在缺勤风险的预估辅助HR在招聘环节进行人员筛选
这是本研究最重要的理论创新内容。系统将 `JD-R` 模型引入员工缺勤分析,构建工作要求、工作资源、个人资源、工作倦怠和工作投入等变量体系,并进一步形成工作要求指数、工作资源指数、个人资源指数、`JD-R` 平衡度等复合指标。基于这些指标,系统从两个路径解释缺勤行为:一是健康损伤路径,即高工作要求通过提升工作倦怠而增加缺勤风险;二是激励路径,即较高的工作资源和个人资源通过提升工作投入而降低缺勤风险。该模块能够帮助论文从“相关性发现”上升到“理论化解释”
### 4. 员工画像与群体聚类
### 4. 员工缺勤风险预测与可解释分析
本研究的第四个核心内容是利用K-Means聚类算法对员工进行分类展示算法对人群的分类能力。K-Means算法能够将所有员工自动划分为3-4个类别例如可能识别出"模范型"(工龄长、负荷适中、缺勤少)、"压力型"(工龄短、负荷极大、缺勤多)、"生活习惯型"BMI高、爱喝酒等不同群体。对于每个聚类群体系统将绘制雷达图展示其在年龄、工龄、工作负荷、BMI、缺勤倾向等维度上的特征分布让管理者一目了然地看到不同群体的差异。例如压力型群体可能在"工作负荷"轴上特别长,而"缺勤倾向"轴也较高提示HR需要关注该群体的工作压力问题。同时通过散点图展示聚类结果横轴为年龄纵轴为缺勤时长不同颜色的点代表不同的聚类群体直观展示群体的分布特征。基于聚类结果系统将为HR提供针对性的管理建议如对压力型群体建议减少加班、对生活习惯型群体建议关注体检等
本研究的第四个核心内容是构建缺勤预测模型解决“未来会怎样”的问题。系统基于随机森林、GBDT、Extra Trees、XGBoost 等传统模型以及时序注意力融合深度学习模型,对单次缺勤时长进行预测。当前深度学习模型以 `8` 步历史缺勤事件窗口为基础,将 `15` 个序列特征与 `13` 个静态特征进行融合建模。在系统层面,用户输入关键业务字段后,系统返回预测缺勤时长、风险等级、风险概率、推荐模型和置信度,并通过 `SHAP` 局部解释展示本次预测中哪些因素在推高或降低缺勤风险
### 5. 系统设计与实现
### 5. 员工画像与群体聚类
本研究的最后一个核心内容是将上述算法和分析功能集成到一个完整的系统中。系统采用前后端分离架构后端使用Python Flask框架负责数据处理、模型训练和API接口提供前端使用Vue 3框架配合Element Plus UI组件库和ECharts图表库负责数据展示和用户交互。系统包含四个核心功能模块数据概览模块Dashboard、影响因素分析模块FactorAnalysis、缺勤预测模块Prediction和员工画像模块Clustering。后端采用MVC分层架构core层负责算法实现数据预处理、特征挖掘、模型训练、聚类分析services层负责业务逻辑api层负责接口路由。前端采用组件化设计封装ChartComponent和ResultCard等公共组件提高代码复用性。系统开发完成后将进行功能测试、性能测试和用户体验测试确保系统的稳定性和可用性。最终系统将为企业提供一套完整的人力资源考勤数据智能分析解决方案实现从数据录入、可视化统计、深度归因分析到精准风险预测和人群画像划分的全流程功能
本研究的第五个核心内容是利用 `K-Means` 聚类算法对员工进行分群展示不同群体在年龄、司龄、加班、通勤、BMI 和缺勤等方面的典型特征。系统可自动生成群体名称和群体说明,例如“高压通勤型”“稳定低风险型”“轮班负荷型”等,并通过雷达图、散点图和统计表格展示聚类结果。该部分有助于从人群层面发现缺勤模式差异,为企业实施分层管理策略提供依据
### 6. 系统设计与实现
本研究最后将上述分析与算法能力集成为一个完整系统。系统采用前后端分离架构,后端使用 Python Flask 框架提供数据、理论分析、预测和聚类接口,前端使用 Vue 3、Element Plus 和 ECharts 实现可视化展示与交互。系统页面包括数据概览、影响因素分析、`JD-R` 理论分析、缺勤预测和员工画像五个核心页面。后端通过 `api - services - core` 分层组织业务逻辑,前端通过路由和页面组件组织界面结构,最终形成一个既能做展示、又能做分析、还能做理论解释的综合性毕设系统。
---
@@ -54,15 +58,15 @@
### 技术架构
本研究采用前后端分离架构设计,确保系统的可维护性和可扩展性。后端技术栈选择Python作为主要开发语言使用Flask轻量级Web框架构建RESTful API接口利用scikit-learnXGBoost库实现机器学习算法使用pandas和numpy进行数据处理和分析。前端技术栈选择Vue 3作为前端框架配合Element Plus UI组件库实现美观的用户界面使用ECharts图表库实现丰富的数据可视化效果。数据存储采用CSV文件格式便于数据导入导出和模型训练。整个架构遵循MVC设计模式后端分为core算法层、services业务逻辑层、api接口层三层前端分为views页面层、components组件层、api调用层三层各层职责清晰便于开发和维护
本研究采用前后端分离架构设计。后端使用 Python 作为主要开发语言,基于 Flask 构建 RESTful API;利用 pandas 和 numpy 完成数据处理,利用 scikit-learnXGBoost 完成传统模型训练与群体分析,利用 PyTorch 完成深度学习时序建模。前端使用 Vue 3、Element Plus 和 ECharts 实现页面展示、图表交互与结果可视化。数据存储采用 CSV 文件与模型文件并行管理的方式,便于数据生成、训练与部署
### 算法方法
### 算法与理论方法
法层面,本研究采用了多种机器学习技术形成完整的分析流程。首先数据预处理阶段针对数据集中的21个特征字段采用不同的处理方法对于类别型特征如Reason for absence、Education、Social drinker等使用OneHotEncoder进行独热编码将其转换为数值型特征对于数值型特征如Transportation expense、Age、Work load等使用StandardScaler进行标准化处理消除量纲差异提高模型训练效果。其次特征挖掘阶段使用pandas计算特征间的皮尔逊相关系数生成相关性矩阵用于热力图展示使用训练好的随机森林模型提取feature_importances_属性计算各特征的重要性得分用于特征重要性排序。再次预测模型构建阶段采用两种回归算法随机森林和XGBoost这两种算法都具有较好的泛化能力和抗过拟合能力适合处理多维度特征。模型训练时采用交叉验证方法使用网格搜索优化超参数使用均方误差MSE、决定系数等指标评估模型性能。最后聚类分析阶段使用K-Means算法对员工进行无监督聚类通过肘部法则确定最佳聚类数量将员工划分为3-4个群体并计算每个簇的中心点数据用于雷达图展示
法层面,本研究将数据驱动方法与心理学理论方法结合起来。首先,基于业务规则和企业场景生成中国企业员工缺勤事件数据集,并补充 `JD-R` 理论相关字段。其次,在特征工程阶段构建加班通勤压力指数、健康风险指数、家庭负担指数、缺勤历史强度等业务衍生变量,同时构建工作要求指数、工作资源指数、个人资源指数、`JD-R` 平衡度、倦怠风险指数和工作投入指数等理论复合指标。再次,在建模阶段采用多种传统树模型与时序深度学习模型完成缺勤时长预测,并通过模型对比评估不同方法的效果。最后,在解释阶段引入 `SHAP` 方法,从全局和局部两个层面说明模型为何做出当前预测,并将结果按 `JD-R` 理论维度聚合,增强解释性
### 开发流程
本研究采用敏捷开发方法,按照以下流程进行:首先进行需求分析,明确系统功能需求和非功能需求确定系统的核心功能模块和用户交互流程然后进行系统设计包括架构设计、数据库设计、接口设计和UI设计绘制系统架构图、时序图等设计文档接着进行数据预处理对UCI数据集进行清洗、编码、归一化等处理生成可用于模型训练的干净数据随后进行模型训练分别训练随机森林、XGBoost和K-Means模型评估模型性能保存训练好的模型文件然后进行前端开发使用Vue 3开发四个核心页面实现数据可视化、表单交互等功能接着进行接口对接后端提供RESTful API接口前端通过axios调用接口获取数据实现前后端数据交互最后进行测试优化进行功能测试、性能测试和用户体验测试修复bug优化系统性能确保系统稳定可用。整个开发过程中采用迭代开发的方式每个阶段完成后进行评审和调整确保项目按时高质量完成
本研究采用迭代开发方式推进。首先完成需求分析与文献梳理,明确系统功能范围、研究问题与理论基础;其次完成数据集生成逻辑、字段设计、接口设计和页面原型设计;随后实现数据概览、影响因素分析、`JD-R` 分析、预测和聚类等模块;再进行模型训练、接口联调与前端集成;最后开展功能测试、结果分析、论文撰写与答辩准备。整个过程强调“代码实现与论文表达同步”,确保文档、系统和实验结果保持一致
---
@@ -70,15 +74,15 @@
### 系统成果
本研究预期完成一个功能完整、界面美观、操作便捷的员工缺勤分析与预测系统。系统将包含四个核心功能模块数据概览模块Dashboard将展示KPI指标卡、缺勤原因分布饼图、月度趋势折线图、星期几热力图等可视化图表让管理者一目了然地了解企业整体考勤状况影响因素分析模块FactorAnalysis将展示特征重要性排序条形图、相关性热力图、群体对比分析柱状图帮助管理者识别影响缺勤的关键因素缺勤预测模块Prediction将提供交互式表单支持17个特征输入实时返回预测结果和风险等级为HR提供决策支持员工画像模块Clustering将展示K-Means聚类结果通过雷达图和散点图呈现不同员工群体的特征画像为精细化管理提供依据。系统将采用响应式设计支持不同屏幕尺寸的访问具有良好的用户体验
本研究预期完成一个功能完整、结构清晰、适合答辩展示的员工缺勤分析、解释与预测系统。系统将能够完成缺勤统计展示、趋势分析、关键因素挖掘、`JD-R` 理论解释、单次缺勤预测、`SHAP` 解释和员工群体画像展示等任务,形成覆盖“统计 - 分析 - 解释 - 预测 - 画像”的完整功能链条
### 模型性能
### 模型与分析成果
模型性能方面本研究预期达到以下目标预测模型的准确率达到80%以上均方误差MSE控制在合理范围内模型具有良好的泛化能力能够在测试集上保持稳定的预测效果。特征重要性排序结果将具有可解释性能够识别出对缺勤影响最大的几个特征如通勤距离、工作负荷、饮酒习惯等这些发现将与实际业务场景相符具有实践指导意义。相关性分析将揭示特征间的关系特别是生活习惯特征与缺勤时长之间的关联为企业制定管理制度提供数据支持。K-Means聚类结果将具有明显的群体差异每个聚类群体在多个维度上呈现不同的特征分布能够为HR提供针对性的管理建议。所有模型结果都将通过可视化图表直观展示便于理解和应用
结果层面,预期形成一套较完整的缺勤分析方法体系:通过特征重要性与相关性分析识别影响缺勤的核心因素;通过 `JD-R` 维度分析、倦怠/投入分析和双路径分析解释缺勤形成机制;通过传统模型和深度学习模型完成缺勤时长预测;通过 `SHAP` 解释说明模型结果;通过聚类分析识别不同员工群体的缺勤模式。上述结果将共同支撑论文的研究结论与管理建议
### 论文成果
本研究预期完成一篇8000字以上的本科毕业论文论文将包含以下几个核心部分:引言部分阐述研究背景、研究目的和研究意义,介绍国内外研究现状;系统设计部分详细描述系统的架构设计、功能模块设计、数据库设计和接口设计;算法实现部分详细介绍数据预处理、特征挖掘、预测模型和聚类分析的算法原理和实现过程;实验分析部分展示系统的功能演示、模型性能评估、特征重要性分析和聚类结果分析;结论与展望部分总结研究成果,指出研究的创新点和局限性,展望未来的研究方向。论文将采用规范的学术写作风格,逻辑清晰,论证充分,图表丰富,能够全面展示本研究的成果和价值。论文将通过查重检测,确保学术诚信,达到本科毕业论文的质量要求
本研究预期完成一篇结构规范、逻辑清晰、与系统实现一致的本科毕业论文论文将系统阐述研究背景、理论基础、系统设计、算法实现、实验分析和总结展望,并突出本课题在“`JD-R` 理论与员工缺勤分析结合”“可解释预测分析”“系统化实现”三个方面的特色
---
@@ -88,19 +92,19 @@
**第一阶段开题准备2025.12.22-2026.01.18**
在此阶段,主要任务是确认论文题目,深入理解研究需求和目标。首先,广泛查阅国内外相关文献,了解员工缺勤分析、特征挖掘、机器学习预测等领域的研究现状梳理相关理论和方法。其次仔细研读UCI Absenteeism数据集的文档理解数据集的字段含义、数据分布和特征类型为后续分析奠定基础。然后撰写开题报告明确研究目的、研究意义、研究内容、技术路线和预期成果与指导教师进行沟通根据反馈意见修改完善。最后制定详细的实施计划确定系统的功能模块和技术选型为后续开发做好准备
在此阶段,主要任务是确认论文题目、梳理研究问题并明确理论与技术路线。重点包括查阅员工缺勤分析、组织行为、机器学习预测`JD-R` 理论等相关文献,明确系统功能边界与研究重点,完成开题报告撰写并根据指导意见修改完善
**第二阶段系统设计与原型开发2026.01.19-2026.03.01**
在此阶段,主要任务是完成系统的详细设计和简单原型开发。首先进行系统架构设计确定前后端分离的技术架构绘制系统架构图和功能模块图。其次进行数据库设计确定数据存储方案设计数据表结构。然后进行接口设计定义前后端交互的API接口规范。接着搭建开发环境配置Python开发环境、Vue开发环境和相关依赖库。随后开始原型开发首先实现数据预处理功能对UCI数据集进行清洗和编码然后实现简单的特征挖掘功能计算特征重要性接着实现前端基础框架搭建Vue项目配置路由和UI组件库最后完成简单的预测功能原型,验证技术方案的可行性。
在此阶段,主要任务是完成系统总体设计和关键模块原型开发。包括数据字段设计、接口设计、页面原型设计、数据生成逻辑实现、基础分析接口实现,以及前端基础页面搭建,验证技术方案的可行性。
**第三阶段系统开发与论文撰写2026.03.02-2026.03.31**
在此阶段,主要任务是完成系统的完整开发和论文初稿撰写。首先完善后端算法模块实现数据预处理、特征挖掘、模型训练和聚类分析的完整功能训练随机森林、XGBoost和K-Means模型保存模型文件。其次完善后端API接口提供数据统计、特征分析、预测推理和聚类结果的RESTful接口。然后开发前端页面完成Dashboard、FactorAnalysis、Prediction和Clustering四个核心页面实现数据可视化、表单交互和结果展示功能。接着进行前后端联调确保数据交互正常功能完整可用。同时开始撰写论文按照论文结构逐步完成各个章节的写作包括引言、系统设计、算法实现、实验分析等部分
在此阶段,主要任务是完成系统核心功能开发和论文初稿撰写。重点包括传统模型与深度学习模型训练、`JD-R` 分析模块实现、`SHAP` 解释模块实现、预测页面与聚类页面完善,以及论文章节的逐步撰写
**第四阶段测试优化与答辩准备2026.04.01-2026.05.10**
在此阶段,主要任务是完善系统、优化性能、完成论文和准备答辩。首先进行系统测试包括功能测试、性能测试和兼容性测试修复发现的bug优化系统性能确保系统稳定可靠。其次完善论文内容根据系统实现情况调整论文描述补充实验结果和分析确保论文与实际成果一致。然后进行论文格式调整按照学校要求调整论文格式、字体、排版等准备参考文献列表。接着准备答辩材料制作答辩PPT梳理研究思路和成果准备答辩演讲稿。最后进行预答辩演练与同学或指导教师进行模拟答辩根据反馈意见调整PPT和演讲稿确保答辩顺利进行
在此阶段,主要任务是开展系统测试、结果分析、论文修改和答辩准备。包括功能测试、接口测试、实验结果整理、论文格式调整、答辩 PPT 制作与模拟答辩演练,确保系统成果与论文材料能够支撑正式答辩
---
@@ -120,4 +124,4 @@
[7] Harrison D A, Martocchio J J. Time for absenteeism: A 20-year review of origins, offshoots, and outcomes[J]. Journal of management, 1998, 24(3): 305-350.
[8] Ngai E W T, Chau D C K, Chan T L A. Information technology, operational, and management research on productivity: A study of executive perceptions[J]. International Journal of Production Economics, 2011, 133(2): 777-786.
[8] Ngai E W T, Chau D C K, Chan T L A. Information technology, operational, and management research on productivity: A study of executive perceptions[J]. International Journal of Production Economics, 2011, 133(2): 777-786.