基于代价敏感加权支持向量机的员工离职分类预测

2021-03-01 08:44万毅斌王绍宇秦彦霞
智能计算机与应用 2021年12期
关键词:样本分类算法

万毅斌,王绍宇,秦彦霞

(东华大学 计算机科学与技术学院,上海 201620)

0 引 言

随着中国经济的高速发展,国内各类科技公司不断涌现,传统行业加速转型,许多省市都出台了各种各样的政策来吸引和留住人才,同样对于企业来说如何吸引人才和如何留住人才都是对企业的发展至关重要的。企业员工流失对于企业而言并不是简单人员流失,而会对企业的人事、财务、业务等多方面造成诸多影响,比如已投入费用的损失,流失员工所负责相关工作的临时性中断,流失员工可能会带走企业一些重要客户或关键技术,从而使企业承受巨大损失[1]。

随着员工需求和社会环境的不断变化,不同企业的员工所关心的点也不尽相同。根据调查统计,2020 年国内企业员工离职率为19.8%,其中主动离职率达到了13.4%,相较于过去有明显的升高。

目前很多企业在原有员工数据库的基础上,还通过统计、调查和问卷等方式建立了可用于预测员工离职倾向的数据集,以供人力资源等部门进行预警分类。目前,主流的分类算法,如基于结构风险最小化的SVM 能克服传统分类器局部最优解、过拟合、维数灾难等缺点[2]。但对于企业员工离职倾向预测、疾病诊断、欺诈检测等不平衡数据集的处理上,SVM在训练过程中由于自身的原因,以及数据集存在的界模糊,噪声污染等问题,导致对不平衡数据集的分类效果不佳[3]。为此,Bagging、Boosting、rotation forest 等一些组合算法提出,来解决分类问题中的数据不均衡问题[4];董燕杰等提出的Random-SMOTE 算法对小类样本进行上采样以平衡数据集,有效地解决了不平衡数据集中小类分类困难的问题[5];覃朗提出一种基于信息增益的超立方体顶点采样SMOTE-SVM 算法,通过优化算法对改进后的SMOTE-SVM模型的参数进行自动寻优,进而增强了算法参数设置的合理性,提升了分类性能[6]。

现有方法大多使用SMOTE 算法先对少数类样本进行合成,解决不平衡分类问题,但通常SMOTE与SVM 结合是对少数类样本进行处理,没有结合SVM 算法本身的特点,从而导致分类效果不够稳定。针对以上缺点,本文提出了一种改进的代价敏感算法,通过对合成的样本赋予错分代价,来增加通过SMOTE 算法合成的数据集的合理性,减少了可能存在的过拟合风险,提升了对企业员工不平衡数据集的分类效果和稳定性。

1 基于SMOTE-SVM 的企业员工离职分类

1.1 传统企业员工离职SVM 分类算法

假设某企业员工信息数据样本集为{(x1,y1),…,(xi,yi),…,(xn,yn) },i=1,…,n,其中n代表该企业员工数量,xi∈Rm,m表示该企业员工的信息维数,分类标签yi={-1,+1},其中-1 代表已经离职的员工,+1 代表在职员工。本文使用的SVM算法通过在Rn空间上寻找一个使分类边界最小的实数函数g(x)=(WTx+b),从而确定企业员工是否离职的分类决策平面,使用决策函数f(x)=sgn(g(x)) 来预测输入的任意一名新员工x对应的是否可能离职分类类别y。

对于一般的线性可分问题,SVM 通过求解下列二次规划问题得到最优分类超平面,式(1):

对于这样的二次规划问题,通常转换成与其对应的Lagrange 对偶问题来求解,该问题对应的Lagrange 函数为式(2):

其中,αi≥0 为Lagrange 乘子。可利用Lagrange对偶方法将式(2)转化为对偶问题,式(3):

求解后可得到分类决策的超平面函数,式(4):

