前言:

2020年初一场疫情使得众多公司面临裁员,众多员工无奈选择离职,那么该如何使用python这一编程语言分析员工流失。找出员工离开公司的原因,并学会预测谁将离开公司。

在过去,大多数的重点是“比率”,如自然减员率和保留率。人力资源经理计算以前的比率,尝试使用数据仓库工具预测未来的比率。这些利率反映了动荡的总体影响,但这是一半的情况。另一种方法可以是除了聚合之外,还将重点放在单个记录上。

有很多关于客户流失的案例研究。在客户流失中,您可以预测客户将在什么时候停止购买。员工流失与客户流失相似。它主要关注的是员工而不是客户。在这里,您可以预测谁,以及员工何时终止服务。员工流失成本很高,而增量式的改进将带来显著的效果。这将有助于我们设计更好的留用计划和提高员工满意度。

在本教程中,您将讨论以下主题:

  • 员工流失分析
  • 数据加载与理解特征
  • 探索性数据分析和数据可视化
  • 聚类分析
  • 利用梯度增强树建立预测模型。
  • 评价模型性能
  • 结语

员工流失分析

员工流失可以定义为智力资产从公司或组织中泄露或离开。或者,用简单的话来说,你可以说,当员工离开组织时,被称为“流失”。另一个定义可以是当一个群体中的一个成员离开一个群体时,也就是所谓的“搅动”。

研究发现,员工流失受年龄、任期、薪酬、工作满意度、工资、工作条件、成长潜力和员工公平观念等因素的影响。其他一些变量,如年龄、性别、种族、教育程度和婚姻状况,是预测员工流失的重要因素。在某些情况下,比如拥有利基技能的员工就很难被取代。它影响到现有雇员的持续工作和生产力。作为替代者,收购新员工有其成本,如招聘成本和培训成本。此外,新员工将需要时间学习技能,在类似水平的技术或商业专业知识的老员工。组织通过应用机器学习技术预测员工流失来解决这个问题,这有助于他们采取必要的行动。

以下几点有助于您更好地理解员工和客户的流失:

  • 企业选择雇佣员工,而在市场营销中,你却不能选择你的客户。
  • 员工将是你公司的代言人,集体地,员工生产你公司所做的每一件事。
  • 失去顾客会影响收入和品牌形象。与保留现有客户相比,获得新客户是困难和昂贵的。员工流失对公司一个组织来说也是痛苦的。寻找和培训替代者需要时间和精力。

与客户流失相比,员工流失具有独特的动态特性。它帮助我们设计更好的员工留用计划,提高员工满意度。数据科学算法可以预测未来的波动。

导入模块

加载数据集

让我们首先使用熊猫的ReadCSV函数加载所需的人力资源数据集。您可以从链接.

这里,在给定的数据集中,原始数据由逗号分隔符(“,”)分隔。您可以更仔细地查看数据,借助熊猫图书馆的“head()”功能,它返回了前五项观察结果。类似地,“tail()”返回最后五个观察结果。

加载数据集之后,您可能希望了解更多有关它的信息。您可以使用info()检查属性、名称和数据类型。

该数据集有14 999个示例,以及10个属性(6个整数、2个浮点数和2个对象)。没有变量列具有空/缺失值。

您可以将10个属性详细描述为:

  • 满意度水平:这是员工满意点,从0到1不等.
  • 最后一次评估:由雇主对业绩进行评估,其范围也从0到1。
  • Number_Projects:分配给员工的项目数量是多少?
  • 平均每月工作时数:一个月内雇员平均工作时数是多少?
  • 时间消耗公司:时间消耗公司是指员工的经验。雇员在公司工作的年数。
  • 工伤事故:员工是否发生过工伤事故。
  • 晋升5年:员工是否在过去5年中获得过晋升。
  • 部门:员工工作部门/部门。
  • 薪资:员工的薪资水平,如低、中、高。
  • 左:员工是否已离开公司。

让我们跳进数据洞察

在给定的数据集中,有两种类型的员工--一种是留下来的,另一种是离开公司的。因此,您可以将数据分成两组,并比较它们的特点。在这里,您可以使用groupby()和means()函数找到这两个组的平均值。

在这里,你可以解释说,离开公司的员工满意度低,晋升率低,薪水低,与留在公司的员工相比,他们工作得更多。

大熊猫的描述功能便于获取各种汇总统计数据。此函数返回数据的计数、平均值、标准差、最小值和最大值以及分位数。

数据可视化

雇员离开

让我们查查还剩多少员工?

在这里,您可以使用Matplotlib绘制条形图。条形图适用于离散变量计数的显示。

在这里,你可以看到大约15000人留下了3,571人,并留下了11,428人。剩下的雇员人数占总就业人数的23%。

项目数目

