金融企业培养人才需要大量的成本,为了防止人才再次流失,应当注重员工流失分析。员工流失分析是评估公司员工流动率的过程,目的是找到影响员工流失的主要因素,预测未来的员工离职状况,减少重要价值员工流失情况。
本次实验项目是依据一家金融公司员工离职数据,目的是分析员工的离职原因,找到影响员工流失的主要因素,预测未来的员工离职状况,减少重要价值员工流失情况。
数据取自于kaggle平台分享的数据集,共有10个字段14999条记录。数据主要包括影响员工离职的各种因素(员工满意度、绩效考核、参与项目数、平均每月工作时长、工作年限、是否发生过工作差错、5年内是否升职、部门、薪资)以及员工是否已经离职的对应记录。
字段 字段含义
satisfaction_level 员工满意度
last_evaluation 最新绩效考核
number_project 参与项目数
average_montly_hours 平均每月工作时长
time_spend_company 工作年限
Work_accident 是否发生过工作差错
promotion_last_5years 5年内是否升职
sales 部门
salary 薪资
left 是否离职
实验环境配置说明
操作系统 |
win 10 64位操作系统 |
编译环境 |
Anaconda3+Pycharm2020.2.1 |
python版本 |
Python 3.6.6 |
主要引用第三方库 |
sklearn、pandas、numpy、matplotlib |
虚拟环境主要包版本截图:
分析步骤如下:
① 明确目的
② 提出问题
③ 数据整理
④ 数据可视化分析
⑤ 建立数据模型
数据读取导入和数据分布分析的核心代码
输出结果:
从上面的数据分析看出,数据整体是数值型的,现在进行缺失值数据特征的检查
结果如下:
可以看出数据是完整的,并没有缺失数据,所以没有脏数据可以直接使用。
从分析的结果图中可以得出一下结论:
①除项目数为2以外,随着项目数的增多,离职率在增大,且项目数是7的时候,离职率达到了100%以上。
②项目数2的离职率高,可能是这部分人工作能力不被认可。
③项目数6、7的总体少,离职率高,体现了他们的工作能力强,但同时工作压力太大导致他们离职。
④员工满意度:范围0.09~1, 中位数0.640, 均值0.613, 总体来说员工对公司比较满意;
⑤最新绩效考核:范围0.36~1, 中位数0.72, 均值0.716, 员工平均考核水平在中等偏上;
⑥参与项目数:范围2~7, 中位数4, 均值3.8, 平均参加项目数约4个;平均每月工作时长:范围96~310小时, 中位数200, 均值201。
⑦工作年限:范围2~10年, 中位数3, 均值3.5。
⑧总共有14999人,其中离职人数3571,占总人数的23.8%
⑨从上面的分析图可以看出,离职员工的满意度评分明显偏低,平均值为0.44。满意度低于0.126分的离职率为97.2%。可见提升员工满意度可以有效防止人员流失。
划分训练集和测试集,采用分层抽样方法划分80%数据为训练集,20%数据为测试集,并构建决策树模型搭建预测模型。
训练模型后并对模型做评估:
得到如下结果:
从该报告可以看出,所搭建的决策树模型在测试集上能有96%左右的预测准确率,可以根据特征信息判别员工是否离职。