这是一个很经典的案例,很多博主都写过,对,就是它:泰坦尼克号生存率的分析,它是kaggle上的一道题,通过船上乘客的信息分析和建模,预测哪些乘客得以生还。
我们就非常粗暴地拿这个数据集做一个简单的分析好了。
使用工具:Excel
(对,就是这么简单粗暴)
数据源的获取可后台回复:泰坦尼克
一、明确目的
1912年泰坦尼克号撞上冰山沉没,船上2224名乘客和机组人员中有1502人遇难,幸存下来的人是出于运气还是存在一定的规律?这是我们比较关心的,所以就要提出问题:
那些人士生还的可能性大?
其次了解数据,数据集总共有以下的字段,其中name、sex、cabin、embarked、ticket是字符串类型,pclass和survived虽然是数值型,但其含义是标签,我们分别从舱位、乘客、船票和地域的维度出发来分析。
![](https://i-blog.csdnimg.cn/blog_migrate/023bee554e881bbde17d785a9ebc1572.png)
二、数据处理
通过查看,发现Age、fare、embarked、cabin字段都是有缺失的,下面我们一个一个来看。
1、age缺失值处理
筛选age一列为空的有263条数据,缺失率为20%,可以全部填充为年龄的均值或众数,也可以进一步地分析,发现年龄缺失的数据里三等舱的最多,占总缺失值的79%,而三等舱里的未生还的男性占比最多,因此也可以用三等舱年龄的平均值来填充。
![](https://i-blog.csdnimg.cn/blog_migrate/c200aadbc672f6f0d48494795c224c26.png)
这里为了保持数据的真实性,就不做填充处理了。
2、fare缺失值处理
筛选发现fare(票价)只缺失了一个值,我们把它找出来,发现可以用同类型的均值填充掉。
![](https://i-blog.csdnimg.cn/blog_migrate/dcd98ca3bc5662e2467a1345e444f042.png)
因此我们筛选三等舱、年龄大于60岁的,登船港口为S的男性的均值票价7来填充这个缺失值。
![](https://i-blog.csdnimg.cn/blog_migrate/5716b31a1e49a80116279bfa7881a4fd.png)
3、embarked缺失值处理
embarked登船港口字段也有2个缺失值,筛选出来看下。
![](https://i-blog.csdnimg.cn/blog_migrate/cdbba1e337bfba5d0c2bfe61dc7bdd82.png)
进一步观察到,这两个旅客都是单独出行,没有家人(从sibsp和parch列均为0得知),延续对fare缺失值处理的思路,寻找同类型的进行填充。对第一个旅客,筛选出头等舱的年龄在35~40岁的女性中,港口最多的值填充进去,结果是S。
![](https://i-blog.csdnimg.cn/blog_migrate/400bcd99760f3b7d0333100db34f3401.png)
同样的方法,对第二个旅客,筛选头等舱年龄在60~65岁的女性中,登陆港口最多的值,结果也为S。
![](https://i-blog.csdnimg.cn/blog_migrate/68334e6f1602f70fdf8f4603db14e4a0.png)
4、cabin缺失值处理
对于cabin(客舱)字段缺失值达到了77%,缺失太多了,就不做填充处理了,直接保留或删除,这里先保留着吧。
![](https://i-blog.csdnimg.cn/blog_migrate/db6359a0ad852eaa58f62cb691ab286f.png)
三、数据分析
1、舱位维度
pclass
对舱位和生还情况分析,插入数据透视表
![](https://i-blog.csdnimg.cn/blog_migrate/de7093565e0debf40e522bb4056ba206.png)
生还的人里,头等舱的占比达到了40%。