赞
踩
泰坦尼克号生存预测案例
操作平台:Jupyter Notebook
实验数据:从官方下载的泰坦尼克号测试集与训练集
使用语言:python
实验步骤:
这里首先我们看看这些标签代表着什么,PassengerId => 乘客ID
Pclass => 乘客等级(1/2/3等舱位)
Name => 乘客姓名
Sex => 性别
Age => 年龄
SibSp => 堂兄弟/妹个数
Parch => 父母与小孩个数
Ticket => 船票信息
Fare => 票价
Cabin => 客舱
Embarked => 登船港口
并且在上面的图示中我们可以看出Age和Cabin这2个标签是不全的,这点我们会后面在数据处理的时候进行相应的处理。
接下来我们画图具体分析一下乘客的属性和具体的获救情况。这是运行结果,第一个图是获救情况,可以从图中看出来,在891人中有三百多个人获救,有五百多人不幸遇难。
我们在图上可以看出来:
- 被救的人300多点,不到半数;
- 3等舱乘客非常多;
- 遇难和获救的人年龄似乎跨度都很广;
- 3个不同的舱年龄总体趋势似乎也一致,2和3等舱乘客20岁多点的人最多,1等舱40岁左右的最多
- 登船港口人数按照S、C、Q递减,而且S远多于另外俩港口。
这个时候我们可能会有一些想法了:
不同舱位/乘客等级可能和财富/地位有关系,最后获救概率可能会不一样,比如说一位政府的高级官员或者某位商业大亨获救的机率可能就高一点
年龄和性别获救概率也一定是有影响的,事故中副船长还说『小孩和女士先走』
和登船港口是不是有关系呢?也许登船港口不同,人的出身地位不同会影响。
我们来看一下不同乘客舱的等级与获救结果的统计。这里可以看出乘客舱为1的乘客相比于乘客舱为2和3的乘客,获救的概率高很多。这是影响最后获救结果的一个重要特征。
我们再来看一下性别与获救情况的关系,可以看的出,明显女性获救的几率要大。
如果我们结合着乘客舱等级来看呢?这里就可以明显的看出,高级舱中的女性生还的几率比较高,但是低级舱的男性获救几率则比较低了。
看看各登录港口的获救情况,不同地方上船的人可能代表着不同的社会地位。看这个图,这个看起来并没有什么差别,看来各个地方上船的人获救概率差不多。
开头的时候看见了年龄(Age)有许多缺失值,这里我们用scikit-learn中的RandomForest(随机森林)来拟合一下缺失的年龄数据,而客舱(Cabin)这项数据值缺失太多,我们就直接把他舍弃掉,他缺失的太多了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。