基于决策树的Titanic乘客生存预测

2019-07-23 01:11苗水清郑海英白海涛
山东工业技术 2019年20期
关键词:决策树预测

苗水清 郑海英 白海涛

摘 要:本文以史上泰坦尼克号沉船事件对乘客生存进行预测。以决策树算法对沉船事件进行分析和研究,文中对决策树进行构造,数据分类测试,结果表决策树预测模型对应用到事故分析中具有一定的可行性和有效性。

关键词:决策树;预测;数据分类

DOI:10.16640/j.cnki.37-1222/t.2019.20.175

0 引言

泰坦尼克号的沉没是历史上最臭名昭著的沉船事件之一。1912年4月15日,泰坦尼克号在处女航中与冰山相撞,2224名乘客和船员中有1502人丧生。这场轰动性的悲剧震惊了国际社会,并导致了更好的船舶安全法规。

这次海难造成人员伤亡的原因之一是没有足够的救生艇供乘客和船员使用。虽然在沉船中幸存下来有一些运气因素,但有些人比其他人更可能存活下来,如妇女、儿童和上层阶级。在这个挑战中,本文通过机器学习工具来预测哪些乘客在悲剧中幸存下来。

1 构造决策树进行预测

1.1 决策树

决策树方法属于统计学中分类的一种,该方法中经典算法有ID3、C4.5、CART等[1-2]。决策树算法是一种从一组无次序,无规则的案例中推理得出的规则。决策树的构造过程实质是分类的过程[3]。决策树分析法是一种运用概率与图论中的树对决策中的不同方案进行比较,从而获得最优方案的风险型决策方法。

决策树采用自顶向下的递归方式,在决策树的内部节点进行属性值的比较并根据某一规则进行分裂,每一个节点的父节点和子节点相对分裂,直至不能分裂为止,利用每一个非叶子节点作为判断节点,则在决策树的叶节点中得到结论。

1.2 决策树在乘客生存预测中的应用

(1)泰坦尼克号沉船问题,涉及到乘客存活与否的问题,每一位乘客只有两种结果,这是一个二元分类的问题,过对训练数据的研究得出对分类比较关键的因素有{'Pclass','Sex','Age','SibSp','Parch,Embarked,Survived}。

(2)在(1)中描述的因素中除了年龄取值多样之外,其他因素均有一定的划分范围标签,因此对年龄也采用了少年,中年,成年分别表示为0,1,2,3,4,5进行了分类,最后采用决策树方法进行了分类。

决策树计算主要包含了数据的加载,清洗,信息熵的计算,树的创建、遍历,模型存储、加载等。构造决策树主要过程是:

Step1:确定分类属性,筛选必要属性作为分类关键信息,并对一些取值较多的属性进行包箱处理,例如乘客的年龄,可以把不同乘客的年龄处理成,幼儿,青年,成年,老人四个类别;

Step2:计算各个分类标签的信息增益,信息增益越大,表明该标签的分类效果越好;

计算公式为:

其中Gain表示节点的复杂度,Gain越高,说明复杂度越高,分类的效果越明显。

Step3:对于Step2中分类结果进一步判断分类结果是否为同一种。如果不是,则返回Step2,否则进入Step4;

Step4:设置该节点为叶子节点,也即分类最终结果标签。求熵。熵是对集合信息的度量,熵越大,混乱程度越高,也就是纯度越低。计算公式:

其中Pi表示类i的数量占比。以二分类问题为例,如果两类的数量相同,此时分类节点的纯度最低,熵等于1;如果节点的数据属于同一类时,此时节点的纯度最高,熵等于0。

Step4:分割数据集,将当前已分类的特征整列数据去掉,选取数据集用于划分数据集的最优特征。

本文采用python编程,生成的乘客生存决策树如图1所示:

1.3 实验结果

样本总数为1309个,其中训练样本数为891个,用418个样做测试,结果表明:

(1)能够正确分类的个数比重0.8975903614457831,未能分类个数为34个。

(2)用训练集测试样本,结果为100%。

从实验结果中能够发现在输入训练集进行测试的时候,决策树能够将训练集中所有情况包含,也即能够对训练集样本做出正确分类,对于测试集样本,由于有些测试样本不在训练集范围内,可通过提高训练集的完整度,进一步提高其测试精度。

问题分析:

(1)熵用来描述样本的不确定度的大小,值越大不确定度越大,而信息熵增益是指整体信息熵和某个特征条件确定的情况下信息熵的差值,差值越大表明通过该特征进行区分样本会越明显,因此决策树按照信息熵增益的大小进行了决策树构造,当然这种算法有一定的趋向性,也即,总是以特征内类别取值多的属性作为树节点,这样构造的树随机性不够。

(2)决策树测试中有些样本不能分类,主要是因为决策树训练样本中并未涵盖测试集中的所有情况,因此测试集中有的样本通过决策树后未能得到分类标签值,此时需要默认给个标签或者舍弃该样本,出现了过拟合现象,后期需进行必要的决策树剪枝。

2 总结

测试的结果由于是通过遍历树来确定的,因此一方面其精度受决策树的完整度(包含情况的全面性影响,另一方面也需要进行比较的裁剪来处理其过拟合问题,进一步提高其随机性。此外,虽然本文采用ID3算法构造决策树时是优先选择了属性取值较多的特征作为树节点的,但是这样构造的树深度浅,对于复杂切特征量大的模型,相比于其他深度大的树来说其查询速度是一个优势。当然为了避免ID3算法这种趋向性,增加决策树的随机性可以采用信息增益比即C4.5算法,和CART基尼系数进行研究。

参考文献:

[1]Karagiannis T,Papagiannaki K,Faloutsos M.BLINC: Multilevel traffic classification in the dark[C].Proc of the ACM SIG-COMM,2005.

[2]Erman J,Arlitt M,Mahanti A.Traffic classification using clustering algorithms[C].Proc of the ACM SIGCOMM Workshop on Mining Network Data( MineNet) ,2006.

[3]毛國君.数据挖掘原理与算法[M].北京:清华大学出版社,2007:12.

项目编号:18JK1217   课题名称:基于云计算的室内定位算法应用研究

作者简介:苗水清(1988-),女,内蒙古人,硕士研究生,讲师,研究方向:图像处理、机器学习。

猜你喜欢
决策树预测
选修2—2期中考试预测卷(B卷)
选修2—2期中考试预测卷(A卷)
选修2—2期中考试预测卷(A卷)答案与提示
选修2—2期中考试预测卷(B卷)答案与提示
简述一种基于C4.5的随机决策树集成分类算法设计
一种改进的MEP决策树剪枝算法
决策树学习的剪枝方法
《福彩3D中奖公式》:提前一月预测号码的惊人技巧!
决策树在施工项目管理中的应用
预测高考