这是一个很经典的案例,很多博主都写过,对,就是它:泰坦尼克号生存率的分析,它是kaggle上的一道题,通过船上乘客的信息分析和建模,预测哪些乘客得以生还。

我们就非常粗暴地拿这个数据集做一个简单的分析好了。

使用工具:Excel
(对,就是这么简单粗暴)

一、明确目的

1912年泰坦尼克号撞上冰山沉没,船上2224名乘客和机组人员中有1502人遇难,幸存下来的人是出于运气还是存在一定的规律?这是我们比较关心的,所以就要提出问题:

那些人士生还的可能性大?

其次了解数据,数据集总共有以下的字段,其中name、sex、cabin、embarked、ticket是字符串类型,pclass和survived虽然是数值型,但其含义是标签,我们分别从舱位、乘客、船票和地域的维度出发来分析。

二、数据处理

通过查看,发现Age、fare、embarked、cabin字段都是有缺失的,下面我们一个一个来看。

1、age缺失值处理

筛选age一列为空的有263条数据,缺失率为20%,可以全部填充为年龄的均值或众数,也可以进一步地分析,发现年龄缺失的数据里三等舱的最多,占总缺失值的79%,而三等舱里的未生还的男性占比最多,因此也可以用三等舱年龄的平均值来填充。

这里为了保持数据的真实性,就不做填充处理了。

2、fare缺失值处理

筛选发现fare(票价)只缺失了一个值,我们把它找出来,发现可以用同类型的均值填充掉。

因此我们筛选三等舱、年龄大于60岁的,登船港口为S的男性的均值票价7来填充这个缺失值。

3、embarked缺失值处理

embarked登船港口字段也有2个缺失值,筛选出来看下。

进一步观察到,这两个旅客都是单独出行,没有家人(从sibsp和parch列均为0得知),延续对fare缺失值处理的思路,寻找同类型的进行填充。对第一个旅客,筛选出头等舱的年龄在35~40岁的女性中,港口最多的值填充进去,结果是S。

同样的方法,对第二个旅客,筛选头等舱年龄在60~65岁的女性中,登陆港口最多的值,结果也为S。

4、cabin缺失值处理

对于cabin(客舱)字段缺失值达到了77%,缺失太多了,就不做填充处理了,直接保留或删除,这里先保留着吧。

三、数据分析

1、舱位维度

pclass
对舱位和生还情况分析,插入数据透视表

生还的人里,头等舱的占比达到了40%。

对每个舱位的生存死亡情况做百分比堆积柱形图,可以看到,头等舱生还的人数占比最多,达到61.92%,三等舱的生还人数占比最少,仅25.33%,所以还是那句老话,钱虽然不是万能的,但没钱@#%&^…

carbin
对carbin(客舱号)做透视,可以看到有295个唯一值,基本上是一个客舱只住一个人。

但是也发现了有1个客舱对应2个人以上的情况,进一步地把舱位拉进去对比一下,发现三等舱的数值很少,说明carbin缺失值大部分是三等舱缺失的,意思是三等舱的人没有客舱?大通铺?这个有待进一步查证。

另外发现三等舱有客舱的都是E/F/G开头的客舱号,而头等舱A/B/C就较多,猜测客舱号是随着舱位的降低按字母升序排列的。

2、乘客维度

name
name姓名列没有什么有价值的信息,不过可以进一步思考的是,姓名里其实是对应了头衔的,比如Mr是已婚男士,Mrs是已婚女士等,但是这里就先删除了。

sex
对性别和生还情况进行分析

生还的人中女性占比67.8%,远高于男性的32.2%。

女性生还人数占女性总数的72.75%,远远大于男性生还人数占男性总数的19.10%。

性别&舱位
可以顺便看一下舱位和性别的关系,因为男性人口基数大,所以不管是哪个舱位,男性人数都是多于女性的,同理,各个舱位都是女性获救的人数最多。

但是呢,头等舱女性的生还比例为97%,远高于其他两个舱位,且三等舱女性的生还比例只有49%。

age
对年龄和生还情况进行分析,这里因为年龄有缺失,仅对有数值的进行分析。

首先对年龄做一个简单的描述统计,用【数据分析】里的【描述统计】功能,可以看到年龄最大值为80岁,最小值为0.17岁,平均值为29.88岁,年龄中位数为28岁,众数为24岁。

进一步地,可以观察一下年龄的分布情况,做直方图,5岁为一组,可以看到,乘客的年龄主要集中在15-30岁,其中20-25岁的年轻人最多。

了解了年龄大致的分布后,就要来看特定人群的生还情况了,我们将年龄分为:

  • 少年(0~15岁)
  • 青年(15~40岁)
  • 中年(41~65岁)
  • 老年(66岁以上)

先做一个分组的表,用vlookup的模糊匹配实现分组

