XGBoost特征选择+MLP预测,以电动汽车价格预测为例

此文章由本人及另外两位小伙伴合作完成,未经允许禁止转载。

为什么要用XGBoost+MLP?

大量研究表明人工智能模型在求解分类问题上具有较高的精度,但其中以神经网络模型为代表的一系列“黑箱”模型,虽然具有很强的分类性能,却存在仅能给出最终结果,不能解释每个输入特征对结果起到多大作用的问题。集成决策树类的模型是人工智能模型中可以进行特征重要性度量的一类模型,但其在处理高维数据上的效果,有时不如神经网络模型。因此,或许结合了集成决策树类模型的优点以及神经网络模型的优点,构建的基于XGBoost-MLP的两阶段预测模型会有较好的预测效果。

模型结构

模型主要包括两个阶段。第一阶段为特征选取,基于XGBoost模型计算特征的重要性得分,并选取得分较高的特征;第二阶段为价格预测,将第一阶段选取出的特征输入到MLP模型中进行电动汽车的价格预测。

模型逻辑框架图

数据

为了所构建的XGBoost-MLP模型的优越性,我们以电动汽车价格预测为例。数据由《全国首届研究生工业与金融大数据建模与计算邀请赛》提供。包括三个数据表:电动汽车属性表、电动汽车属性与价格数据表和价格未知的电动汽车属性数据表。电动汽车属性表包括22个属性,除id属性外,其余属性均可作为电动汽车的特征。

feat1 电池可以一次性存储的总能量,单位为mAh 连续型
feat2 是否有蓝牙 离散型
feat3 微处理器执行指令的速度 连续型
feat4 有双SIM卡支持与否 离散型
feat5 前置摄像头百万像素 连续型
feat6 是否支持4G 离散型
feat7 内存(以GB为单位) 连续型
feat8 移动深度(cm) 连续型
feat9 重量 连续型
feat10 处理器核心数 连续型
feat11 主要相机百万像素 连续型
feat12 像素分辨率高度 连续型
feat13 像素分辨率宽度 连续型
feat14 以兆字节为单位的随机存取存储器 连续型
feat15 屏幕高度(以cm为单位) 连续型
feat16 屏幕宽度(以cm为单位) 连续型
feat17 单个电池充电时间最长的时间 连续型
feat18 是否有3G 离散型
feat19 是否有触摸屏 离散型
feat20 是否有wifi 离散型
price 价格分档,取值为0,1,2,3 离散型

电动汽车属性与价格数据表包括1500条数据。其中,价格为0档的数据384条,价格为1档的数据369条,价格为2档的数据377条,价格为3档的数据370条。每个类别的数据条数差异较小,不需要进行类别平衡。价格未知的电动汽车属性数据表包含数据500条,无价格类别数据。

由于各属性的评价维度不同,我们首先使用z-score标准化法,对所有连续型数据进行标准化处理。进一步,我们对电动汽车属性与价格数据表的数据进行划分,随机抽取80%的数据作为训练集,剩下20%的数据作为测试集。

模型有效性分析

第一阶段基于XGBoost模型计算特征重要度得分,重复20次实验的平均得分,如图所示。可以看出,feat19、feat6、feat2、feat20、feat4以及feat18的重要度得分偏低,因此我们将这6个特征去除,保留另外14个特征进行第二阶段实验。

特征重要度得分
第二阶段基于MLP模型进行电动汽车价格预测。并且,为了证明所构建XGBoost-MLP模型的有效性,我们对比了相同参数下第一阶段的预测结果以及输入所有特征的情况下MLP的预测结果,重复20次实验的平均结果如表 3所示。为了方便对比,我们将各类中最好的结果加粗标记。从正确率的角度来看,所构建的XGBoost-MLP模型正确率最高。从精准率和召回率的角度来看,所构建的模型对于每个类别的分类结果均优于XGBoost模型,MLP模型对于2类和3类的分类精准率较高,但其余结果均不如所构建的XGBoost-MLP模型,综合来看,所构建的模型还是占据一定的优势。可以认为XGBoost-MLP结果优于单个模型的结果,因此,模型是有效的。

模型有效性验证

模型对比

为了证明所构建XGBoost-MLP模型的优越性,我们使用更多的分类模型进行电动汽车价格预测,包括:LDA模型、BA模型、KNN模型、DT模型、RF模型、GBDT模型以及SVM模型。重复20次实验得出的平均预测结果如表 4所示。为了方便对比,我们将各类中最好的结果加粗标记。可以看出,XGBoost-MLP模型的分类效果在各方面都明显优于其它对比模型。