由于企业员工信息数据集的维度较高,分布不均匀,无法通过SVM 对一般的线性可分问题的求解方法寻找分类超平面,因此本文使用核函数将企业员工样本数据集映射到高维空间,在高维空间求解分类超平面。通过核函数不仅无须知道高维变换的显示公式,还解决了高维数据带来的问题。对于给定的核函数K(x,y)=φ(x)φ(y),则非线性SVM 的对偶问题可以写成式(5)形式:

通过上述SVM 算法的分类原理可知,SVM 算法分类的结果是由分隔超平面所决定,该超平面也就是最终的决策函数,通过两类样本中的少量样本点即支持向量所决定的,所以对于样本中其他的非支持向量数据,不会影响SVM 算法的分类性能,算法的复杂性主要取决于支持向量的数量[7]。因此,传统SVM 算法一般在数据集中正类与负类样本数量大致相同的情况下有较好的表现,而面对现实应用领域中数据集不平衡的特点,由于SVM 算法决策平面偏移程度不足、支持向量分布不均匀等自身特点,其分类性能往往会大打折扣[8]。在企业员工离职倾向分类问题中,特别是对规模较大的企业,离职员工数量一般占员工总数的比例很小,但对于企业来说培养一名员工所投入的花费很大,为了避免和预防可能出现员工离职潮,能够提早发现员工离职倾向并采取措施是非常重要的。传统SVM在处理不平衡数据分类问题时,分类平面会向少数类偏移,即将更多的少数类样本错分为多数类,这样会导致企业对员工离职倾向判断不准确。

1.2 改进的SMOTE-SVM 分类算法

为了解决上述问题,本文引入SMOTE 算法,通过人工合成少数类样本,即离职员工的数据集,使离职员工数据数量与在职员工数据量达到均衡。具体操作是:首先找到离职员工样本xi的k个邻近同类样本,在这k个样本中随机选取一个xj,通过公式(6)合成新的样本:

虽然SMOTE 过采样方法已被证明在许多不平衡数据上表现良好,但是其对分类分布进行了假设。使用SMOTE 算法对数据集进行过采样处理,会使得SVM 算法存在一定的过拟合风险,同时SMOTE算法在合成数据的时候,并未考虑噪声的影响,会导致合成的数据增加了原始样本的噪声率,最终导致影响SVM 算法的准确性[9]。

2 基于代价敏感加权的SMOTE-SVM 方法

为减少SMOTE 算法存在的过拟合问题,可通过改进的代价敏感算法对少数类、多数类以及合成实例进行不同的加权处理。改进的SMOTE-SVM的原始优化函数,式(7):

其中,权重因子cmaj、cmin、csyn控制了多数类、少数类和合成实例的错分代价。该方法通过对合成实例和原始的少数实例进行不同的加权,使得SVM 能够更加精细地控制分离超平面。

通过(7)式求解,得到的a*来确定新样本实例anew的类别y,式(8):

算法的主要流程如下:

3 实验结果及分析

3.1 数据来源

本文所使用的数据为某外企2015~2020 年内的所有在离职员工数据集。该数据集包含了5 020条员工的基础以及相关信息数据,包括员工的年龄、性别、职位等级、加班情况、旅游情况和公司满意度等35 列特征信息,其中已离职员工数量为434 名,在职员工数量为4 586 名,离职员工数量与在职员工数量的比例为1∶10,符合不平衡数据集的特点。

由于上述数据集中包含缺失值、噪音以及人工录入错误导致的异常值存在,不利于算法模型的训练。所以在训练实验前,首先要对数据集中的脏数据进行数据清理、集成和规约,使其能够达到标准,满足训练要求的数据集。

本文针对外企员工数据集中所存在的数据缺失、噪声及冗余等问题做了数据预处理。主要工作包括一是缺失值处理:对缺失率较高,且重要性较低的信息,比如亲属相关信息等直接删除变量,再使用随机插值法对小部分缺失值进行补充;二是冗余数据处理:由于企业员工数据信息数据集包含较多的属性信息,其中有部分属性与模型训练任务不相关,属于冗余数据,使用matlab 的scikit-learn 中的递归特征消除算法,由整个数据集开始,逐步删除尚在数据集中的最坏属性。

