泰坦尼克号乘客遇难预测分析_第1页
泰坦尼克号乘客遇难预测分析_第2页
泰坦尼克号乘客遇难预测分析_第3页
泰坦尼克号乘客遇难预测分析_第4页
泰坦尼克号乘客遇难预测分析_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    泰坦尼克号乘客遇难预测分析    撒宇航摘 要:在机器学习中,有两大类常见的问题,一类为回归问题,另外一类为分类问题。对于回归问题的解决,常见的方法有线性回归,随机森林等。而针对分类问题,有knn,logsitic,svm,神经网络等算法。不同的算法在不同的问题中具有不同的效果。因此,本研究通过具体的实例“泰坦尼克号乘客遇难预测”,通过运用机器学习中的不同分类模型来分析乘客的存活是运气原因,还是存在一定的规律性。通过该对问题的研究,比较了不同机器学习分类模型的差异性以及优缺点。关键词:遇难乘客预测;knn;svm;逻辑回归;神经网络泰坦尼克号的沉

2、没是历史上具有广泛影响的沉船事件之一,1912年4月15日,在首次航行期间,泰坦尼克号撞上冰山后沉没,2224名乘客和机组人员中有1502人遇难。这场轰动的悲剧震撼了国际社会。虽然幸存下来的人存在一些运气方面的因素,但有一些人比其他人更有可能生存,比如妇女,儿童和上层阶级。我们的目标便是根据每位乘客的性别,年龄,舱位等相关特征,来预测该乘客是否会在该次乘船事故中存活下来。训练集以及测试集,我们总共有900名左右的乘客数据,每位乘客包括10个特征,包括pclass,name,sex,age,sibsp,parch,ticket,fare,cabin,embarke。我們将拿出600名乘客数据作为

3、我们的训练集,剩余的300名乘客的数据,用来作为我们的测试集,用于检验训练出的模型的性能。一、分类模型构建(一) knn模型(1) knn模型原理。knn(k nearest neighbor)算法,又叫作k领近算法,是机器学习中一种常见的分类算法之一。其中的k表示待测样本最近的k个邻居。在1968年,cover和hart提出了knn算法,这是一个在理论上比较成熟的方法1。knn算法的训练过程是将所有的训练集映射在特征空间中,测试过程将待测试样本,计算每个样本与训练集样本的欧氏距离,然后对所有距离进行排序,从中挑选出最近的k个样本,在k个样本中,采用基本投票原则,票数最多的类别作为待测样本的类

4、别。在我们的泰坦尼克号问题中,训练集一共含有600名乘客的特征数据,将它们映射到特征空间当中。测试阶段,我们将测试集的300个乘客数据,分别计算与600名乘客的欧几里得距离,从中挑选出最近的k个距离后,采用投票原则,将票数最多的类别作为待测样本的类别。(2) 结果分析。我们调用了sklearn中集成的knn模型,在训练集上进行了训练,并且尝试了不同的k取值,在该问题上的正确率。我们分别测试了当k 取5,10,15,20时模型的结果。测试的结果显示,在上述4种k的取值下,在测试集上的正确率分别为79.3%,81.7%,83.1%,82.4%。由此可见,在泰坦尼克号这个问题上,当k取值在15左右时

5、,模型的结果较好。关于knn模型中k值的不同选择:当k值较小时,预测结果对近邻的实例点非常敏感,容易发生过拟合;如果k值过大模型会倾向大类,容易欠拟合;通常k是不大于20的整数。knn算法的优点是精度高,对异常值不敏感。但是缺点是对k的取值相对比较敏感,不同的k取值对模型产生的结果可能差异性非常的明显。另一方面,由于我们的训练集的大小仅仅为600个样本,而对于其他的一些机器学习应用,我们的数据集可能十分巨大,特征维数也会十分巨大,会造成knn算法的运行速度缓慢,因为每预测一个样本,就要计算该样本与训练集中的所有的样本距离,还要对所有距离进行排序,这会大大提高算法运行的时间,降低knn算法的效率

6、,所以一般knn算法只适用于数据集比较小的情况。(二)逻辑回归模型(1) 逻辑回归模型原理。逻辑回归是现今的工业界中一种常见的分类模型,对于大多数的问题都够取得相当不错的结果。逻辑回归的基本原理是使用逻辑回归函数来作为我们的预测函数,去预测在给定特征下,样本属于每个类别的概率。在训练阶段,通过梯度下降算法,不断的降低交叉熵代价函数,提高在训练集上的准确率。同时,我们加入了l1正则化,可以避免模型陷入过拟合。(2)结果分析。通过在训练的过程中加入的l1正则化项,我们的模型基本没有发生过拟合,在训练集上的准确率达到了79.8%,在测试集上达到了81.7%的正确率,取得了良好的性能。逻辑回归的优点是

