从R语言、WEKA数据角度、决策树模型看员工为什么离职?

马云说:“员工离职的原因总是只有两个:钱,没有到位;心委屈了。”

 

由Kaizong Ye,Weilong Zhang撰写

现在很多老板都抱怨说,年轻人的流动率太高了,员工觉得老板的钱太少了,最后还是多指责。

为什么我们最好和最有经验的员工过早离职?

×

1)决策树生长流程

决策树的决策过程就是从根结点开始,测试待分类项中对应的特征属性,并按照其值选择输出分支,直到叶子结点,将叶子结点的存放的类别作为决策结果。简单说来,决策树的总体流程是自根至叶的递归过程,在每个中间结点寻找一个「划分」(split or test)属性。








2)最优属性选择

下面我们来看看,决策树的最优划分属性选择,是怎么做的。


(1)信息熵

要了解决策树的「最优属性」选择,我们需要先了解一个信息论的概念「信息熵(entropy)」(相关知识可以参考ShowMeAI文章 图解AI数学基础 | 信息论),它是消除不确定性所需信息量的度量,也是未知事件可能含有的信息量,可以度量样本集合「纯度」。


 取值为1的时候,信息熵为0(很显然这时候概率1表示确定事件,没有任何不确定性);而当p k p_{k}p 

k

 是均匀分布的时候,信息熵取最大值log ⁡ ( ∣ y ∣ ) \log(|y|)log(∣y∣)(此时所有候选同等概率,不确定性最大)。


(2)信息增益

大家对信息熵有了解后,我们就可以进一步了解信息增益(Information Gain),它衡量的是我们选择某个属性进行划分时信息熵的变化(可以理解为基于这个规则划分,不确定性降低的程度)。




信息增益描述了一个特征带来的信息量的多少。在决策树分类问题中,信息增益就是决策树在进行属性选择划分前和划分后的信息差值。典型的决策树算法ID3就是基于信息增益来挑选每一节点分支用于划分的属性(特征)的。


到底如何解决这个困境? 拓端数据tecdat使用数据分析员工离开的原因,希望能从中找到线索。

我们搜集的数据包含:

l能力评估

l项目数量

l平均每月工作时间/小时

l花在公司的时间

l是否有工作意外

l是否在过去5年里进行了推广

l部门

l薪水

l员工是否离开

【大数据部落】从决策树模型看员工为什么离职?

1 判断哪些员工做出了较大贡献

为了判断哪些员工做出了较大贡献,我们需要得到一个判断的规则.


视频

从决策树到随机森林:R语言信用卡违约分析信贷数据实例

探索见解

去bilibili观看

探索更多视频

因此在这里我们将使用evaluation来代表哪些员工作出贡献的衡量标准,

为了得到判断的规则,我们要使用决策树模型.

决策树模型的概念如下:

决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。

然后我们需要evaluation作为决策树的因变量,将其他的员工特征作为输入变量,然后我们可以得到决策树的规则,从而判断哪些变量可以判断员工作出了贡献

我们查看模型的结构


Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户

阅读文章


从上面的结果来看,我们可以看到树的节点有平均工作时间,在公司所花的时间,满意程度,这几个变量.因此我们可以通过这些变量来判断一个人供是否对公司做出了贡献.从第一个节点我们可以看到,如果每月的平均工作小时小于零一百六十个小时的话,那么他的贡献,在78%左右,也就是平均贡献非常低.如果工作时间大于160个小时,我们要看他在公司所花的时间.如果公司所花的时间大于3.5.那么他对公司做出的贡献在81%左右.如果在公司所花的时间不足3.5.那么我们就要判断他对公司的满意程度.因此从上面的结果中我们可以看到,在公司所花的时间越多,那么这个人对公司的贡献可能略大,公司的满意程度较低,,说明他认为公司的可提高空间还很大,因此他对公司的贡献也会较大.


随时关注您喜欢的主题


2 哪些原因会导致员工离职

然后我们是用同样的方法来判断哪些原因会导致员工的离职,在这里我们使用员工是否离职作为因变量.

我们查看模型的结果

从结果中,我们可以看到有一些变量重复的出现,比如对公司的满意程度,在公司所花的时间所做的工程数量,最后的评估结果.因此可以认为这些变量对员工是否离职产生了重要的影响.

同时我们还可以得到对员工是否离职的影响的一个决策树方程

从上面的结果来看,我们可以发现,系数如果是负的那么说明这个,这个变量对于是否离职有负相关的作用,如果系数是正的,那么这个变量对员工是否与此产生了正相关的作用.那么从上面的结果中我们就可以看到,如果一个员工对公司的满意程度越高,那么他离职的可能性就越小,如果一个员工最后的评估成绩越高,那么他离职的可能性也越小,如果他做过的项目数量越多,那么他离职的可能性也越小,同时我们可以看到,如果他的薪水较低,那么他离职的可能性就越大.同时我们还可以看到,一个人的岗位,还有他平均的工作时间,对她是否离职似乎没有影响.

3 能否通过加薪升职等方式挽留那些做出贡献的员工 ?

那么是否可以通过升职加薪的方式挽留作出贡献的员工呢?

从上面的方程来看,答案是肯定的.

因为一个人的薪水越低,那么他离职的可能性就越高,因此如果增加一个人的薪水,那么会降低他的离职概率.同时从系数的大小我们还可以判断,如果一个人的职位是i t部门那么他的离职可能性会较小。同时我们可以看到,如果公司对它的最后评估越高,那么他离职的可能性也越小,因此我们可以通过升职加薪的方式来挽留作出贡献的员工。

提高教育水平,使年轻人具有中产阶级价值观和更高的自我期望。 但高等教育的普及也导致了中产阶级价值实行变得困难。 这就像能买得起票的人变得更多,结果不是每个人都可以上车。 因此,有时我们要调整对工作的预期,做好眼前的事情。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds