泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析...

最近一直断断续续的做这个泰坦尼克生存预测模型的练习,这个kaggle的竞赛题,网上有很多人都分享过,而且都很成熟,也有些写的非常详细,我主要是在牛人们的基础上,按照数据挖掘流程梳理思路,然后通过练习每一步来熟悉应用python进行数据挖掘的方式。

数据挖掘的一般过程是:数据预览——>数据预处理(缺失值、离散值等)——>变量转换(构造新的衍生变量)——>数据探索(提取特征)——>训练——>调优——>验证

1数据预览

1.1 head()

预览数据集的前面几条数据可以大致看看每个字段的值究竟长什么样。

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第1张图片

1.2 info()

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第2张图片

可以看每个字段有多少非空值,字段的类型是什么样的

1.3 describe()

可以大致描述每个整数或者浮点型的数值分布,看最小值,最大值和四分位数,可以大致了解数据的偏移情况。

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第3张图片

2.数据预处理

从前面数据预览中发现年龄(age)、船舱号(Cabin)、登岸口(Embarked)有数据的缺失。

登岸口通过后面的数据探索可以发现只有3个值,而且缺失的数量也不大,因此这里填充为众数。

船舱号只有204个有值,一般来说,缺失比例较大的特征可以考虑舍弃,而这里联想到缺失是否表示乘客的票本身就没有船舱号,就像我们买的无座票一样,本身就没有座位号,因此这里先填充为0

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第4张图片

年龄字段也存在缺失,一般来说,老弱病残幼是要受到特殊照顾的,因此年龄应该会是一个比较重要的特征,并且因为它是连续值,这里采用算法预测的方式来进行填充。

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第5张图片

最后我们来看一下填充后的数据情况

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第6张图片

3.数据探索

3.1各个字段值的分布情况

先看代码:

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第7张图片

以上是画布相关设置

subplots_adjust()是用来调整画布内子图的间隔大小的。

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第8张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第9张图片

以上是在画布相应位置画各个子图的代码。图形如下:

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第10张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第11张图片

3.2探索各字段与是否生存的关系,寻找对模型有用的特征

3.2.1 不同乘客等级与是否生存的关系

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第12张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第13张图片

舱位越高级的,生存的比例越大。3等舱里面未获救的比例明显增大。说明舱位与是否生存有关系。

3.2.2 性别与是否生存的关系

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第14张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第15张图片

从数据上看,获救的女性比例很高,电影里面也说了女士优先,因此性别与是否生存也有较大关系。

3.2.3 年龄与是否生存的关系

首先看一下年龄的分布情况和值的离散情况

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第16张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第17张图片

从图中可以发现大部分都是集中在20-50岁之间的,从箱线图看平均年龄接近30岁。

因为年龄是连续值,因此我们考虑把年龄分段后,进行分段统计展示看年龄与是否生存的关系。

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第18张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第19张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第20张图片

从数据上年纪小的生存的几率要大些。不同年龄段的生存率明显有差别,说明年龄与是否生存是有关系的。

3.2.4 有无兄弟姐妹与是否生存的关系

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第21张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第22张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第23张图片

从数据上看兄弟姐妹在1-2个的生存率最高

3.2.5是否有父母子女与是否生存的关系

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第24张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第25张图片

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第26张图片

数据显示父母子女个数在1-3个的生存率最高,个数越多反倒生存率下降。

3.2.6 港口与是否生存的关系

泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析..._第27张图片

数据显示有港口的生存率明显高很多。可能是船中间有停靠到一些港口,有部分乘客下船了。

本文参考:大树先生的博客

你可能感兴趣的:(泰坦尼克号python数据分析统计服_利用python进行泰坦尼克生存预测——数据探索分析...)