7、在于简单,训练速度相对于knn模型快很多。但是其一般更适合用于线性可分的问题当中,而对于一些线性不可分的问题中,采用更复杂的非线性模型可能会取得更好的效果。(三)svm模型(1) svm模型原理。支持向量机(support vector machine,svm),是机器学习分类算法中一种综合性能十分优秀的模型。其不仅能处理线性可分的问题,引入的核函数,还能够处理线性不可分的问题。大大提高了模型的泛化能力。近年来,由于其性能优异,被广泛的运用在各种分类问题中。svm可以理解为是逻辑回归的改进,对于逻辑回归模型来讲,由于存在无数个可能的解,解不唯一。即存在无数个超平面将数据分割开来,因此算法得到的

8、解可能不一定是最优的。而svm算法能从这无数个超平面中,选取一个最大间隔的超平面,使模型的泛化能力更强。svm主要适用于两种情况。第一类是线性可分数据,第二类是线性不可分数据。对于线性可分数据,采用了核技巧,将数据从低维空间映射到高维空间,再通过松弛变量等技术使数据变的线性可分。(2) svm模型的核函数。对于线性可分的数据,普通的svm可以取得很好的效果。但在现实世界里,存在着很多非线性可分的数据。这个时候,普通的svm就不太适用。但是可以通过一定的核技巧,将数据从低维空间映射到高维度空间。此时,线性不可分数据就可能变成线性可分数据,核函数用来计算两个低维空间的向量在高维空间的内积,只要满足

9、mercer 条件的函数,都可以作为核函数。常见的核函数有线性核函数,高斯核函数,多项式核函数等。(3) 结果分析。当训练集数目比较小时,svm算法一般能够取得很好的效果。但是当训练集数目比较多时,svm比较容易陷入过拟合,所以需要采用一定的正则化措施来缓解过拟合。因此我们使用了sklearn中带有核函数的svm,在包含有600个样本的训练集上经过一段时间的训练后,最终得到的支持向量个数为298个。可以看到大概有50%的训练样本为支持向量。我们采用了不同的核函数来检验模型的效果,实验结果表明,不同的核函数在该问题上的差异性不显著。最终我们采用了带有高斯核函数的svm,在训练集上的正确率为81.

10、8%,在测试集中进行测试时,得到了83.5%的正确率。从训练集和测试集上的正确率来看,模型基本上没有发生过拟合。svm也是在包含上述一系列的分類模型中,所达到的正确率比较高的模型,因此可见,svm模型是效果非常好的一个分类模型。(四)神经网络模型(1)神经网络模型原理。神经网络是基于生物学中神经网络的基本原理,对人类大脑工作过程的一个简单的模拟。它能够通过一定的学习算法,学到一个非常复杂的非线性模型。当数据量比较大时,具有十分强大的泛化能力。神经网络通过将多个神经元通过一定的联结方式连接在一起,构成一个运算模型。每个神经元节点的输入是上一层神经元输入的线性组合,然后加上激活函数后,作为该个神经

11、元的输出。常用的激活函数有sigmoid,tanh,relu等。每两个神经元之间,具有一个权重值w。神经网络就是通过激活函数,权重,联结方式来模拟人类大脑的学习记忆功能。神经网络在工作时,首先通过前向传播计算代价函数值,然后通过反向传播算法计算代价函数的梯度值,最后通过一定的优化算法,更新神经网络的每一层的权重矩阵w。在我们的泰坦尼克号乘客遇难问题中,每个乘客在经过预处理后,有14个特征,所以我们的神经网络的输入层一共含有14个神经元,第二层网络具有32个神经元,第三层网络具有64个神经元,输出层含有一个神经元。在这个问题上,我们建立了一个具有多层感知机的神经网络来进行预测,并且添加了相应的正

12、则化项来防止模型的过拟合。(2) 结果分析。我们通过构建了一个三层的感知机神经网络,对600个训练集数据进行训练,最终在训练集上取得了85.8%的正确率,在测试集上取得了83.5%的正确率,基本和svm得到的结果不相上下。实质上,神经网络更适合处理特征数目很多,训练集数目很大的情况,而在泰坦尼克号这个问题上,由于我们只有几百个训练样本,每个样本只有十几个特征。因此,虽然结果表现不错,但是没有真正体现出神经网络强大的泛化能力,没有体现出多层神经网络的主要优势。三、结语本项目通过具体的实例“泰坦尼克号乘客遇难预测分析”,对该问题分别采用了knn模型,逻辑回归模型,svm模型以及神经网络模型。在该问题的同一测试集上,最优模型分别取得了79%,81.7%,83.5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论