R语言数据分析实例一:离职率分析与建模预测

Python014

R语言数据分析实例一:离职率分析与建模预测,第1张

本文分析利用IBM离职员工数据进行分析。在对离职率的影响因素进行观察的基础至上,建立模型并预测哪些员工更易离职。

一般而言,数据分析分为三个步骤:数据收集与清洗、探索性分析和建模预测。本文的数据集是IBM用于研究员工预测的 模拟数据 ,数据十分完整,无需清洗。因此,本文主要分为三个部分:

通过对IBM离职员工数据实践,本文希望发掘出影响员工流失的因素,并对利用R语言进行数据分析过程进行复习,深化对数据分析工作意义的理解。

IBM离职员工数据集共有35个变量,1470个观测个案。部分需要重点关注的变量如下:

上述变量可以分为三个部分:

载入分析包和数据集

通过描述性统计可以初步观测到:

分析结果:

基于对数据的探索性分析,员工离职有多方面因素的影响,主要有:

1.工作与生活的不平衡——加班、离家远和出差等;

2.工作投入如果不能获得相匹配的回报,员工更倾向离职;

3.优先股认购等福利是员工较为关注的回报形式;

4.年龄、任职过的公司数量的因素也会影响员工离职率;

删除需要的变量:EmployeeCount, EmployeeNumber, Over18, StandardHours

变量重新编码:JobRole, EducationFiled

分析结果表明:

随机森林所得的AUC值为0.5612,小于决策树模型。

GBM模型得到的AUC值为0.5915

对于对于随机森林和GBM的方法,AUC值小于单一决策树模型的AUC值的情况较少见,这显然说明单一的树拟合得更好或者更稳定的情况。(一般需要得到AUC值大于0.75的模型)

当结果分类变量之间的比列是1:10或者更高的时候,通常需要考虑优化模型。本例中,离职变量的比列是1:5左右,但仍然可能是合理的,因为在决策树中看到的主要问题是预测那些实际离开的人(敏感度)。

加权旨在降低少数群体中的错误,这里是离职群体。

向上采样(up-sampling)指从多数类中随机删除实例。

向下采样(down-sampling)指从少数类中复制实例。

分析结果表明:

加权调整的模型表现最好,相比较于单纯的随机森林和GBM模型,AUC值从0.5612上升至0.7803,灵敏度也达到了0.7276。据此,后续将采用加权调整后的模型进行预测。

已经训练出一个表现较好的模型。将其应用于实践时,需要注意以下几个方面:

可以观察到影响员工流失的前5个因素是:

因此,在实践中就需要注意:

本例中对工作投入高、收入低的员工进行预测。

本例分析仍有需要足够完善的地方,还可以往更多更有意义的地方探索:

1、技能一:理解数据库。

还以为要与文本数据打交道吗?答案是:NO!进入了这个领域,你会发现几乎一切都是用数据库 来存储数据,如MySQL,Postgres,CouchDB,MongoDB,Cassandra等。理解数据库并且能熟练使用它,将是一个基础能力。

2、技能二:掌握数据整理、可视化和报表制作。

数据整理,是将原始数据转换成方便实用的格式,实用工具有DataWrangler和R。数据可视化,是创建和研究数据的视觉表现,实用工具有ggvis,D3,vega。数据报表是将数据分析和结果制作成报告。也是数据分析师的一个后续工作。这项技能是做数据分析师的主要技能。可以借助新型软件帮助自己迅速学会分析。

3、技能三:懂设计

说到能制作报表成果,就不得不说说图表的设计。在运用图表表达数据分析师的观点时,懂不懂设计直接影响到图形的选择、版式的设计、颜色的搭配等,只有掌握设计原则才能让结果一目了然。否则图表杂乱无章,数据分析内容不能良好地呈现出来,分析结果就不能有效地传达。

4、技能四:几项专业技能

统计学技能——统计学是数据分析的基础,掌握统计学的基本知识是数据分析师的基本功。从数据采集、抽样到具体分析时的验证探索和预测都要用到统计学。

社会学技能——从社会化角度看,人有社会性,收群体心理的影响。数据分析师没有社会学基本技能,很难对市场现象做出合理解释。

另外,最好还能懂得财务管理知识和心理学概况。这些都将会使你做数据分析的过程更容易。

5、技能五:提升个人能力。

有了产品可以将数据展示出来,还需要具备基本的分析师能力。首先,要了解模型背后的逻辑,不能单纯地在模型中看,而要放到整个项目的上下文中去看。要理解数据的信息,形成一个整体系统,这样才能够做好细节。另外,与数据打交道,细心和耐心也是必不可少的。

6、技能六:随时贴近数据文化

拥有了数据分析的基本能力,还怕不够专业?不如让自己的生活中充满数据分析的气氛吧!试着多去数据分析的论坛看看,多浏览大数据知识的网站,让自己无时无刻不在进步,还怕不能学会数据分析吗?

拥有这些技能,再去做数据分析,数据将在你手里变得更亲切,做数据分析也会更简单更便捷,速成数据分析师不再遥远。

扩展资料:

企业对数据分析师的基础技能需求差别不大,可总结如下:

SQL数据库的基本操作,会基本的数据管理

会用Excel/SQL做基本的数据分析和展示

会用脚本语言进行数据分析,Python or R

有获取外部数据的能力,如爬虫

会基本的数据可视化技能,能撰写数据报告

熟悉常用的数据挖掘算法:以回归分析为主

参考资料:数据分析师_百度百科

 可以调查下员工的工作满意度,从几个维度,比如工作挑战,工作薪酬,工作环境,再从以往离职人员的离职原因进行归纳,看看他们的匹配度,再给那几个维度添上比重,比如工作薪酬占的比重比较大,那么满意度比重,得分越高越不容易离职,从而预测离职率。

现在很多公司通过做测评可以察觉一个人的工作动机,结合图片,举个例子:

从上面这张截图截图可以看出,此人动机中需求最高的是财富和权力,说明他对金钱财富与权力掌控的欲望非常强烈,很想做官或管理层;最低的创新和工作分最低,说了他目前的工作状态不是很好,比较急功近利,而且又不愿意过多的付出,在工作中并不开心。因此可以看出其离职概率很高。

员工离职前的10大征兆:

1、上网另投简历

2、参与度减少

3、工作效率变低

4、办公室恐惧症

5、比较各家公司

6、仪容仪表问题

7、经常往家搬东西,收拾自己的东西

8、频繁请假

9、和周围人的关系不再象以前那样

离职原因大体有以下几方面:

1、感觉个人在公司发展的空间有限;

2、薪酬待遇与个人期望值有较大差距;

(注:待遇比同地区同岗位平均水平低15%-20%,员工将对公司产生抱怨;待遇比同地区同岗位平均水平低25%,员工将极有可能选择离职)

3、员工与领导层之间的互相信用程度较差,员工与上司不容易沟通,想法得不到上司重视;

4、与领导人在公司理念上产生分歧(这条大都发生在企业高层离职上);

5、企业人际关系过于复杂,导致员工情绪低落、心情郁闷;

6、公司发生改制、股东或主要经营者更换等,被调整离职;

7、个人原因(如自己选择创业、离开企业所在城市、出国、考研等)选择离职;

8、公司对员工的职业生涯规划不清晰,在员工晋升、培训、薪酬增幅、激励、承担更多工作责任方面与个人期望值有较大差距,员工感觉到成长机会较少而选择离职;

9、办公环境不佳,如有辐射、噪音、被动吸二手烟等;(这一项在女性离职原因中占有一定比例);

10、合同期满或项目(工程)到期。