在age旁新建一列age分组的辅助列,输入公式

=VLOOKUP(E2,Sheet2!$B$18:$C$21,2,1)

Sheet2!18:21这个区域就是上图预先设置好的分组区域。

再对age分组和survived进行透视

可以看到生还的人中青年、少年的占比最多,老年占比最少。

对各年龄段分组的死亡、生存情况做百分比堆积柱形图,得到结果,少年获救的人数比例最高。

sibsp
对sibsp字段(兄弟姐妹妹/配偶的个数)分析,透视后可以看到标签为0,也就是说没有亲戚的人是船上乘客的大多数。

同样因为基数大的缘故,生存下来的人中,亲戚数为0的占比最多达到了61.8%。

对各标签做百分比堆积柱形图,这才是比较有意义的结果,可以看到,有1个亲戚数的人群获救的比例最高。

parch
对parch字段分析(父母/小孩个数),同样可以看到,没有父母/小孩的人数是船上总人数的76%,同样,这部分人群获救的数量也最多。

做百分比堆积柱形图,可以看到有3个父母/小孩的人群获救的比例最大,达到了62.5%。

3、船票维度

fare
对Fare(票价)字段分析,首先比较关注的是票价和舱位是否存在相关性,正常的逻辑是舱位越高,票价越高,这里算出pclass和fare的相关系数是-0.56,还是比较相关。

还记得上面我们用vlookup的模糊匹配分组,还可以直接用数据透视表分组。透视以后组合,选择50步长一组,可以再对票价和舱位透视看看,看到100以上的高票价全都是头等舱,二等舱和三等舱的票价大部分为0~50。

性别&票价
女性的票价均价要高于男性

性别&舱位&票价
头等舱的均价远高于其他两个舱,每个舱女性的均价都要高于男性,其中票价的最大值512出自头等舱的女性。另外一个比较有意思的现象是,票价为0的居然都是男性。

都写到这儿了,可以再引申出一个问题,票价到底和什么有关?性别?登陆港口?舱位?客舱?有兴趣的小伙伴可以自己再深入探讨一下,这里我们就不探索下去了。

接下来,50一组看一下fare的分布情况,可以看到票价为0~50的占了船上乘客的82%。

同时存活数量最多的还是0~50票价的人群,因为它的基数本身就很大。

从各票价分组的角度来看,做百分比堆积柱形图,可以看到,500-550票价的人群存活比例为100%,而0-50票价的存活比例只有32%。

ticket
ticket字段是船票信息/代号,没有特别大的分析意义,这里也就直接删除了。

4、地域维度

embarked
对embarked(登船港口)字段分析,透视后发现S港口登船的人数最多,从堆积柱形图中可以看到,C扣登船的生成比例最高。

四、生还率同什么有关

生还率同什么相关?这个是我们最关心的,这个问题其实就是survived字段同其他字段的相关系数。

sex列是字符型数据,要映射成数值,我们添加一列命名为性别的辅助列,male为1,female为0.

再添加一列f_num字段,是sibsp和parch的和,意思是家庭成员数。

embarked字段分解为3个辅助列,港口-S,港口-C,港口-Q,同时输入公式:

=IF(N2="S",1,0)

如果embarked这个字段是S,那么港口-S列为1,港口-C、港口-Q为0,以此类推。

同理对舱位pclass也做同样的处理

用【数据分析】里的【相关系数】功能,可以看到每个字段的相关系数

降序排列一下,就可以看出生还率同什么相关了

所以回到我们最初的问题:

哪些人生还的可能性大?

总结一下:

  • 虽然三等舱的人数最多(54%),但头等舱生还的比例最高(62%)
  • 虽然男性的人数(64%)多于女性,但女性的生还率(72%)远高于男性(19%)
  • 头等舱女性的生还比例(97%)远高于三等舱女性的生还比例(49%)
  • 15-40岁的青年人数最多(53%),生还率最高的是0~15岁的少年(56%)
  • 亲戚的个数为0的人数最多(68%),为1的生还率最高(51%)
  • 父母/孩子个数为0的人数最多(76%),为3的生还率最高(63%)
  • 票价在0-50范围内的人数最多(82%),但500~550范围内票价的人生还率为100%
  • S港口登船的人数最多(70%),但是C港口生还率最高(56%)

猜你喜欢:
数据分析实战:母婴商品分析

《吊打分析师》实战—我要租个好房

简单的Excel数据分析案例

为什么要学统计学:赤裸裸的统计学

成为数据分析师的第三年,我写了10W字

@ 作者:可乐
@ 公众号/知乎专栏/头条/简书:可乐的数据分析之路
@ 个人微信:data_cola

