基于机器学习的收入预测研究
罗雨欣
(重庆市璧山中学校,重庆402760)
摘 要: 个人收入关系着居民幸福指数和国家经济发展水平,个人收入的分析与研究一直是人们关注的热点之一。现主要研究机器学习在个人收入预测方面的应用,涉及的机器学习模型主要包括KNN、SVM和随机森林。实验结果表明,在这三种模型中,随机森林模型的预测准确率最高。
关键词: 收入预测;机器学习;SVM;KNN;随机森林
1 研究背景
随着我国的经济发展越来越快,居民收入水平逐渐成为社会关注的焦点。个人收入预测主要是对居民的基本信息进行数据挖掘,预测居民的收入状况。个人收入预测在实际应用中有巨大的现实意义和参考价值,有利于社会研究和分析,可对经济发展进行有针对性的规划指导。
番茄疮痂病与番茄溃疡病症状相似,溃疡病为系统侵染的维管束病害,在果实上呈现“鸡眼状”,叶片上出现白色小枯死斑,引起植株萎焉枯死。据此可区分上述两种病害,防止出现误诊。
日常生活中大量的常见问题,都可以使用数据挖掘的方法来解决[1-2]。数据分类被广泛应用于经济、生活、医学等领域[3-4],例如客户分析、生理指标的处理等,数据分类对各项工作都提供了有力的参考及有效的帮助。
笔者在互联网上下载了关于个人收入的数据集,涉及的特征包括性别、年龄、国籍、婚姻状况、工作状况、受教育程度等。本文选取了数据集中的一部分数据,通过多个机器学习模型进行实验,具体采用KNN、SVM、随机森林模型;随后通过实验结果分析了各种因素对收入预测准确性的影响,寻找、调整各个模型的最优参数,并比较了基于最优参数的不同模型的实验结果,最终得到了一个最优预测模型。
2 KNN、SVM、随机森林模型介绍
支持向量机模型(SVM)最初是一种处理数据二分类的方法,它是基于结构风险最小化和VC理论建立的[5-6]。SVM模型在训练过程中把低维不可分的数据转化成高维可分的数据,在转化后的高维平面中,SVM旨在找到一个超平面,让训练集样本中的数据恰好分布在超平面两侧,并使得超平面两侧的数据到超平面的距离达到最大。这些特点使得SVM算法能够在有限数据集中得到最优解,同时对未知样本也具有较好的泛化能力。在图像、文本、时序预测等领域,SVM都有着广泛的应用。但SVM算法也有着速度慢、算法复杂、测试阶段运算量大等一系列缺点,这是应用SVM模型时需要重点考虑的因素。
3.2.1 KNN模型的实验结果
随机森林算法是Leo Breiman于2001年提出的一种算法[8],Breiman把随机子空间算法和集成学习算法相结合,得到了最终的随机森林算法。该算法解决了决策树过拟合的问题,对噪声和异常值有较强的容忍度,并且不需要分类的先验知识,是一种数据驱动的非参数分类方法。随机森林算法把决策树作为基本的分类器,训练时使用Bagging算法训练得到多个决策树模型。分类时由包含的多个决策树分别进行类别预测,再通过投票法判断输入数据的类别。哪种类别所获得的投票数最多,就把输入数据归于哪一类。随机森林模型的应用效果在理论和实践中得到了大量证明,它有着出色的泛化能力,不易造成过拟合,预测误差较小。随机森林在实际应用中的良好表现使得它被广泛应用于各大领域,例如文本分类、经济问题建模、医学研究、生物信息分析等,并且都取得了不错的成果。
3 实验分析
3.1 实验数据和工具
本文在实验中使用随机森林模型,为了找到随机森林包含决策树的最佳个数,本文依次设置决策树的个数为5、10、15、20、30,实验结果如表3所示。由表3可知,随着决策树个数变多,随机森林模型的预测准确率逐渐变高,训练时间也逐渐变长。当随机森林含有30个决策树时,模型的预测准确率最高,预测效果最好。因此,本文中的随机森林模型,含有30个决策树时表现最优。另外,由于随机森林模型的训练时间较少,决策树个数不同时,随机森林模型的训练时间差别较小,因此本文忽略了训练时间这一因素。
本文使用Weka软件进行数据挖掘的实验。Weka基于Java语言开发,是一个数据挖掘的第三方工具平台,该平台集成了大量的机器学习模型和数据挖掘的相关算法,在机器学习领域被广泛使用。本文在进行实验时,采用了五交叉验证的方法。
中国电力新闻网近日报道,国务院办公厅印发《关于保持基础设施领域补短板力度的指导意见》(以下简称《意见》),要求着力补齐能源等领域短板,加快推进跨省跨区输电,推动实施一批特高压输电工程。
3.2 实验结果
K近邻模型(KNN)是一种无需训练的简单预测方法[7]。KNN具有良好的移植性,可用于小范围的数据统计,当参数合适时,实验精度较高。但KNN模型的限制较多,泛化能力弱,对参数有严格要求,对于大范围的数据表现较差,且参数的选取一般较为主观。KNN模型的核心是距离度量的方式,它首先获得距离目标点最近的K个点,之后根据分类决策规则,进一步决定目标点的类别。KNN模型有三个关键点:K值的选择、距离度量和分类规则。K值的选择很关键,如果K值过小,预测误差会偏大;相反,如果K值过大,那么近似误差会偏大。对于距离度量来说,常用的距离是余弦距离和欧氏距离。KNN模型的分类决策规则可以是常见的简单多数规则,也就是在距离目标点最近的K个点中,哪种类别的数据量最大,就把目标点的类别归于哪一类。
表4是含有30个决策树的随机森林模型的实验结果,由表4不难看出,和KNN类似,不论是精确率、召回率还是F值,随机森林模型在负类数据的表现都优于正类数据的表现。这同样是由于数据集中数据分布不均衡的原因导致的,前文已有分析,这里不再赘述。
由表1可知,当K值从1~7逐渐变大时,模型的准确率逐步上升;7~10时,模型的准确率开始下降;KNN模型在K值为7时有着最高的准确率。因此,本文的KNN模型中参数K的最优值是7。另外,需要说明的是,KNN是一个较为特殊的模型,它不需要训练过程,因此表1中模型的训练时间均为0 s。
本文首先使用KNN模型进行实验。实验过程中首先调整KNN模型中K值的大小,设置K值分别为1、3、5、7、10,实验结果表1所示。
表1 KNN模型的实验结果
表2是K取值为7时KNN模型在正类和负类上的表现,由表2可知模型在负类数据上的表现要优于正类数据的表现,无论是召回率、精确率还是F值,负类数据的预测值都要更高一些。经过分析得知,这是由于数据分布不均衡导致的。在数据集中,负类数据共有3 779条,大约占了整个数据集的76%,而相比之下,正类数据只有1 221条,占整个数据集的24%左右。在这种正负类数据分布不均衡的情况下,模型对于数量大的数据集更加敏感,在预测时对数据较多的类别有更大的倾向性,容易将输入数据判别为数据量更大的数据类别,正是这一原因造成了表2中正负类表现的差异。
表2 K=7时KNN模型在正类和负类上的表现
3.2.2 随机森林模型的实验结果
笔者在UCI数据仓库网站上下载了关于个人收入预测的数据集,该数据集包含了14个代表个人基本信息的特征,这些特征包括年龄、工作单位、性别、受教育程度、婚姻状态、国籍等。每条数据包括一个类别标签,标签有两种取值:1或者0,表明该公民的年收入是大于5万美元还是小于5万美元。本文下载的数据集包含训练集和测试集,训练集含有10 000+条数据,测试集含有5 000+条数据。考虑到实验机器的配置较低,为了提高效率,本文从10 000+条训练集中抽取了5 000条数据用于实验。
表3 随机森林模型的实验结果
说到底,她才是这段失败婚姻的缔造者,因为她从来都没想过何谓风雨同舟。这些年来,她习惯了躲在杜飞为她撑起的屋檐下,心安理得地享受着岁月静好,却从未意识到她所享受的一切,都源于杜飞的负重前行。可惜,现在明白,为时已晚。如果再给她一次机会,她一定要做那样的人:有足够的能力与爱人并肩前行,有足够的智慧寻找解决问题之道,有足够的意志负责未来。
3.2.3 SVM模型的实验结果
发展智慧农业需要地方政府的支持和引导。地方政府要积极展开各类农业科学技术知识、生产管理和农业科技咨询服务,提升农业竞争力,推动农业持续发展,提高资源利用率和保障产品安全[1]。
本文在实验中使用SVM模型,为了找到SVM模型的最佳核函数,本文依次对不同核函数的SVM模型进行实验,实验结果如表5所示,表5中的a、b、c、d依次代表线性核函数、多项式核函数、RBF核函数和Sigmoid核函数。
表4 含有30个决策树的随机森林模型在正类和负类上的表现
表5 SVM模型的实验结果
由表5可知,基于核函数b的SVM模型预测精确率最低,并且消耗的训练时间最长,在4个核函数中表现最差。对于核函数a、c、d来说,三个核函数的预测准确率相差不大,但是a消耗的训练时间最多,出于效率的考虑,核函数a的表现也比较差。核函数d的准确率较高,且训练时间远小于其他三个核函数,但基于d核函数的SVM模型,在正类数据的精确率、召回率、F值都为0,因此d核函数表现并不正常,因此本文中SVM模型的最佳核函数是c,也就是RBF核函数。
表6是基于RBF核函数的SVM模型的详细实验结果,由表6可知,SVM模型和上述KNN模型、随机森林模型的情况类似,即负类数据的预测表现优于正类数据的预测表现。这同样是由于数据集数据分布不均衡导致的,由此也可以知道,不论何种模型,数据分布不均衡都会对实验结果造成相似的影响。
实验教学还是培养创造性思维的有效途径。根据已有的实验结果,提出新的问题,并设计实验,即是创造性思维的体现。在“模拟尿糖的检测”后,还有进一步的探究: 假设糖尿病患者可以通过改变饮食结构来减轻病症,请设计一个实验证明这一假设是否成立。学生首先需明确自变量和因变量。自变量为饮食结构,因变量为尿液中葡萄糖的含量。再进行实验设计,在班级中交流、展示。可以有2种方案: 一种设置对照组,将若干糖尿病患者分为2组,1组常规饮食(对照组),1组使用适合糖尿病患者的食谱(实验组),定期检测两组患者尿液中葡萄糖的含量;另一种不单独设置对照组,定期检测患者改变饮食结构前后尿液中葡萄糖的含量,即自身对照。
表6 基于RBF核函数的SVM模型在正类和负类上的表现
3.2.4 三种模型的比较
表7所示为三种分类模型的对比,其中KNN模型的K值为7,随机森林含有30个决策树,SVM的核函数是RBF核函数。由表7可知,三种模型中,随机森林模型有着最高的预测准确率,消耗的训练时间也较短,因此本文中的最佳模型是随机森林模型。
表7 三种分类模型的对比
4 结语
本文主要研究机器学习在个人收入预测方面的应用,使用了KNN、SVM、随机森林模型进行实验。实验结果表明,三种模型中,随机森林模型有着最好的预测效果,预测准确率高于SVM、KNN模型的预测准确率。另外,数据集数据分布不均衡会造成实验结果出现一定的偏差,实际实验中要尽量保持数据分布的平衡。
由图1和图2可知,全国大部分地区Cd污染较为严重,而Cr和Ni污染较轻,这与表4表5评价结果一致。总体而言,除 Zn之外,非工业区和工业区的重金属污染严重区域有相同的分布规律,即人口较多、工业集中、经济发达的中东部地区的降尘中重金属含量普遍高于人口稀少、发展滞后的西部地区。不同之处在于,工业区中重金属的污染情况更为严重且区域多集中在中西部重工业基地以及有色金属矿区和冶炼区。
[参考文献]
[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.
[6]常甜甜.支持向量机学习算法若干问题的研究[D].西安:西安电子科技大学,2010.
[7]于滨,邬珊华,王明华,等.K近邻短时交通流预测模型[J].交通运输工程学报,2012,12(2):105-111.
[8]董师师,黄哲学.随机森林理论浅析[J].集成技术,2013,2(1):1-7.
收稿日期: 2019-07-10
作者简介: 罗雨欣(2002—),女,重庆人,研究方向:计算机。