杨君石
摘要:研究工作以某高校数据库中存储的与毕业生学习、就业相关的历史数据为对象构建模型用以预测毕业生就业去向。构建流程包含知识发现的完整过程,应用数据挖掘算法,提出针对特定数据集的一系列包括预处理、欠抽样及分类方法等处理方案,有效地实现预测目标,为高校数据库海量历史数据的利用提出新的思路,为高校就业指导工作提供数据支持。
关键词:就业预测;数据归约;空缺值;欠抽样
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)04-0016-03
Fayyad等指出KDD(Knowledge Discovery in Databases)过程解决的基本问题是先根据需要对大量难以直接理解和处理的低级数据进行选择、预处理、二次抽样和转换后,应用方法或算法从处理后的数据中识别和抽取、罗列模式,评估发现的模式,识别出更简洁、更抽象(比如描述性的近似值或生成数据的模式)、更有用(比如对未来案例的预测性估计模型)的形式[1]。
本文以某高校为例,遵循知识发现(KDD)进程,应用数据挖掘技术,构建毕业生就业去向预测模型,对历年高校毕业生在校期间的学业情况数据及就业相关数据进行科学分析,从中发现蕴藏可用的知识和潜在的规律,为各高校如何应对就业总量压力逐年递增、就业结构性矛盾突出的形势[2],为学生的就业指导工作制定正确决策提供科学的基于数据的参考依据。
1 数据来源
高校建立的学生信息管理系统数据库中的数据多被设计为旨在表示和存储的数据结构,往往仅关注存储效率、表示的可理解程度及对数据进行增、删、改、查等操作的便利性等问题,这些数据或者无法直接应用某种数据挖掘算法,或者挖掘后的结果有极大的错误率或产生与事实或先验知识相离甚远的偏差。
本文选取某高校近四届毕业生的历史数据,包括来源于毕业生就业公共网的就业单位表、校内就业处提供的就业推荐表以及教务处提供的成绩数据表,大致从毕业生的家庭情况、奖惩情况、学习情况、最终就业用人单位性质等方面对毕业生进行描述。该原始数据来源于不同系统的数据库,数据表字段多达上百,计算空间维数高,严重影响应用数据挖掘算法的效率。除此之外还存在一些问题,包括某个字段取值过多、取值含义重复或互相包含、不同数据表同一字段取值范围不同、部分字段存在不同比例的空缺值等,无法直接应用某种数据挖掘算法。
针对本数据集的特点,本文提出一套数据清理方案用于数据的预处理,作为预测模型的一部分,以便保证数据挖掘得到的预测知识是有效可用的。
2 模型设计
2.1 数据预处理
2.1.1 构造字段
以学生成绩表为例,课程字段多达上百个,每个学生修读的课程众多且互不相同,甚至每门课可能有多次考试成绩记录(包括正常考试、补考、缓考、重修正常考、重修补考、重修缓考等),对学生学业掌握情况的刻画过于详细,造成计算空间维数虚高、值冗余严重。选择合适的方案构造新的字段,对原始数据按照一定的标准从不同的角度提取信息进行归约降维处理,明确原字段或字段集的含义,对提高模型可行性和效率十分必要及重要。
以构造“专业基础水平”字段为例,选取学生成绩表中课程类型为“专业基础课”和“专业课题组”的课程成绩为样本集,为提高数据应用决策树算法的效率,按专业分类进行三次数据归约降维处理。首先选择所有考试类型为正常考试的人数和专业人数相符的课程,将其中非百分制成绩和特殊值按一定规则映射为百分制成绩,统计每个学生每门被选取课程在获得学分之前的历次考试成績平均分作为该生该门课程的修正成绩,实现第一次归约(特征归约)。基于修正成绩数据应用主成分分析法,以累计方差贡献率85%作为阈值提取主成分[3],以主成分代替原众多课程字段,实现第二次归约(特征归约)。经对比试验,确定以3类为期望聚簇个数对主成分得分进行k均值聚类,选择类内平方误差和最小的结果为该聚簇个数的最佳聚类结果,用相同聚簇中的各科成绩平均分在整个取值范围中的分布来描述三个聚类群组,构造的新字段值映射为成绩“高”、“中”及“低”,实现第三次归约(值归约)。
通过计算并比较聚类的Silhouette值评估聚类效果[4],可见传统平均分和学分绩点成绩的聚类效果均不如未降维和PCA得分的聚类效果好(如表1所示),虽然PCA得分的聚类效果次于未降维的聚类效果,但因参与聚类的特征维数比未降维少,聚类的效率比未降维的聚类效率高,因此使用主成分分析聚类的方法对成绩进行特征归约和值归约是合理可行的。
以此构造的新字段描述某毕业生对专业知识的掌握情况,代替原数据集中众多专业标准不同的课程成绩,更直观、更准确、更易于应用数据挖掘技术分析。
2.1.2 空缺值处理
针对原数据表中由开放式填写出错、数据客观缺失、构造字段产生的空缺值,在数据预处理阶段予以填充。常用的填充方法有以平均值、中位数或众数代替空缺值进行填充。经过平滑处理后的“英语水平”字段中有6.99%的空缺值,占总数比例超过5%,按传统填充方法将其统一置为“优秀”“中等”或“一般”都可能影响就业预测的结果,本模型提出利用数据挖掘算法进行推测的方法。
将毕业生成绩信息表中毕业生就读期间与英语水平直接相关的四门大学英语课成绩(记为E1、E2、E3和E4)和“英语水平”字段数据合并为样本集。根据“英语水平”字段值是否空缺分割为训练测试集和待填充的空缺集。先将训练测试集中的大学英语课程成绩数据以3类作为期望聚簇数应用k均值聚类算法,再按相同聚簇中英语成绩平均分在所有成绩中的分布来描述该聚簇,将各门英语连续值成绩离散化为“优秀”“中等”和“一般”三个离散值。将离散化后的英语成绩替代原百分制成绩,新的数据集以“英语水平”为分类字段,应用C4.5算法生成树,用置信水平为25%的EBP剪枝,使用10折交叉验证法评估,最后得到决策树模型,如图1所示。
经效率、准确率的试验对比,使用k均值聚类法离散化连续成绩建立的决策树比以传统的二元区分法建立的决策树准确率更高、速度更快、树的规模更小、更容易理解。以此导出的决策规则有15条,例如“IF E1=高 AND E3=中 AND E4=低 THEN 英语水平=校四级”“IF E1=高 AND E3=中 AND E4=高 THEN 英语水平=CET-4”。使用这些规则将空缺集中样本的英语水平字段置为“校四级”或“CET-4”。再根据平滑化方案将字段值规整为“一般”或“中等”。
经试验比较,使用此方案归纳推理英语水平空缺值的方法优于众数填充法,能提高就业预测的准确性,具有合理性和可行性。
2.1.3 数据整合结果
将数据清洗和预处理后的毕业生基本信息表、毕业生成绩信息表和毕业生就业信息表以共有字段“学号”进行链接,生成毕业生就业预测信息汇总表,表结构及属性取值范围如表2所示,共有19个字段、11176条记录。
2.2 应用挖掘算法
选取毕业生就业预测信息汇总数据集中的1500条样本作为测试集,剩下9676条样本作为学习生成分类器的训练集。按“毕业去向”字段取值对训练集数据进行分类,可见其具有分布不平衡的特点,其中有7148条样本是“非公有中型企业”,其余2528条是除“非公有中型企业”以外的其他取值。为避免剪枝后得到的决策树模型太过简化,无法预测占比较小的分类,应进行欠抽样处理[5]。对训练集中7148条毕业去向字段值为“非公有中型企业”的样本子集以k为2528进行k均值聚类算法,选取最佳分簇效果中每个聚簇的质心作为欠抽样后的样本,共2528条,合并其余2528条样本得到的5056条样本集作为欠抽样处理后的训练集,再使用WEKA的特征选择(Attribute Selection)方法,选取最具有价值的9个属性,以“毕业去向”字段为分类属性,构建C4.5决策树,按置信区间阈值为20%进行EBP剪枝,得到的决策树规模仍然很大,从中挑选出准确率较高并有代表性的分枝,生成IF-THEN规则集,用于预测毕业生就业去向。
2.3 模型评估
对毕业生就业预测信息汇总数据集以10折交叉验证法对未欠抽样数据集进行决策树分类模型(下称模型1)与抽样后分类模型(下称模型2)进行评估对比。不平衡问题分类效果评估指数主要以AUC(即各类别平均ROC Area值)为主[6],值越高,分类效果越好。计算两种模型的树规模及AUC值如表3所示,
评估两种模型的混淆矩阵如图2及图3所示。
比较两种模型,可见本模型剪枝后树的规模得到缩小,能在一定程度上简化树的描述,由混淆矩阵和AUC值对比可见本方案对占比小的分类效果更佳。在测试集中可得到AUC值为0.764,可见本方案在测试集中可以保证与训练集等同的分类效果。
3 结论
本文基于对真实原始数据实际存在的冗余、模糊、噪音多等质量低的现状提出一系列有效可行的解决方案,在数据归约降维、填充空缺值、欠抽样等阶段采用k均值聚类、决策树算法等数据挖掘方法进行数据预处理后,使用C4.5决策树分类算法和EBP剪枝算法构建毕业生就业预测模型。经过评估,在未知数据集上能实现一定的分类预测效果,尤其是对占比少的分类上能保证一定的预测准确率。模型所得规则亦为以往的就业指导经验提供实证依据。将来还应进一步对不平衡数据集下的数据挖掘算法应用进行探讨,以求提高占比小的分类预测准确率,实现为就业指导决策的制定提供数据支持的常态化。
参考文献:
[1] Usama Fayyad, Gregory Piatetsky-Shapiro, Padhraic Smyth. From Data Mining to Knowledge Discovery in Databases[J]. AI Magazine,1997,17(3):37-54.
[2] 史彩虹. 高校扩招背景下大学生就业问题现状及对策研究[D].山东师范大学,2008.
[3] [美]MehmedKantardzic.数据结构:概念、模型、方法和算法[M].2版.王晓海,吴志刚,译.北京:清华大学出版社,2013.
[4] 王开军.基于有效性指标的聚类算法选择[J].四川师范大学学报,2011,34(6).
[5] 陈兴稣.基于聚类的不平衡数据分类研究[D].东北师范大学,2013.
[6] 吴磊,房斌,刁丽萍,等.融合过抽樣和欠抽样的不平衡数据重抽样方法[J].计算机工程与应用,2013,49(21):172-176.
【通联编辑:代影】