泰坦尼克号数据分析案例实战相关推荐

  1. python数据分析实战案例-Python数据分析案例实战

    原标题:Python数据分析案例实战 至今我们网站已经开设了多个数据分析系列的课程,大部分都是基于算法思路来开展的,课程中着重点在于算法的讲授.软件的使用,案例只是辅助学习.然而很多学员反映,希望可以 ...

  2. 视频教程-Python数据分析案例实战 视频课程-Python

    Python数据分析案例实战 视频课程 计算机硕士,多年工作经验,技术和产品负责人. 多年推荐系统/NLP/大数据工作经验. 负责公司多个AI项目产品落地,包括文本分类.关键词抽取.命名实体识别.对话 ...

  3. python数据分析实战-Python数据分析案例实战(慕课版)

    基本信息 书名:Python数据分析案例实战(慕课版) :59.80元 作者:王浩,袁琴,张明慧 著 出版社:人民邮电出版社 出版日期:2020_06_01 ISBN:9787115520845 字数 ...

  4. python 数据分析 实际案例-Python数据分析案例实战

    原标题:Python数据分析案例实战 至今我们网站已经开设了多个数据分析系列的课程,大部分都是基于算法思路来开展的,课程中着重点在于算法的讲授.软件的使用,案例只是辅助学习.然而很多学员反映,希望可以 ...

  5. 数据分析案例实战:贝叶斯-新闻分类

    学习唐宇迪<python数据分析与机器学习实战>视频 一.数据分析 每一条包括: theme:新闻关键内容 category:新闻种类 URL:链接 content:新闻内容 额,看着很不 ...

  6. Python数据分析高薪实战第十二天 网络服务用户流失预测分析和国产电视剧评分预测分析

    29 综合实战:网络服务用户流失预测与分析 绝大多数互联网公司都面临一个非常重要的问题:用户流失问题.随着互联网和移动互联网的充分发展,发展新用户(也就是一般所说的拉新)的成本越来越高,往往要几块或者 ...

  7. 白话Elasticsearch37-深入聚合数据分析之案例实战Date Histogram Aggregation:统计每月电视销量

    文章目录 概述 官方说明 实例: 统计每月电视销量,没有销量的月份也要统计 概述 继续跟中华石杉老师学习ES,第37篇 课程地址: https://www.roncoo.com/view/55 官方说 ...

  8. 白话Elasticsearch34-深入聚合数据分析之案例实战bucket嵌套实现颜色+品牌的多层下钻分析

    文章目录 概述 案例 需求 解决 Step1.对每种颜色进行bucket分组 Step2.对每种颜色进行bucket分组 , 然后对每个分组再次计算平均价格 Step3.对每种颜色进行bucket分组 ...

  9. 白话Elasticsearch33-深入聚合数据分析之案例实战bucket + metrics 统计每种颜色电视平均价格

    文章目录 概述 官方说明Avg Aggregation 案例:统计每种颜色电视平均价格 概述 继续跟中华石杉老师学习ES,第33篇 课程地址: https://www.roncoo.com/view/ ...

最新文章

  1. 海思3559A上编译Valgrind源码操作步骤
  2. 迭代器、生成器、面向过程编程思想
  3. chrome禁止三方cookie,网站登录不了怎么办
  4. Ranger开源流水线docker化实践案例
  5. 【nginx】nginx 负载均衡
  6. forEach 和 map 区别
  7. 遗留代码写的烂,我能怎么办?
  8. UVA11636 Hello World!【模拟】
  9. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_5_flush方法和close方法的区别...
  10. 【图像分割】基于K-means聚类算法图像分割【含Matlab源码 1476期】
  11. CSS命名及书写规范
  12. 基于SSM的图书馆管理系统
  13. VIRTIO-BLK-DATA-PLANE的配置使用
  14. 共享单车系统的软件测试报告,共享单车APP实验报告模板.docx
  15. Linux 系统不能正常关机解决办法
  16. 信息学奥赛一本通C++语言-----1120:同行列对角线的格
  17. opencv-------高斯滤波
  18. 世纪互联的那些人、那些年、那些事
  19. 微信推送封面尺寸_微信公众平台图片尺寸是多少 如何设置
  20. 《科研伦理与学术规范》 期末考试,题目文档汇总(免费分享 )

热门文章

  1. JumpServer 2:JumpServer 应用框架搭建
  2. 乘法原理的例题和答案_小学数学,乘法原理经典9道例题解析
  3. h5 app 获取手机系统版本号、当前app的版本号
  4. linux 音频播放器源码,Linux的音频播放器的设计源代码.doc
  5. 钱学森诞辰110周年:他让美国人忌惮,让中国人挺直腰杆子
  6. 申宝解析哪些板块引领大盘向上突破
  7. 交强险 法律是人大制定的 法院依据法律来审判 政府可以依据法律制定法规、条例等
  8. 局域网打印机共享怎么设置_[干货]局域网打印机共享
  9. 关于Tornado实现多进程/多线程的理解及参考
  10. [C++] OJ造数据程序