3.2 评价指标

本文采用基于混淆矩阵的评价方法,见表1。其中TP表示实际是正类且被正确分为正类的样本的数目;FN表示实际是正类但被错误分为负类的样本的数目;FP表示实际是负类但被错误分为正类的样本的数目;TN表示实际是负类且被正确分为负类的样本的数目。

表1 评价混淆矩阵Tab.1 Evaluation confusion matrix

通过表1 可计算出5 种评估标准:

(1)查准率Precision,表示预测正确的正类占总样本的比例,公式(9):

(2)查全率Recall,表示预测正确正类占所有正类的比例,公式(10):

(3)Overall Accuracy(OA),表示每个样本所分类的结果与检验数据类型一致的概率,公式(11):

(4)F- measure是查全率和查准率的调和值,是综合评价指标,公式(12):

(5)G-mean 表示算法在正确正类和负类的平均性能,公式(13):

其中,G-mean 考虑了两类样本的分类性能,只有分类平面不发生偏移,两类样本都有较大的查全率,G-mean值才会较大。F-measure考虑了少数类的查全率和查准率,任何一个值的变化都能影响F的大小,因此能全面反映分类器对少数类样本的分类性能。

3.3 实验结果及分析

本文采用Matlab 工具中的LibSVM 工具箱在某公司员工信息数据集上进行实验,对比传统SVM 和SMOTE-SVM 两种模型,验证本文方法的有效性。实验采用RBF核函数,gamma值取1。由于企业员工信息数据中存在缺失和冗余数据,因此首先对原始数据集进行了预处理,然后利用3 种模型进行学习,最后使用G-mean和F-measure衡量各方法的分类精确度,结果见表2。

表2 SVM、SMOTE-SVM与本文方法比较Tab.2 Comparison between SVM,SMOTE-SVM and our method

从表2 中的3 种方法的比较结果可以看出,由于未考虑不平衡数据集的问题,传统SVM 算法在三者中表现最差,G- mean和F- measure分别只有83.28%和81.95%;使用SMOTE 算法对少数类样本进行新实例合成,多数类与少数类样本数量基本达到一致,分类精度有了明显的提升,G- mean和F-measure分别达到了99.08%和89.25%;本文方法对SMOTE-SVM 方法增加了改进的代价敏感算法,对少数类样本、多数类样本和新合成的样本进行加权处理,实验精度有了进一步的提升。本文方法的G- mean值比SMOTE-SVM 略高,而F- measure值均比SMOTE-SVM 高10%,充分证明了本文方法对企业员工离职倾向分析的有效性。

4 结束语

本文以某大型外资企业为例,针对2015~2018年3 年的员工信息数据集,首先对原始数据集进行了数据预处理,包括缺失值补充,冗余数据处理等;针对传统SVM 分类器在处理不平衡数据集时分类超平面会向少数类偏移的特点,以及使用SMOTE算法对数据样本集进行上采样后的合成数据会对SVM 算法造成过拟合风险的问题,本文提出了一种改进的基于代价敏感算法与SMOTE-SVM算法,该算法通过对少数类、多数类以及合成样本进行加权处理,提高了SVM 分类器的稳定性和准确率。实验结果表明论文提出的改进算法,相对于传统SVM 和SMOTE-SVM 能达到更高的分类预测精度,能对员工离职倾向进行有效地预测,从而能提前采取应对策略来降低员工离职意向和提升企业竞争力。

猜你喜欢
样本分类算法
Travellng thg World Full—time for Rree
按需分类
教你一招:数的分类
说说分类那些事
学习算法的“三种境界”
直击高考中的用样本估计总体
算法框图的补全
算法初步知识盘点
随机微分方程的样本Lyapunov二次型估计
给塑料分分类吧