类似地,您还可以绘制一个条形图来计算部署在多少个项目上的员工数量?

大多数员工都是从3-5开始做这个项目的。

在公司工作的时间

同样,您也可以绘制一个条形图来根据多少经验来计算员工的数量?

大多数员工有2-4年的工作经验。而且,3年和4年经验丰富的员工之间存在着巨大的差距。

使用Seborn的子图

这是您可以一个一个地分析这些特性的方法,但这将是很费时的。更好的选择是使用Seborn库并使用子图在一次运行中绘制所有图。

您可以在上面的可视化中观察到以下几点:

  • 大多数员工都是从3-5开始做这个项目的。
  • 在3年到4年的经验员工之间有一个巨大的下降。
  • 剩下的雇员人数占总就业人数的23%。
  • 在过去的5年里,获得晋升的员工数量明显减少了。
  • 销售部的员工人数最多,其次是技术和支持部门。
  • 大多数雇员的工资要么中等,要么低。

您可以在上面的可视化中观察到以下几点:

  • 那些项目数量超过5个的员工离开了公司。
  • 完成了6个和7个项目的员工离开了公司,似乎他们的工作负担过重。
  • 有五年工作经验的员工因过去5年没有晋升而离职更多,超过6年的工作经验因对公司的感情而不离职。
  • 那些在过去5年里升职的人没有离开,也就是说,所有离开的人在过去的5年里都没有得到升职。

数据分析和可视化摘要:

以下特点最能影响一个人离开公司:

  • 晋升:如果员工在过去5年没有得到升职,那么他们辞职的可能性要大得多。
  • “公司时代”:在这里,三年制看起来是员工职业生涯中的一个关键时刻。他们中的大多数人都是在三年左右辞职的。另一个重要的问题是6年,在这一点上,员工不太可能离开。
  • 项目数量:员工敬业是影响员工离职的另一个关键因素。3到5个项目的员工离开公司的可能性较小。项目数量越来越少的员工可能会离开。
  • 薪资:在中、低薪资组中辞职的大多数员工。

让我们找出离开的员工群体。你可以观察到,任何员工留下来或离开的最重要因素是满意程度和在公司的表现。所以让我们用聚类分析把他们聚集在一组人中。

聚类分析

