基于决策树的薪资结构普查模型研究
2018-07-12卢昊宽文汉云
卢昊宽 文汉云
摘 要:在对薪资结构进行普查时,由于薪资具有隐私的特性和各种不确定的因素,导致普查过程越来越难,精确度、时效性越来越低。为了快速、准确地了解薪资水平与结构,该文通过使用决策树模型对Adult数据集进行判断、训练,生成对应的薪资划分模型,将影响薪资阶级的各个属性建立起相应的关联,可以分析与预测人们的生活水平与影响因素,仿真的结果表明决策树模型能够进行真实预测。
关键词:薪资结构普查;决策树;薪资划分模型;数据集
中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2018)12-0265-02
决策树算法的核心是归纳学习算法,最基本的特点是运算速度快、结果简单、易于理解、方便将得到的模型转换成对应的规则[1]。因此决策树常常用于预测模型的生成[2-3],对未来的数据进行预测。在薪资调查中由于个人隐私以及工作变动等问题存在,导致直接通过群众调查结果存在着较大的误差。希望能够通过决策树算法对已拥有的薪资数据进行训练,得到一个较为精确的分类模型[4],进一步缩短薪资普查周期、提高数据精确度以及真实度。
1 决策树基本原理简介
1.1决策树算法理论
决策树(Decision Tree)是一类基于回归问题的对实例进行分类的树形结构。决策树呈树状结构,其模型类似于数据结构中的树形图[5]。在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布,图1是典型的决策树:
ID3决策树(Iterative Dichotomiser 3)算法,是Ross Quinlan发明的一种决策树算法,该算法的特点是简洁、运用广泛。它是以奥卡姆剃刀原理为核心,尽量用较少的资源做更多的事情,因此对于该算法而言,越是小型的决策树越优于大的决策树[6-7]。
1.2 C4.5决策树算法介绍
C4.5决策树算法是一种基于ID3决策树算法改进后的一种算法,其与ID3决策树算法最主要的区别是在于C4.5算法不再使用ID3决策树算法的信息增益,而是使用了信息增益率这个概念。
2 决策树在薪资结构普查中的应用
2.1数据源获取
本文的数据来源于UCI机器学习库的Adult数据集,该集合主要包含两个部分,训练集adult.data与adult.test。其中adult.data包含了32561调数据,总计有workclass、education、 occupation、relationship等总计16项属性。
2.2薪资结构普查决策树模型生成方案及流程
薪资结构普查决策树算法:
Input:DataSet(adult.data),featureList(包含筛选过后的13个属性集合)
Output:决策树T
C4.5(DataSet,featureList)
Begin:
创建决策树T,令T={}
创建根结点R
If:当前DataSet中的数据都属于同一类
标记R的类别为该类,将R加入决策树T。并返回T。
End If
If:当前featureList集合为空
标记R的类别为当前DataSet中样本最多的类别,将R加入决策树T。并返回T。
While(如果featureList不为空)
从featureList中选择属性F(选择G_Ratio(DataSet,F)最大的属性)
根据F的每一个值V,将DataSet划分为不同的子集DS,对于每个DS:
·创建结点C
·IF:DS为空
结点C标记为DataSet中样本最多的类
·Else
结点C=C4.5(DS,featureList-F)
·将结点C添加为R的子结点
End While
Return T
整体方案流程图:
3 结果与讨论
本算法是基于Python语言,PyCharm开发环境进行实现的,通过训练数据adult.data对决策树进行训练建模,再通过测试数据对训练所得的决策树模型进行检测,最终通过测试到的训练所得的决策树模型的正确率。并分别将决策树模型与朴素贝叶斯算法(NaiveBayes),最近邻算法(Nearest-neighbor)的正确率进行对比。
图3为决策树模型的测试结果,如图所示,该程序主要分为三个部分:模型训练、模型测试、以及模型正确率检测,其中模型测试正确率高达85.54%,相比其他分类模型更为精确。
该算法在构建时易于实现,产生的分类规则容易理解,相对于其他分类算法而言精确率较高。但在决策树构造过程当中需要进行多次的排序,因此需要花费大量时间,导致算法效率较低,并且可能出现过拟合情况。因此,该算法適用于非实时性的数据分析,并可建立所对应分类的影响属性的关联性。
4 结束语
该模型在训练过程中表现较好,其正确率优于其他传统的分类模型,建立的分类规则通俗易懂,并成功的避免了大规模的薪资调查,可以尽量减少对他人隐私的关注,能够合情合理地对未来的信息阶级变化进行预测。但决策树模型尚处于研究阶段,由于需要对数据集进行多次扫描与排序,在部分情况下执行效率相对较低。决策树模型能使用于绝大多数场景,适应性较强,具有较大的应用价值,特别是在分类场合中。相信在未来,随着决策树算法的不断优化,决策树算法来挖掘的数据越多,算法的效率和性能越好,算法的优越性就越明显。
参考文献:
[1]潘琛,杜培军,张海荣.决策树分类法及其在遥感图像处理中的应用[J].中国矿业大学地理信息与遥感科学系,测绘科学,2008,33(1):76-78.
[2]杨静,张楠男.决策树算法的研究与应用[J].计算机技术于发展,2010,22(2):116-120.
[3]冯少荣.决策树算法的研究与改进[J].厦门大学学报,2007,46(4):496-500.
[4]于卓.应用决策树构建个人住房贷款风险评估模型[D].东北财经大学,2007.
[5]唐华松,姚耀文.数据挖掘中决策树算法的探讨[J].计算机应用研究,2001(8):18-22.
[6]戴南.基于决策树的分类方法研究[D].南京师范大学,2003.
[7]张棪,曹健.运动目标图像检测与跟踪问题研究[J].计算机科学,2016,43(6A):374-383.