设计与分析◆ShejiyuFenxi基于机器学习的收入预测研究罗雨欣
(重庆市璧山中学校,重庆402760)
摘
要:个人收入关系着居民幸福指数和国家经济发展水平,个人收入的分析与研究一直是人们关注的热点之一。现主要研究机
器学习在个人收入预测方面的应用,涉及的机器学习模型主要包括KNN、SVM和随机森林。实验结果表明,在这三种模型中,随机森林模型的预测准确率最高。
关键词:收入预测;机器学习;SVM;KNN;随机森林
1研究背景随着我国的经济发展越来越快,居民收入水平逐渐成为
社会关注的焦点。个人收入预测主要是对居民的基本信息进行数据挖掘,预测居民的收入状况。个人收入预测在实际应用中有巨大的现实意义和参考价值,有利于社会研究和分析,可对经济发展进行有针对性的规划指导。
日常生活中大量的常见问题,都可以使用数据挖掘的方
法来解决[1-2]
。数据分类被广泛应用于经济、生活、医学等领域[3-4],例如客户分析、生理指标的处理等,数据分类对各项工作都提供了有力的参考及有效的帮助。
笔者在互联网上下载了关于个人收入的数据集,涉及的特征包括性别、年龄、国籍、婚姻状况、工作状况、受教育程度等。本文选取了数据集中的一部分数据,通过多个机器学习模型进行实验,具体采用KNN、SVM、随机森林模型;随后通过实验结果分析了各种因素对收入预测准确性的影响,寻找、调整各个模型的最优参数,并比较了基于最优参数的不同模型的实验结果,最终得到了一个最优预测模型。
2KNN、SVM、随机森林模型介绍支持向量机模型(SVM)最初是一种处理数据二分类的方法,它是基于结构风险最小化和VC理论建立的[5-6]。SVM模型在训练过程中把低维不可分的数据转化成高维可分的数据,在转化后的高维平面中,SVM旨在找到一个超平面,让训练集样本中的数据恰好分布在超平面两侧,并使得超平面两侧的数据到超平面的距离达到最大。这些特点使得SVM算法能够在有限数据集中得到最优解,同时对未知样本也具有较好的泛化能力。在图像、文本、时序预测等领域,SVM都有着广泛的应用。但SVM算法也有着速度慢、算法复杂、测试阶段运算量大等一系列缺点,这是应用SVM模型时需要重点考虑的因素。
K近邻模型(KNN)是一种无需训练的简单预测方法[7]。KNN具有良好的移植性,可用于小范围的数据统计,当参数合适时,实验精度较高。但KNN模型的较多,泛化能力弱,对参数有严格要求,对于大范围的数据表现较差,且参数的选取一般较为主观。KNN模型的核心是距离度量的方式,它首先获得距离目标点最近的K个点,之后根据分类决策规则,进一步决定目标点的类别。KNN模型有三个关键点:K值的选择、距离度量和分类规则。K值的选择很关键,如果K值过小,预测误差会偏大;相反,如果K值过大,那么近似误差会偏大。对于距离度量来说,常用的距离是余弦距离和欧氏距离。KNN模型的分类决策规则可以是常见的简单多数规则,也就是在距离目标点最近的K个点中,哪种类别的数据量最大,就把目标点的类别归于哪一类。
随机森林算法是LeoBreiman于2001年提出的一种算法[8],Breiman把随机子空间算法和集成学习算法相结合,得到了最终的随机森林算法。该算法解决了决策树过拟合的问题,对噪声和异常值有较强的容忍度,并且不需要分类的先验知识,是一种数据驱动的非参数分类方法。随机森林算法把决策树作为基本的分类器,训练时使用Bagging算法训练得到多个决策树模型。分类时由包含的多个决策树分别进行类别预测,再通过投票法判断输入数据的类别。哪种类别所获得的投票数最多,就把输入数据归于哪一类。随机森林模型的应用效果在理论和实践中得到了大量证明,它有着出色的泛化能力,不易造成过拟合,预测误差较小。随机森林在实际应用中的良好表现使得它被广泛应用于各大领域,例如文本分类、经济问题建模、医学研究、生物信息分析等,并且都取得了不错的成果。
3实验分析3.1实验数据和工具
笔者在UCI数据仓库网站上下载了关于个人收入预测的
数据集,该数据集包含了14个代表个人基本信息的特征,这些特征包括年龄、工作单位、性别、受教育程度、婚姻状态、国籍等。每条数据包括一个类别标签,标签有两种取值:1或者0,表明该公民的年收入是大于5万美元还是小于5万美元。本文下载的数据集包含训练集和测试集,训练集含有10000+条数据,测试集含有5000+条数据。考虑到实验机器的配置较低,为了提高效率,本文从10000+条训练集中抽取了5000条数据用于实验。
本文使用Weka软件进行数据挖掘的实验。Weka基于Java语言开发,是一个数据挖掘的第三方工具平台,该平台集成了大量的机器学习模型和数据挖掘的相关算法,在机器学习领域被广泛使用。本文在进行实验时,采用了五交叉验证的方法。3.2实验结果
3.2.1
KNN模型的实验结果
本文首先使用KNN模型进行实验。实验过程中首先调整KNN模型中K值的大小,设置K值分别为1、3、5、7、10,实验结果表1所示。
由表1可知,当K值从1~7逐渐变大时,模型的准确率逐步上升;7~10时,模型的准确率开始下降;KNN模型在K值为7时有着最高的准确率。因此,本文的KNN模型中参数K的最优值是7。另外,需要说明的是,KNN是一个较为特殊的模型,
114表1
KNN模型的实验结果
K值准确率训练时间/s
177.30%0379.74%0580.40%0781.10%010
81.04%
0
它不需要训练过程,因此表1中模型的训练时间均为0s。
表2是K取值为7时KNN模型在正类和负类上的表现,由表2可知模型在负类数据上的表现要优于正类数据的表现,无论是召回率、精确率还是F值,负类数据的预测值都要更高一些。经过分析得知,这是由于数据分布不均衡导致的。在数据集中,负类数据共有3779条,大约占了整个数据集的76%,而相比之下,正类数据只有1221条,占整个数据集的24%左右。在这种正负类数据分布不均衡的情况下,模型对于数量大的数据集更加敏感,在预测时对数据较多的类别有更大的倾向性,容易将输入数据判别为数据量更大的数据类别,正是这一原因造成了表2中正负类表现的差异。
表2
K=7时KNN模型在正类和负类上的表现
类别正类(年收入>5万美元)
负类(年收入<5万美元)
F值60.2%87.6%召回率58.5%88.4%精确率
81.1%
81.1%
3.2.2随机森林模型的实验结果
本文在实验中使用随机森林模型,为了找到随机森林包含决策树的最佳个数,本文依次设置决策树的个数为5、10、15、20、30,实验结果如表3所示。由表3可知,随着决策树个数变多,随机森林模型的预测准确率逐渐变高,训练时间也逐渐变长。当随机森林含有30个决策树时,模型的预测准确率最高,预测效果最好。因此,本文中的随机森林模型,含有30个决策树时表现最优。另外,由于随机森林模型的训练时间较少,决策树个数不同时,随机森林模型的训练时间差别较小,因此本文忽略了训练时间这一因素。
表3
随机森林模型的实验结果
决策树个数
准确率训练时间/s
568.00%0.281082.40%0.431582.96%0.832082.88%0.8830
83.02%
1.31
表4是含有30个决策树的随机森林模型的实验结果,由表4不难看出,和KNN类似,不论是精确率、召回率还是F值,随机森林模型在负类数据的表现都优于正类数据的表现。这同样是由于数据集中数据分布不均衡的原因导致的,前文已有分析,这里不再赘述。3.2.3
SVM模型的实验结果
本文在实验中使用SVM模型,为了找到SVM模型的最佳核函数,本文依次对不同核函数的SVM模型进行实验,实验结果如表5所示,表5中的a、b、c、d依次代表线性核函数、多项式核函数、RBF核函数和Sigmoid核函数。
ShejiyuFenxi◆设计与分析表4含有30个决策树的随机森林模型在正类和负类上的表现
类别正类(年收入>5万元)负类(年收入<5万元)
精确率68.0%86.9%召回率57.5%91.3%F值62.3%.0%表5
SVM模型的实验结果
核函数准确率训练时间/sa75.60%190.41b46.40%317.28c75.54%30.21d
75.58%
2.60
由表5可知,基于核函数b的SVM模型预测精确率最低,并且消耗的训练时间最长,在4个核函数中表现最差。对于核函数a、c、d来说,三个核函数的预测准确率相差不大,但是a消耗的训练时间最多,出于效率的考虑,核函数a的表现也比较差。核函数d的准确率较高,且训练时间远小于其他三个核函数,但基于d核函数的SVM模型,在正类数据的精确率、召回率、F值都为0,因此d核函数表现并不正常,因此本文中SVM模型的最佳核函数是c,也就是RBF核函数。
表6是基于RBF核函数的SVM模型的详细实验结果,由表6可知,SVM模型和上述KNN模型、随机森林模型的情况类似,即负类数据的预测表现优于正类数据的预测表现。这同样是由于数据集数据分布不均衡导致的,由此也可以知道,不论何种模型,数据分布不均衡都会对实验结果造成相似的影响。
表6
基于RBF核函数的SVM模型在正类和负类上的表现
类别正类(年收入>5万美元)
负类(年收入<5万美元)
精确率47.7%75.8%召回率1.7%99.4%F值
1.7%
86.0%
3.2.4三种模型的比较
表7所示为三种分类模型的对比,其中KNN模型的K值为7,随机森林含有30个决策树,SVM的核函数是RBF核函数。
由表7可知,三种模型中,随机森林模型有着最高的预测准确率,消耗的训练时间也较短,因此本文中的最佳模型是随机森林模型。
表7
三种分类模型的对比
模型准确率训练时间/s
KNN81.10%0随机森林83.02%1.31SVM
75.54%
30.21
4结语本文主要研究机器学习在个人收入预测方面的应用,使
用了KNN、SVM、随机森林模型进行实验。实验结果表明,三种模型中,随机森林模型有着最好的预测效果,预测准确率高于SVM、KNN模型的预测准确率。另外,数据集数据分布不均衡会造成实验结果出现一定的偏差,实际实验中要尽量保持数据分布的平衡。
(下转第117页)
115ShejiyuFenxi◆设计与分析断,TCMS转发)。
(2)在TCMS故障的情况下,仅可执行一路,即一个单元内任意一个GV阀输出零速即可判断为零速。1.4信号系统与制动系统共同控制
南昌2号线采用4动2拖6节车厢的B型车,其制动系统及信号系统分别由KNNOR公司、上海泰雷兹提供,制动系统每根轴都安装了速度传感器,信号系统第1节车、第6节车的第2、3轴安装了速度传感器。在有ATC保护的情况下,由制动系统单独判断零速,此时制动系统中的4个网关阀进行组合判断,即一个单元内任意一个GV阀输出零速信号即可判断列车零速环路为高电平。在未有ATC保护的情况下,仅由信号系统判断零速。南昌2号线延线也采用此设计理念。具体控制电气原理图如图3所示。
备、不同系统、低压控制电路中采用了冗余功能,使得可靠性实现了较大提高。但部分地铁项目的设计仍然存在一定的风险隐患。例如有些零速设计方案,仅采用了不同系统的冗余功能或仅采用设备的冗余功能等,这将严重影响零速环路的可靠性。
3各项目实施成效及建议采用的设计理念目前,南昌地铁项目、苏州地铁项目、杭州地铁项目、合肥
地铁项目零速环路设计的运用效果均良好。据此,建议各地铁项目在后续的设计联络阶段,根据各自供应商的使用业绩,至少在设备、不同系统、低压控制电路三个冗余功能中选择两个,其中低压控制电路的冗余优先选择,可有效提高零速环路设计的可靠性。典型电路模型有南昌2、杭州2(杭州2延、杭
州4)、合肥1等。
4结语随着城市轨道交通行业的蓬勃发
展,运营可靠性、安全性等要求不断提高。本文从车辆设计自身出发,结合不同地铁项目的零速控制环路,总结提炼出零速环路设计理念,以期不断提升车辆运营质量,提高地铁运输的安全性,保证我国国民出行的安全。
[参考文献]
[1]秦征.广州地铁二号线列车零速故
障及电路改进[J].电力机车与城轨车辆,2010,33(6):54-56.
图3制动系统与信号系统共同提供控制原理图
1.5其他控制方式
利用制动系统、牵引系统、信号系统各自判断的非零速从
而控制零速,即在零速环路中串联非零速的常闭触点。目前暂未发现有地铁项目采用此种控制方式。
2不同系统控制的共性综上所述,不同地铁项目采用的设计共性是基本都在设
收稿日期:2019-07-24
作者简介:徐星星(19—),男,江西南昌人,助理工程师,研究方向:城轨检修。
(上接第115页)
[参考文献]
[1]陈小燕.机器学习算法在数据挖掘中的应用[J].现代电子技
术,2015,38(20):11-14.
[2]李运.机器学习算法在数据挖掘中的应用[D].北京:北京邮
电大学,2015.
[3]刘钟情.基于数据挖掘的体育院校大学生兼职研究———以成
都体育学院为例[J].中国大学生就业(理论版),2018(7):56-60.
[4]赵文豪,胡晔明,夏建军.基于数据挖掘的智能手机成瘾辅助
研究[J].计算机时代,2018(7):17-19.
[5]汪海燕,黎建辉,杨风雷.支持向量机理论及算法研究综述
[J].计算机应用研究,2014,31(5):1281-1286.
收稿日期:2019-07-10
作者简介:罗雨欣(2002—),女,重庆人,研究方向:计算机。[6]常甜甜.支持向量机学习算法若干问题的研究[D].西安:西
安电子科技大学,2010.
[7]于滨,邬珊华,王明华,等.K近邻短时交通流预测模型[J].交
通运输工程学报,2012,12(2):105-111.
[8]董师师,黄哲学.随机森林理论浅析[J].集成技术,2013,2
(1):1-7.
117