在这里,离开公司的员工可分为3类:

  • 高满意度和高评价(在图中用绿色阴影),你也可以称他们为优胜者。
  • 低满意度和高评价(由蓝色阴影(在图中的绿色阴影),你也可以说他们沮丧。
  • 适度的满意度和适度的评价(在图中用灰色阴影),你也可以称它们为“坏匹配”。

建立预测模型

预处理数据

许多机器学习算法都需要数值输入数据,因此需要在数值列中表示分类列。

为了对这些数据进行编码,您可以将每个值映射到一个数字。例如,薪资列的值可以表示为

低:0、中等:1和高:2。

这个过程被称为标签编码,SskLearning可以方便地为您使用LabelEncoder完成这一过程。

在这里,您导入了预处理模块并创建了Label Encoder对象。使用此LabelEncoder对象,您可以将“工资”和“部门”列转换为数字列。

分体式列车及测试装置

要理解模型性能,将数据集划分为训练集和测试集是一种很好的策略。

让我们使用函数TRANS_TEST_Split()来拆分数据集。您需要传递3个参数特性、目标和test_set大小。此外,您还可以使用随机状态来随机选择记录。

在这里,数据集按70:30的比例分为两部分。这意味着70%的数据将用于模型训练,30%用于模型测试。

模型建立

让我们建立一个员工流失预测模型。

在这里,您将使用梯度增强分类器来预测搅拌。

首先,导入GradientBoostingClassfier模块并使用GRadientBoostingClassfier()函数创建梯度增强分类器对象。

然后,使用FIT()在火车集中拟合模型,并使用PRECT()对测试集执行预测。

评价模型性能

好吧,你的分类率是97%,被认为是正确的。

精度:精确是指精确,即你的模型有多精确。换句话说,你可以说,当一个模型做出预测时,它多久才是正确的。在你的预测案例中,当你的梯度提升模型预测一个员工将要离开时,该员工实际上95%的时间离开了。

回忆:如果有一个员工离开了测试集和你的梯度提升模型可以识别92%的时间。

结语

恭喜你,你终于完成了本教程!

在本教程中,您已经了解了什么是员工流失?,它与客户流失有何不同,使用matplotlib和seabelln对员工流失数据集进行探索性数据分析和可视化,使用python Scikit-Learning包进行建模和评估。

我期待听到任何反馈或问题。你可以留下评论来问一个问题,我会尽力回答的。

首先请与所有现有链接到该网络共享的映射断开连接_疫情之下:该如何使用Python预测员工流失,老板直呼内行!...相关推荐

  1. 首先请与所有现有链接到该网络共享的映射断开连接_嘉兴快速路环线时代来了!这12张主城楼盘片区地图,请收好...

    昨日,嘉兴有大事发生. 全城期待的主城区快速路环线工程,正式开工! 顷刻之间,新闻刷遍了嘉兴人的朋友圈. 有关快速路开工的具体内容,本文不再重复,请移步至嘉兴小新微信公众号---[嘉兴头条]快速路环线 ...

  2. 指定的网络文件夹目前是以其他用户名和密码进行映射的。要用其他用户名和密码进行连接,首先请断开所有现有的连接到网络共享的映射...

    什么情况?我是win7 32 系统,对方是xp64 . 解决办法: 当映射网络驱动器到文件服务器时,发现有些文件夹可以被映射,有些文件夹却不能被映射. 在输入了用户名和密码后弹出以下错误信息:&quo ...

  3. C#远程主机强迫关闭一个现有链接问题简述

    所谓的远程主机强迫关闭一个现有链接,我的理解是:客户端与服务端之中,有一个率先中断了已经建立的SOCKET,从而导致连接的另一端被强行关闭链接------毕竟你连接的另一端已经关闭了,那你还链接个毛啊 ...

  4. 易语言报错:无法定位链接器!请检查 tools\link.ini 中的配置是否正确。 静态连接失败...

    今天下午搞易语言,在编写动态链接库以后,静态编译的时候出现以下提示: 无法定位链接器!请检查 tools\link.ini 中的配置是否正确. 静态连接失败 于是网上百度了下,找到相关的解决方法: 编 ...

  5. SVN拉取项目代码(checkout)和远程强制关闭一个现有链接

    一.checkout代码 创建文件夹,在哪个盘都可以 在文件夹中鼠标右击选择SVN Check out 弹出: 写入svn URL ==> ok, 小技巧:拉取项目代码时先不忙拉取代码可以将sv ...

  6. python下载电影天堂视频_一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接...

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的 ...

  7. 【精品】河南网通如何进行宽带拨号链接及网络共享

    注意:本方法仅适用于PPPOE拨号的河南网通宽带用户,DHCP+拨号的用户请将本页加为书签并耐心等候,目前新联通正在将DHCP+切割为PPPOE,原始的DHCP限制带宽为100 任何软件是不能加速的, ...

  8. 如何退出谷歌共享的云端网盘_如何在不更改共享链接的情况下更新Google云端硬盘中的共享文件...

    如何退出谷歌共享的云端网盘 When you upload a new version of a shared file to Google Drive, the old file is not re ...

  9. 软件测试-PR在运行场景的时候报错测试机:localhost,连接失败!请检查执行器与压力机之间的网络连接,以及场景组中各个项目配置的路径

    报错文字如下: 测试机: localhost,连接失败!请检查执行器与压力机之间的网络连接,以及场景组中哥哥项目配置的路径. 报错截图: 解决方法: 是因为你没有开启Agent 截图所示: 或者是这样 ...

最新文章

  1. 计算机组成原理判零实验,计算机组成原理实验报告 进位位控制、通用寄存器判零实验...
  2. EDM数据营销概念简要介绍
  3. Python3读取HTML文件
  4. SSD框架训练自己的数据集
  5. VMware linux 克隆机的配置
  6. Java 枚举:实现接口
  7. 正则表达式(不断更新,欢迎纠错)
  8. Linux创建多个子线程并回收
  9. C核心技术手册(四十二)
  10. Facobook开源视觉问答VQA框架:Pythia
  11. 一定要知道的,那些Linux基本操作命令
  12. Ubuntu下SMPlayer播放器安装配置以及常用快捷键记录
  13. 微机课设 | 基于STC15单片机的简易数字密码锁设计
  14. nginx代理、白名单过滤、双域名备案代理
  15. Python-Excel报表自动化生成报表(二)
  16. 超越授权使用计算机,提供侵入、非法控制计算机信息系统程序、工具罪
  17. vue-cli3.0 进行项目的部署和构建
  18. 百度地图实现鼠标绘制多边形并获取所有点坐标
  19. Linux下的常用编程工具初探
  20. ROS下安装vscode并配置ROS编译环境

热门文章

  1. CentOS6.5 安装ORACLE 安装界面乱码解决方案
  2. [原创].NET 业务框架开发实战之六 DAL的重构
  3. auto static 的区别
  4. Snabbdom(虚拟dom-9-patchVnode函数)
  5. Html Picture
  6. linux+应用程序高级编程,linux-----shell高级编程----grep应用
  7. linux查看历史的所有命令,linux查看历史命令history
  8. IDEA社区版找不到tomcat
  9. 贪心之安排活动会场问题
  10. 怎么才能在百度上看到自己发布的博文?