一种预测员工离职的方法及系统与流程

文档序号:18011971发布日期:2019-06-26 00:14阅读:401来源:国知局
一种预测员工离职的方法及系统与流程
本发明涉及计算机
技术领域
,特别是涉及一种预测员工离职的方法及系统。
背景技术
:员工流动率及相关研究属于人力资源规划领域的一个分支,人力资源规划模型通常基于员工流动可能性的概率估计,用来预测企业未来的员工构成情况。针对这些预测的研究是十分必要的,因为它可以保证正确的人在正确的时间出现在合适的位置上。国外的学者提出了很多关于员工离职预测的模型,这些模型大致可以分为两类:定性模型及定量模型。传统的人力资源评价方法多依赖于专家打分,具有较强的主观性与局限性。现有技术中公开号为cn108805413a的中国专利公开了一种员工离职风险预测方法、装置、计算机设各以及存储介质,方法包括:获取待测员工数据,所述待测员工数据包括在职员工数据和己离职员工数据;对所述在职员工数据和所述己离职员工数据进行预处理:从已预处理的已离职员工数据中提取多维度特征信息,并根据所提取的多维度特征信息构建训练集;通过预设随机森林算法对所述训练集进行训练,得到预测模型;根据已预处理的在职员工数据构建测试集,并使用所述预测模型对所述测试集进行预测,从而得到在职员工离职风险的预测结果。该专利虽然可以提升企业预测员工离职意向的能力,以减少企业的损失。但是,对数据集的多维特征并未进行处理,需要极大的存储空间和时间运行成本,另外,预测模型中每个决策树的权重均相同,因此对不平衡数据处理时存在缺陷。技术实现要素:本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种预测员工离职的方法及系统。为了实现本发明的上述目的,根据本发明的第一个方面,本发明提供了一种预测员工离职的方法,包括:步骤s1,获取已分类员工数据并构建第一训练集和第一验证集;步骤s2,基于第一训练集建立第一随机森林预测模型,利用袋外数据获得第一训练集中每个特征的重要度,将第一训练集的所有特征按照重要度的高低依次排序,分别从第一训练集和第一验证集所有特征中选取重要度排名前m个特征作为特征子集,构建第二训练集和第二验证集;所述m为正整数;步骤s3,基于第二训练集建立第二随机森林预测模型,利用第二验证集计算第二随机森林预测模型中每棵决策树的f-measure值,将决策树的投票权值依据所述决策树的f-measure值重新设置,获得离职预测模型;步骤s4,从待预测员工的数据中提取出特征子集为重要度排名中前m个特征的测试集,将测试集输入离职预测模型,离职预测模型输出待预测员工的离职预测结果。上述技术方案的有益效果为:本发明基于传统的随机森林算法,首先对数据中每个特征的重要性进行排序以减少数据维度,基于降维后的离职预测模型极大地节约了空间和时间成本,提高了预测效率;其次,将其与传统随机森林算法结合获得第二随机森林模型,计算第二随机森林模型中每棵决策树的f-measure值,建立决策树的不同权值,以解决数据不平衡的问题,使得离职预测模型的预测结果更加准确,可广泛应用于各大企业中。在本发明的一种优选实施方式中,所述已分类员工数据包括已离职、不离职和正在离职的员工的数据。上述技术方案的有益效果为:用于训练和建模的数据具有广泛性,增加离职预测模型的预测准确性。在本发明的一种优选实施方式中,在所述步骤s2中,所述利用袋外数据获得第一训练集中每个特征的重要度的步骤包括:步骤s21,对于第一随机森林预测模型中的每棵决策树,使用每棵决策树相应的袋外数据计算oob错误,第p棵决策树在噪声干扰添加前的oob错误值标记为erroob1p;步骤s22,随机向每棵决策树的袋外数据中的特征x中添加噪声干扰,并计算oob错误,第p棵决策树在特征x中添加噪声干扰后的oob错误值标记为erroob2px;步骤s23,按照步骤s22中的方法完成所有特征的噪声干扰添加以及添加噪声干扰后的oob错误计算;特征x的重要度的计算公式为:其中,n为第一随机森林预测模型中决策树的数量,n为大于等于1的整数。上述技术方案的有益效果为:通过特征排序,选取出重要的关键的特征作为特征子集,提高了基于该特征子集建立的离职预测模型的准确性;因降低了数据维度,使得预测模型建立更快速,空间和时间消耗较低,模型更易被解释。在本发明的一种优选实施方式中,所述步骤s3包括:步骤s31,输入第二验证集,将第二随机森林预测模型中的每棵决策树作为独立的分类器对第二验证集中的每个样本进行分类,得到每个决策树的精确率和召回率,计算决策树的f-measure值:其中,fj为第二随机森林预测模型中第j个决策树的f-measure值,1≤j≤k,所述k为第二随机森林预测模型中决策树的数量,k为大于等于1的正整数;redallj为第j个决策树的召回率;precisionj为第j个决策树的精确率;步骤s32,在第二随机森林预测模型的基础上将决策树的f-measure值作为所述决策树的投票权值获得离职预测模型;离职预测模型中决策树的投票权值为:wj=fj;其中,wj为离职预测模型中第j个决策树的投票权值;步骤s33,离职预测模型的分类结果为:其中,x为输入离职预测模型的测试集,h(x)为输入测试集x后离职预测模型输出的结果,hj(x)表示第j个决策树输入测试集x的分类结果,y表示输出变量,函数i()为指标函数。上述技术方案的有益效果为:解决了随机森林算法在处理不平衡数据时存在的缺陷,将f-measure值引入到rf算法中,对不同的决策树分配不同的权重,能够获得更精准的预测结果,提高了非平衡数据分类的表现。在本发明的一种优选实施方式中,在所述步骤s2中,选取重要度排名前m个特征作为特征子集依据为:所述m个特征中任一特征的重要度为所有特征重要度的平均值的t倍,所述t大于1,t与预测员工离职的方法的执行设备的可利用硬件资源有关,可利用硬件资源越多t越小,可利用硬件资源越少t越大。上述技术方案的有益效果为:使得该方法可应用于具有不同硬件资源的执行设备,使用范围广。为了实现本发明的上述目的,根据本发明的第二个方面,本发明提供了一种预测员工离职的系统,包括处理器和员工数据单元,所述处理器从员工数据单元获取包含有已分类的员工数据和待预测的员工数据,按照本发明所述的预测员工离职的方法对待预测员工进行离职预测。上述技术方案的有益效果为:本系统具有上述预测员工离职的方法的有益效果。附图说明图1是本发明一具体实施方式中预测员工离职的方法的流程示意图;图2是是本发明一具体实施方式中离职预测模型的结构示意图;图3是本发明预测员工离职的方法在一种应用场景中与其他预测方法比较的roc曲线图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。本发明公开了一种预测员工离职的方法,其流程示意图如图1所示,包括:步骤s1,获取已分类员工数据并构建第一训练集和第一验证集;步骤s2,基于第一训练集建立第一随机森林预测模型(即图1中的分类模型a),利用袋外数据获得第一训练集中每个特征的重要度,将第一训练集的所有特征按照重要度的高低依次排序,分别从第一训练集和第一验证集所有特征中选取重要度排名前m个特征作为特征子集,构建第二训练集和第二验证集;m为正整数;步骤s3,基于第二训练集建立第二随机森林预测模型(即图1中的分类模型b),利用第二验证集计算第二随机森林预测模型中每棵决策树的f-measure值,将决策树的投票权值依据决策树的f-measure值重新设置,获得离职预测模型;步骤s4,从待预测员工的数据中提取出特征子集为重要度排名中前m个特征的测试集,将测试集输入离职预测模型(即图1中的分类模型c),离职预测模型输出待预测员工的离职预测结果。在本实施方式中,随机森林算法是一种机器学习算法,若预测结果是离散值,则为随机森林分类,如果是连续值,则为随机森林回归。许多研究证实了随机森林算法具有较高的预测精度,对异常值和噪声具有良好的容忍度。随机森林算法分为两个阶段。首先,随机森林算法使用bootstrap重采样方法从原始样本中提取子样本,并为每个样本创建决策树。其次,算法对决策树进行分类,实现简单投票,以分类的最大投票作为预测的最终结果。传统的随机森林算法的所有决策树都具有相同的权重值,在使用不平衡数据分类预测时,会出现致命缺陷。将f-measure值引入到随机森林算法中,通过对不同的决策树分配不同的权重,可以获得更好的员工离职预测性能。在本实施方式中,许多组织内员工特性可分为几大类:基本信息、工作信息、职位信息、教育经历、培训经验,资格认证,工作经验,奖励和惩罚,家庭背景,薪酬和福利,绩效评估,居住地区,评估信息,考勤信息,和经济条件等。此外,不同的国家、不同的行业和不同的公司规模也可能会影响这些特性的集合。如果把所有的特征(维度)都考虑进去,算法应用中将会存在巨大空间和时间成本,这将严重影响算法性能。因此,基于随机森林算法可根据特征(变量)的重要度对其进行排序,因此可用来减少维度和删除不太重要的特征。在一种优选实施方式中,如图1所示,在步骤s3与步骤s4之间还包括通过输入测试集来评估离职预测模型性能的步骤。该测试集从已分类员工数据中获得。离职预测模型的评估性能至少包括召回率、f-measure值、roc面积和准确率方面。在一种优选实施方式中,已分类员工数据包括已离职、不离职和正在离职的员工的数据。在本发明的一种优选实施方式中,在步骤s2中,利用袋外数据获得第一训练集中每个特征的重要度的步骤包括:步骤s21,对于第一随机森林预测模型中的每棵决策树,使用每棵决策树相应的袋外数据计算oob错误,第p棵决策树在噪声干扰添加前的oob错误值标记为erroob1p;步骤s22,随机向每棵决策树的袋外数据中的特征x中添加噪声干扰,并计算oob错误,第p棵决策树在特征x中添加噪声干扰后的oob错误值标记为erroob2px;步骤s23,按照步骤s22中的方法完成所有特征的噪声干扰添加以及添加噪声干扰后的oob错误计算;特征x的重要度的计算公式为:其中,n为第一随机森林预测模型中决策树的数量,n为大于等于1的整数。在本实施方式中,oob错误(out-of-bagerror)表示袋外错误率。随机森林模型中在构建每棵决策树时,对训练集使用了不同的bootstrapsample(随机且有放回地抽取),所以对于每棵决策树而言,大约有1/3的训练实例没有参与这棵决策树的生成,它们称为这棵决策树的oob样本,即这棵决策树的袋外数据。在本实施方式中,其核心思想是通过增加每个特征的噪声来计算第一随机森林预测模型预测精度下降的程度,若噪声被随机添加到特征中导致袋外数据的准确度明显降低,这说明该特征对样本的分类结果有很强的影响,也就是说,它的重要度更高。找到与目标变量高度相关的特征变量;选取数量较少且能充分预测目标变量值的特征变量,具体的:(1)利用当前特征集,使用随机森林算法建立第一随机森林预测模型;(2)计算当前特征集合中每个特征的i值(特征值重要度),按照i值降序排序;(3)确定删除比率,并从当前特征值中删除重要度低的,以获得新的特征集;重复步骤(1)到(3),直到剩余的m个特征值和包含m个特征的特征集使用最后选中的特征集。删除比率和m的数值可以预先设定好,如可预设m为10,即仅保留影响员工流动率最重要的10个特征值以提高预测的效率。在一种优选实施方式中,删除比率和m可依据执行该方法的设备的硬件资源来确定,具体的,可以为:m个特征中任一特征的重要度为所有特征重要度的平均值的t倍,t大于1,t与预测员工离职的方法的执行设备的可利用硬件资源有关,可利用硬件资源越多t越小,可利用硬件资源越少t越大。在本实施方式中,硬件资源包括但不限于为内存大小、核心处理器的数目等。在本发明的一种优选实施方式中,步骤s3包括:步骤s31,输入第二验证集,将第二随机森林预测模型中的每棵决策树作为独立的分类器对第二验证集中的每个样本进行分类,得到每个决策树的精确率和召回率,计算决策树的f-measure值:其中,fj为第二随机森林预测模型中第j个决策树的f-measure值,1≤j≤k,k为第二随机森林预测模型中决策树的数量,k为大于等于1的正整数;redallj为第j个决策树的召回率;precisionj为第j个决策树的精确率;步骤s32,在第二随机森林预测模型的基础上将决策树的f-measure值作为决策树的投票权值获得离职预测模型,离职预测模型的结构如图2所示;离职预测模型中决策树的投票权值为:wj=fj;其中,wj为离职预测模型中第j个决策树的投票权值;步骤s33,离职预测模型的分类结果为:其中,x为输入离职预测模型的测试集,h(x)为输入测试集x后离职预测模型输出的结果,hj(x)表示第j个决策树输入测试集x的分类结果,y表示输出变量,函数i()为指标函数。在本实施方式中,预测模型性能的常用评价指标有:准确率(acc)、召回率(recall)、精确率(ppv)、roc曲线(receiveroperatingcharacteristic,接受者工作特征曲线)的下面积(auc)。需要使用混淆矩阵来计算这些指数。在混淆矩阵中,列表示预测类别,列中的值和是类别中的数据观察总值。此外,矩阵中的行表示实际类别,行中的值之和表示该类别中的数据观察总值。在这项研究中,我们的重点是是否有员工流动,这是一个二元分类。离职设置为正类别,未离职设置为负类别。如下表所示为员工离职预测的混淆举证,tp表示实际离职被预测为离职;fn表示实际离职被预测为未离职;tn表示实际未离职被预测为未离职;fp表示实际未离职被预测为离职。召回率(recall-truepositiverate)表示真阳率(tpr),公式如下:recall=tpr=tp/(tp+fn);假阳率(falsepositiverate)公式如下:fpr=fp/(fp+tn);精确率(precision)表示分类正确的正样本个数占分类器分成的所有正样本个数的比例,公式如下:ppv=tp/(tp+fp);准确率(accuracy-acc)表示分类准确度,公式如下:acc=(tp+tn)/(tp+fp+fn+tn);auc(areaundercurve)表示受试者工作特征曲线(roc)下的面积。它是判断二元预测模型优劣的一个重要指标,值越大,模型的性能越好。roc点的不同反映了对同一信号刺激的不同反应。另外,roc曲线的x轴坐标为假阳性概率(fpr),y轴坐标为召回率(recall)。本发明中,召回率,f-measure值,准确率将被用于评估分类算法性能。为解决随机森林算法在处理不平衡数据时存在的缺陷,将f-measure引入到随机森林算法中,对不同的决策树分配不同的权重,获得更精准的预测结果。本发明将精确率和召回率两个评价指标相结合,利用其调和均值f-measure来评价每个决策树的重要性,计算权重。与普通的rf算法相比,改进后的算法提高了非平衡数据分类的表现。本发明f-measure的计算公式如下所示:tpj表示第j个决策树的tp值,fpj表示第j个决策树的fp值,fnj表示第j个决策树的fn值。在本发明提供的预测员工离职的方法的一种应用场景中,具体实施过程为:步骤a,选取原始数据集:使用ibmwaston中的数据集,数据集中有1470名员工,每个员工有35项特征值。数据集中有237名员工离职,意味着在下表中“离职意愿”特征值中被标记为“yes”。16%的离职率很明显的体现了数据为不平衡数据。下表为最常见的35个特征值进行排列。在此实验中,使用python语言及numpy,scipy,scikit-learn,pandas,matplotlib库及三个工具。第一个工具是基于rf(randomforest,随机森林)算法的特征值排序,第二个工具是为了特征变量统计的可视化工具,还有一个为了rf算法基于f-measure的建模工具。步骤b,特征值选择:利用基于rf的特征排序工具,将员工数据输入到包含33个独立特征和1个因变量的1470行中。根据它们的重要性,我们将这33个特征按照降序排列,如下表所示:将重要度较低的特征逐一剔除,仅保留前10个特征(可预先设定,也可根据硬件资源确定)。在这33个特性中,有23个被删除,数据被重组为1470行、10个独立特性和1个目标变量。选择基于重要性的10个特征作为员工离职预测问题的特征,显著降低了数据维度。步骤c,本发明的离职预测方法与其他预测方法对比:本发明的离职预测方法在步骤s3中是对rf的简单决策树添加权重,这会带来更精准的分类预测。为了评估本发明的基于f-measure测度的离职预测方法,将权重加入员工数据集并设定“离职意愿”特征值代表离职意愿。如果为“yes”即代表离职,结果为“no”则为不离职。通过在重置抽样中选取十个特征,获取101个数据集。每个数据集的容量均与原始数据基一致。选取100个数据集为训练集,剩下的数据集为验证集。在此模型中,得到100个f-measure值,分类特征中得到正确的结果。将这些f-measure值作为权重值加入模型,f-measure值越大代表决策树具有更大的投票权重,通过这种方法,得到离职预测模型。然后,采用十折交叉验证方法,得到离职预测模型的性能指标。在此实验中,f-measure值大于平均权重的决策树会被给一个权重w(w>1),将w=3的wqrf与rf、c4.5、adaboost和bp神经网络进行了对比,结果表明,该方法具有较好的预测性能。下表为不同方法的实验评价指标:wqrf算法,即本发明的员工离职预测算法在度量指标召回率、f-measure值、roc面积和准确率方面的性能优于rf、c4.5、adaboost和bp算法。虽然在准确率方面与rf和adaboost的对比不明显,但wqrf准确率的增加仍然显示出更好的整体性能。下表是使用十折交叉验证方法的五种算法预测结果的模糊矩阵。在有237名离职员工的数据集中,rf算法正确预测32人,c4.5算法正确预测63人,adaboost算法正确预测37人,bp算法正确预测101人。然而,wqrf算法正确预测128人,预测结果是五种算法中最好的。不同算法的roc曲线如图3所示,wqrf算法的roc曲线更靠近左上角,c4.5更靠近右上角。wqrf比其他算法具有更大的auc值,这意味着更好的预测能力。综上所述,实验证明,wqrf比rf、c4.5、adaboost和bp算法具有更好的预测员工离职的能力。在图3中,真正例率为tp的概率,负正例率为fp的概率。tp(truepositive)真正例fp(falsepositive)假正例fn(falsenegative)假负例tn(truenegative)真负例本发明还公开了一种预测员工离职的系统,包括处理器和员工数据单元,处理器从员工数据单元获取包含有已分类的员工数据和待预测的员工数据,按照本发明的预测员工离职的方法对待预测员工进行离职预测。在本实施方式中,处理器可为fpga、arm等嵌入式运算处理芯片及其外围电路,也可以为台式电脑、笔记本电脑或电脑群组,或者为运算服务器等;员工数据单元可为存储设备、云存储或相关数据网站等。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1