基于决策树与随机森林的旅游保险需求预测分析
冯洋逸 (香港城市大学,香港 999077) 摘要:针对旅客旅游保险的需求分析问题,基于年龄、就业类型、毕业与否、年收入、家庭成员数、是否患有慢性病、是否为飞行常客、是否曾出国旅行八个维度,分析调查了购买旅游保险的情况,研究和探讨决策树(DT)和随机森林(RF)分类模型在旅客购买旅游保险需求预测中的应用。两种模型确定了旅客的关键信息参数及其量化值,包括年收入、年龄、家庭成员数等。建立的模型诊断准确率达到80%以上,采用94颗决策树集成随机森林算法,ROC曲线中AUC面积从决策树的78%提高到81%。为分析旅客的旅游保险需求的评估提供了科学决策。 关键词:决策树;随机森林;预测;旅游保险 一、引言
机器学习是基于分析和学习现有数据与专家分类模型的映射关系,通过算法建立可对未知分类数据进行稳定和可靠性分类的数据和信息处理技术[1]。机器学习算法的改进不仅可以有效提升模型的识别性能,而且可以从复杂的多维数据和非对称数据中发现人类专家难以觉察和发现的数据规律或隐含模型,从而挖掘新的知识体系拓展数据的应用范围和使用价值[2]。 决策树(Decision Tree,DT)属于一种非常典型的单分类器,是一类对象属性与对象值的映射关系[3]。这个分类器的决策与生成过程主要分三个方面,一是对训练集内容进行递归分析,生成类似一棵倒立的树的结构;二是分析从根节点到叶子节点的所有树的路径,并生成一系列规则;三是依据规则,对整个过程进行数据挖掘与分析。决策树模型包括三种节点,分别是根节点、中间节点、叶子节点,此类模型中的节点代表对象属性,分支路径是属性值,通过节点与分支路径对数据进行分类,因为模型绘制的图像与树类似,所以被称为决策树[4]。 随机森林(Random Forest,RF)作为机器集成学习方法,通过节点随机分裂与重采样技术构建多棵决策树,最终分类结果又投票产生。随机森林可以实现对复杂相互作用的分类特征,并且学习速度快,其结果可以对高维数据进行特征选择,在预测、分类、特征选择等领域有重要应用[5]。随机森林的优点是克服决策树存在的分类规则复杂、收敛到非全局的局部最优解以及过度拟合的缺点,并且结合单分类器组合成为多分类器的思想。随机森林生成的多棵决策树,这些决策树并不需要很高的分类精度,而是让所有决策树通过投票的形式进行决策,就像是多个专家一起开会并讨论,最后进行举手表决,这就是随机森林的核心思想[6]。 机器学习算法如人工神经网络、支持向量机、决策树和深度学习算法都已有一定的应用,并取得了较好的诊断效果。徐鹏[7]等人通过机器学习方法处理流量分类问题,朴素贝叶斯方法及在此基础上的改进算法可以有效实现分类,但存在过于依赖样本在样本空间内的分布,可能存在不确定性,所以又使用了C4.5决策树方法进行流量处理,可以利用训练集中的信息熵进行分类,并使用分类模型进行简单查找,从而达到对未知网络流样本进行分类的目的,最终理论分析与试验结果表明,C4.5决策树处理流量分类问题上具有较高的算法稳定性。李道国[8]等人提出了一种新的决策树剪枝算法,具有一定的应用价值。姚登举[9]等人提出了一种基于随机森林的封装式特征选择算法RFFS,以随机森林算法为基本工具,以分类精度作为准则函数,采用序列后向选择和广义序列后向选择方法进行特征选择。在UCI数据集上的对比实验结果表明,RFFS算法在分类性能和特征子集选择两方面具有较好的性能。张雷[10]等人将随机森林算法应用到生态学中,并建立了根据生态关系、描述格局的过程进行空间或时间预测,拓展了随机森林的应用范围。G Izmirlian[11]运用随机森林(RF)算法对SELDI-TOF蛋白质组学进行相关研究,并特别强调了它在癌症预防方面的应用。讨论了随机森林作为一个高效而可靠的分类器,使得其应用成为最佳选择。在蛋白质组学分析研究中成功应用RF算法来构建分类器,并发现最可能导致类别之间分离的峰强度的具体细节。 决策树与随机森林在金融经济等领域也有重要的应用。王琪[12]结合供应链金融的特点,建立于决策树的供应链金融模式信用风险评估体系,对商业银行从供应链角度评估小企业信用有所帮助,有利于有效解决中小企业融资难喝供应链失衡的问题,同时促进商业银行核心竞争力的提升。柳向东[13]等人充分利用大数据控制信用风险,运用数据挖掘算法建立了信用风险评估模型。并通过SMOTE算法进行有效处理,提高模型的评估性能,研究发现随机森林模型非常适合信用风险评估,其次是CART、ANN、C4.5算法。得出用户的婚姻、房/车产(贷)等信息重要程度较低,公司规模、工作时间、历史借款、信用评分等信用档案在信用风险评估中尤为重要。 本研究采用决策树和随机森林算法,通过各监测参数对分类模型的有效贡献率筛选输入参数,统筹模型复杂度与过拟合的匹配度提升模型预测准确率,并采用多组决策树集成进一步优化模型分类性能,获得了较好的预测结果。 二、数据和方法
数据来自某公司1985个旅客的购买记录数据,包含了年龄、就业类型、毕业与否、年收入、家庭成员数、是否患有慢性病、是否为飞行常客、是否曾出国旅行、是否购买旅游保险九个维度,其中判断最终是否购买旅游保险为目标,其余八项为影响评价因素。 1.决策树(DT) 决策树算法在分类、预测、规则提取等人工智能领域均有着广泛的应用。典型的决策树由根节点、中间节点和叶节点组成,叶节点代表所分析对象的分类标签,如年龄、就业类型、毕业与否、年收入、家庭成员数、是否患有慢性病、是否为飞行常客、是否曾出国旅行等自变量,而每个分叉路径则表示分类标签对应的各输入参数的属性值。 决策树通过节点逐层分裂实现数据的分类或预测,节点要选择最优的属性分裂产生左右子树,不同的比较规则就产生不同的决策树生成算法。随着节点分裂的不断进行,决策树分支节点所包含的样本应尽可能属于同一类别,即节点的集合纯度应越来越高。信息熵是用来度量样本集合纯度最常用的一种指标,假定样本集合D中k类样本所占比例为pk(k=1,2,…,m),则D的信息熵为: 影响随机森林算法性能的主要是随机森林中决策树的数量。,关于随机森林中生成树的个数,相关文献[14]认为随机森林中决策树的个数N,对于随机森林算法的效率有着至关重要的影响。决策树数量(ntree)过多,会导致随机森林算法的运行效率会下降,并且ntree 过多,最终的分类结果可能不会有很大的影响;但ntree 过小,则随机森林的分类精度将有可能下降,甚至出现决策树的过拟合现象。通过相关试验验证,随机森林中决策树的数量对算法精度有较大的影响,且其数量的增大会使生成的随机森林的性能更加稳定[15]。 3.算法性能评价 随机森林算法的主要用途包括预测与分类,总的来说,随机森林的主要考察项目就是分类效果,由于该类指标的内容多,所以为提高随机森林的分析分类效果,同时也为描述这些指标,考虑二分类数据的混淆矩阵。 三、结果与讨论
1.数据分析选取某公司1985个旅客的购买记录数据,如表1所示。通过对年龄、就业类型、毕业与否、年收入、家庭成员数、是否患有慢性病、是否为飞行常客、是否曾出国旅行等八个维度的分析,判断客户是否购买旅游保险。对数据进行数据类型转换,就业类型中,以0、1分别代表Government Sector与Private Sector/Self Employed,其他项目中,以0、1分别代表No与Yes。 表1 某公司购买旅游保险客户情况 对相关数据进行预处理,对数据间相关性进行分析,得出相关性热图,如图1所示。 图1 数据相关性热图 相关性代表数据之间的互相依赖关系,但相关性不一定意味着具有因果关系。数据相关性结果表明:是否曾出境旅游与购买旅游保险呈正相关,相关系数最大,为0.43,其次为年收入,相关系数为0.28。 2.决策树算法 图2 决策树最佳深度预测结果 为获得较好的预测结果,本模型将数据分为训练集与测试集,并以最终是否购买旅游保险为节点,探究决策树的最佳深度,对数据进行ROC曲线分析,相关结果如图2所示。结果表明:在树深度为3的时候,测试集数据ROC得分较高。 图3 决策树准确率结果 对树深度为2、3、4的结果进行对比分析,如图3所示,对应的准确率分别为:79.9%、84.4%、84.2%, 图4 决策树分类结果 深度为3的决策树模型分类结果如图4所示,分析树形图可知:年收入、年龄、家庭成员数是诊断是否购买旅行保险的关键指标,其中年收入是影响最大的因素。当年收入大于1325000卢布时,购买旅游保险的需求较高;在年收入介于1325000与1725000卢布,且无基础慢性病的人员,对购买旅游保险的需求最高。在年收入低于1325000卢布的人员中,年龄为最主要的影响因素,年龄大于32.5岁的人员对购买旅游保险的需求较大,也就是说,年轻人对于购买保险的需求较低;在年龄大于32.5岁,且家庭成员数大于5人时,购买需求较大,所以家庭成员也是是否有购买需求的一个因素。 3.随机森林模型 根据集成算法理论,集成模型的预测结果与重抽样自举次数有关。由此可以组合多个决策树进行预测,可以有效提高模型的预测性能。本模块基于随机森林算法,采用与决策树模型相同的训练样本进行学习和相同的预测样本进行评估。 图5 随机森林分类树个数与决策深度分析结果 随机森林分类树的个数与决策深度是影响模型的重要参数,如图5所示,分类树个数大于7时,训练数据集的验证准确性趋于稳定,分类树个数大于20时,验证数据集的准确性最优且趋于稳定,最终选取分类树个数为94,十字交差验证为0.8006;当决策深度等于3时,训练数据集和验证数据集准确性均达到最优,本研究最终确定分类模型决策树深度为3。 随机森林算法是基于决策树算法的有效拓展,通过决策树的集成有效提高模型分类和预测能力的稳健型。 4.评价 决策树与随机森林在ROC曲线中AUC面积如图6所示。 图6 ROC曲线中AUC面积对比 结果表明:决策树ROC曲线中AUC面积为0.78;随机森林ROC曲线中AUC面积为0.81。说明采用94颗决策树集成随机森林算法,ROC曲线中AUC面积从决策树的78%提高到81%。 图7 决策树与随机森林交叉验证结果 交叉验证是指将数据集分为n份,依次取每一份做测试集,每n-1份做训练集,多次训练后,观察模型的稳定性。对随机森林与决策树在25组交叉验证的效果进行对比,随机森林的效果略好于决策树。 四、结论
本研究针对旅客旅游保险的需求分析问题,基于年龄、就业类型、毕业与否、年收入、家庭成员数、是否患有慢性病、是否为飞行常客、是否曾出国旅行八个维度,分析调查了购买旅游保险的情况,研究和探讨决策树(DT)和随机森林(RF)分类模型在旅客购买旅游保险需求预测中的应用。根据模型,年收入为1325000卢布,年龄为32.5岁,家庭成员数为5人,可以作为购买旅游保险的判定阈值,采用多颗决策树集成的随机森林算法可以进一步提升预测模型的准确率和稳健型,采用94颗决策树集成随机森林算法,ROC曲线面积从决策树的78%提高到81%。 参考文献: [1]肖乾浩.基于机器学习理论的机械故障诊断方法综述[J]. 现代制造工程, 2021(7):148-161. [2]马笑潇.智能故障诊断中的机器学习新理论及其应用研究[D].重庆大学,2020. [3]白晓娟.基于决策树模型的成品油零售客户流失分析[D].山东大学,2018. [4]伊卫国.基于关联规则与决策树的预测方法研究及其应用[D].大连海事大学,2012. [5]张乾.基于随机森林的视觉数据分类关键技术研究[D].华南理工大学,2016. [6]曹正凤.随机森林算法优化研究[D].首都经济贸易大学,2014. [7]徐鹏,林森.基于C4.5决策树的流量分类方法[J].软件学报,2009(10): 2692-2704. [8]李道国,苗夺谦,俞冰.决策树剪枝算法的研究与改进[J].计算机工程, 2005,31(8):3. [9]姚登举,杨静,詹晓娟.基于随机森林的特征选择算法[J].吉林大学学报:工学版, 2014(1):137-141. [10]张雷,王琳琳,张旭东等.随机森林算法基本思想及其在生态学中的应用——以云南松分布模拟为例[J].生态学报,2014,34(3):650-659. [11]Izmirlian G . Application of the Random Forest Classification Algorithm to a SELDI�TOF Proteomics Study in the Setting of a Cancer Prevention Trial[J]. Annals of the New York Academy of Sciences, 2010, 1020(The Applications of Bioinformatics in Cancer Detection):154-174. [12]王琪.基于决策树的供应链金融模式信用风险评估[J].新金融,2010,254(04):38-41. [13]柳向东,李凤.大数据背景下网络借贷的信用风险评估——以人人贷为例[J].统计与信息论坛,2016,31(05):41-48. [14]李云飞.基于人工智能方法的股票价值投资研究[D].哈尔滨工业大学,2008. [15]曹正凤,谢邦昌,纪宏.一种随机森林的混合算法[J].统计与决策,2014(4):7-9. |