模型对比
进一步,我们给出了所构建的XGBoost-MLP模型以及对比模型重复20次实验的预测结果箱线图,如图 6所示。很明显,我们所构建的模型不仅具有较高的正确率,且在稳定性上也明显优于其它模型。

箱线图

总结

(1)所构建的XGBoost-MLP模型优于单一的XGBoost模型和MLP模型;

(2)所构建的XGBoost-MLP模型在精准率、召回率、正确率和稳定性上都优于LDA模型、BA模型、KNN模型、DT模型、RF模型、GBDT模型以及SVM模型。

参考文献

[1] Altman E. Financial ratios, discriminant analysis and the prediction of corporate bankruptcy[J]. Journal of Applied Finance, 1968, 23(4):589-609.
[2] Chen T, Guestrin C. XGBoost: A scalable tree boosting system. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco, CA, USA. 2016. 785-794.
[3] Guo H, Li Y, Li Y, Liu X, Li J. BPSO-Adaboost-KNN ensemble learning algorithm for multi-class imbalanced data classification[J]. Engineering Applications of Artificial Intelligence, 2016,49:176-193.
[4] Mabu S, Obayashi M, Kuremoto T. Ensemble learning of rule-based evolutionary algorithm using multi-layer perceptron for supporting decisions in stock trading problems[J]. Applied Soft Computing, 2015,36:357-367.
[5] Tan A C, Gilbert D. Ensemble machine learning on gene expression data for cancer classification[J]. Appl Bioinformatics, 2003, 2(3 Suppl):S75-83.
[6] Xia Y, Liu C, Li Y, Liu N. A boosted decision tree approach using Bayesian hyper-parameter optimization for credit scoring[J]. Expert Systems With Applications, 2017,78:225-241.
[7] Yu L, Yue W, Wang S, Lai K K. Support vector machine based multiagent ensemble learning for credit risk evaluation[J]. Expert Systems With Applications, 2010, 37(2):1351-1360.
[8] 陈妙金,汪小钦,吴思颖.基于随机森林算法的水土流失影响因子重要性分析[J].自然灾害学报,2019,28(04):209-219.
[9] 杜太行,孟岩,孙曙光,江春冬,田朋.基于改进加权KNN算法的室内无线电发射源定位研究[J].中国测试,2019,45(09):105-111.
[10] 龚乐君,张立鹏,李宇茜,吴向辉,高志宏,潘传迪,杨庚.基于决策树的乳腺癌病历文本的挖掘与决策[J].南京师大学报(自然科学版),2019,42(03):42-51.
[11] 郭丽,刘磊.基于多层感知器的流量分类方法研究[J].电子测量与仪器学报,2019,33(07):56-64.
[12] 韩涛,尹伟石,方明.基于卷积神经网络和XGBoost的情感分析模型[J].复旦学报(自然科学版),2019,58(05):560-564.
[13] 任冬梅,张宇洋,董新玲.应用于石油钻井安全评价的改进主成分分析-贝叶斯判别方法[J].计算机应用,2017,37(06):1820-1824.
[14] 苏慧婧,群诺,贾宏云.基于KNN模型的藏文文本分类研究与实现[J].高原科学研究,2019,3(02):88-92.
[15] 孙梦婷,魏海平,李星滢,徐立.利用CART分类树分类检测交通拥堵点[J/OL].武汉大学学报(信息科学版):1-10[2019-11-23].https://doi.org/10.13203/j.whugis20190288.
[16] 翁小雄,吕攀龙.基于GBDT算法的地铁IC卡通勤人群识别[J].重庆交通大学学报(自然科学版),2019,38(05):8-12.
[17] 邬春学,赖靖文.基于SVM及股价趋势的股票预测方法研究[J].软件导刊,2018,17(04):42-44.
[18] 肖倩,谢海涛,刘平平.一种融合LDA与CNN的社交媒体中热点舆情识别方法[J].情报科学,2019,37(11):27-33.
[19] 徐婷,张香,张亚坤,王健.基于AdaBoost算法的货车驾驶人安全倾向性分类[J].安全与环境学报,2019,19(04):1273-1281.
[20] 颜丙乾,任奋华,蔡美峰,郭奇峰,王培涛.基于PCA和MCMC的贝叶斯方法的海下矿山水害源识别分析[J/OL].工程科学学报:1-12[2019-11-23].http://kns.cnki.net/kcms/detail/10.1297.TF.20191111.1126.002.html.
[21] 张异凡,黄亦翔,汪开正,刘成良.用于心律失常识别的LSTM和CNN并行组合模型[J].哈尔滨工业大学学报,2019,51(10):76-82.
[22] 周鹏.基于CNN-XGBoost的PTA平均粒径动态软测量模型.信息技术与网络安全,2018,37(9):61–64.

  • 4
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值