## 泰坦尼克号乘客生存预测
### 案例背景
泰坦尼克号沉船事故是世界上最著名的沉船事故之一。1912年4月15日,在她的处女航期间,泰坦尼克号撞上冰山后沉没,造成2224名乘客和机组人员中超过1502人的死亡。这一轰动的悲剧震惊了国际社会,并导致更好的船舶安全法规。 事故中导致死亡的一个原因是许多船员和乘客没有足够的救生艇。然而在被获救群体中也有一些比较幸运的因素;一些人群在事故中被救的几率高于其他人,比如妇女、儿童和上层阶级。 这个Case里,我们需要分析和判断出什么样的人更容易获救。最重要的是,要利用机器学习来预测出在这场灾难中哪些人会最终获救;
![泰坦尼克号](https://myblogs-photos-1256941622.cos.ap-chengdu.myqcloud.com/%E6%B3%B0%E5%9D%A6%E5%B0%BC%E5%85%8B%E5%8F%B7%E4%B9%98%E5%AE%A2%E7%94%9F%E5%AD%98%E9%A2%84%E6%B5%8B/%E6%B3%B0%E5%9D%A6%E5%B0%BC%E5%85%8B%E5%8F%B7.jpg '泰坦尼克号')
---
### 数据挖掘流程
#### (一)数据读取
* 读取数据,并进行展示
* 统计数据各项指标
* 明确数据规模与要完成的任务
#### (二)特征理解分析
* 单特征分析,逐个变量分析其对结果的影响
* 多变量统计分析,综合考虑多种情况影响
* 统计绘图得出结论
#### (三)数据清洗与预处理
* 对缺失值进行填充
* 特征标准化/归一化
* 筛选有价值的特征
* 分析特征之间的相关性
#### (四)建立模型
* 特征数据与标签准备
* 数据集切分
* 多种建模算法对比
* 集成策略等方案改进
---
### 数据样本
此项目数据集分为2份数据集:`titanic_train.csv`和`titanic_test.csv`
`titanic_train.csv`: 训练集,共计891条数据
`titanic_test.csv`: 测试集,共计418条数据
---
### 数据特征
|字段|字段说明|
|:-:|:-:|
|PassengerId|乘客编号|
|Survived|存活情况(存活:1; 死亡:0)|
|Pclass|客舱等级|
|Name|乘客姓名|
|Sex|性别|
|Age|年龄|
|SibSp|同乘的兄弟姐妹/配偶数|
|Parch|同乘的父母/小孩数|
|Ticket|船票编号|
|Fare|船票价格|
|Cabin|客舱号|
|Embarked|登船港口|
`PassengerId`是数据唯一序号;`Survived`是存活情况,为预测标记特征;剩下的10个是原始特征数据。
---
### 数据统计与统计分析
* 查看哪些列有缺失值?
|属性|数目|
|:-:|:-:|
|PassengerId|0|
|Survived|0|
|Pclass|0|
|Name|0|
|Sex|0|
|Age|177|
|SibSp|0|
|Parch|0|
|Ticket|0|
|Fare|0|
|Cabin|687|
|Embarked|2|
从上面可以看出来`Cabin`这个属性缺失值比较多
* 整体看看数据啥规模?(利用`Pandas`的`describe()`函数)
| PassengerId | Survived | Pclass | Age | SibSp | Parch | Fare |
| :-:|:-:|:-:|:-:|:-:|:-:|:-:|
|count|891.000000|891.000000|891.000000|714.000000|891.000000|891.000000|891.000000|
|mean|446.000000|0.383838|2.308642|29.699118|0.523008|0.381594|32.204208|
|std|257.353842|0.486592|0.836071|14.526497|1.102743|0.806057|49.693429|
|min|1.000000|0.000000|1.000000|0.420000|0.000000|0.000000|0.000000|
|25%|223.500000|0.000000|2.000000|20.125000|0.000000|0.000000|7.910400|
|50%|446.000000|0.000000|3.000000|28.000000|0.000000|0.000000|14.454200|
|75%|668.500000|1.000000|3.000000|38.000000|1.000000|0.000000|31.000000|
|max|891.000000|1.000000|3.000000|80.000000|8.000000|6.000000|512.329200|
`mean`字段告诉我们,大概**0.383838**的人最后获救了,**2/3**等舱的人数比**1**等舱要多,平均乘客年龄大概是**29.7岁**(计算这个时候会略掉无记录的)等等…
* 通过绘图来看看获救比例咋样
![获救比例饼状图与柱状图](https://myblogs-photos-1256941622.cos.ap-chengdu.myqcloud.com/%E6%B3%B0%E5%9D%A6%E5%B0%BC%E5%85%8B%E5%8F%B7%E4%B9%98%E5%AE%A2%E7%94%9F%E5%AD%98%E9%A2%84%E6%B5%8B/%E8%8E%B7%E6%95%91%E6%AF%94%E4%BE%8B%E6%9F%B1%E7%8A%B6%E5%9B%BE%E4%B8%8E%E6%9F%B1%E7%8A%B6%E5%9B%BE.png)
---
### 性别特征分析
数据特征分为:**连续值**和**离散值**
* 离散值:性别(男、女),登船地点(S, Q, C)
* 连续值:年龄,船票价格
按照性别进行分组分别输出获救人数:
|Sex|Survived|Sum|
|:-:|:-:|:-:|
|female|0|81|
|female|1|233|
|male|0|468|
|male|1|109|
画出相应的图如下所示:
![性别与生存的关系](https://myblogs-photos-1256941622.cos.ap-chengdu.myqcloud.com/%E6%B3%B0%E5%9D%A6%E5%B0%BC%E5%85%8B%E5%8F%B7%E4%B9%98%E5%AE%A2%E7%94%9F%E5%AD%98%E9%A2%84%E6%B5%8B/%E6%80%A7%E5%88%AB%E4%B8%8E%E7%94%9F%E5%AD%98%E7%9A%84%E5%85%B3%E7%B3%BB.png)
---
### 船舱等级特征分析
|Survivied|0|1|All|
|:-:|:-:|:-:|:-:|
|Pclass|
|1|80|136|216|
|2|97|87|184|
|3|372|119|491|
|All|549|342|891|
![船舱等级特征分析](https://myblogs-photos-1256941622.cos.ap-chengdu.myqcloud.com/%E6%B3%B0%E5%9D%A6%E5%B0%BC%E5%85%8B%E5%8F%B7%E4%B9%98%E5%AE%A2%E7%94%9F%E5%AD%98%E9%A2%84%E6%B5%8B/%E8%88%B9%E8%88%B1%E7%AD%89%E7%BA%A7%E7%89%B9%E5%BE%81%E5%88%86%E6%9E%90.png)
我们可以清楚地看到,船舱等级为1的被给予很高的优先级而救援。尽管数量在`Pclass3`乘客高了很多,仍然存活数从他们是非常低的,大约`25%`
对于`Pclass1`来说存活是**63%**左右,而`Pclass2`大约是**48%**。所以金钱和地位很重要。这样一个物欲横流的世界。
那这些又和**性别**有关吗?接下来我们再来看看船舱等级和性别对结果的影响。(**多变量分析**)
![](https://myblogs-photos-1256941622.cos.ap-chengdu.myqcloud.com/%E6%B3%B0%E5%9D%A6%E5%B0%BC%E5%85%8B%E5%8F%B7%E4%B9%98%E5%AE%A2%E7%94%9F%E5%AD%98%E9%A2%84%E6%B5%8B/%E6%80%A7%E5%88%AB%E4%B8%8E%E8%88%B9%E8%88%B1%E7%AD%89%E7%BA%A7%E4%B8%8E%E7%94%9F%E5%AD%98%E7%9A%84%E5%85%B3%E7%B3%BB.png)
![年龄与船舱等级与生存的关系图](https://myblogs-photos-1256941622.cos.ap-chengdu.myqcloud.com/%E6%B3%B0%E5%9D%A6%E5%B0%BC%E5%85%8B%E5%8F%B7%E4%B9%98%E5%AE%A2%E7%94%9F%E5%AD%98%E9%A2%84%E6%B5%8B/%E6%80%A7%E5%88%AB%E4%B8%8E%E8%88%B9%E8%88%B1%E7%AD%89%E7%BA%A7%E4%B8%8E%E7%94%9F%E5%AD%98%E7%9A%84%E5%85%B3%E7%B3%BB%E5%9B%BE.png)
我们可以很容易地推断,从`Pclass1`女性生存是**95-96%**,如**94人**中只有**3位**女性从`Pclass1`没获救。
显而易见的是,**不论Pclass,女性优先考虑**。
看来`Pclass`也是一个重要的特征。让我们分析其他特征。
---
### 年龄特征缺失值填充与分析(连续值)
* **Oldest Passenger was of: 80.0 Years**
* **Youngest Passenger was of: 0.42 Years**
* **Average Age on the ship: 29.69911764705882 Years**
![年龄特征与(船舱等级、性别)生存的关系](https://myblogs-photos-1256941622.cos.ap-chengdu.myqcloud.com/%E6%B3%B0%E5%9D%A6%E5%B0%BC%E5%85%8B%E5%8F%B7%E4%B9%98%E5%AE%A2%E7%94%9F%E5%AD%98%E9%A2%84%E6%B5%8B/%E5%B9%B4%E9%BE%84%E7%89%B9%E5%BE%81%E4%B8%8E%E7%94%9F%E5%AD%98%E7%9A%84%E5%85%B3%E7%B3%BB.png)
可以得出以下结论:
* **10岁**以下儿童的存活率随**passenegers**数量增加;
* 生存为**20-50岁**获救几率更高一些;
* 对男性来说,随着年龄的增长,存活率降低
#### 缺失值填充
* **平均值**
* **经验值**
* **回归模型预测**
* **剔除掉**
正如我们前面看到的,年龄特征有**177个**空值。为了替换这些缺失值,我们可以给它们分配数据集的**平均年龄**。
但问题是,有许多不同年龄的人。**最好的办法是找到一个合适的年龄段!**
我们可以检查**名字特征**。根据这个特征,我们可以看到名字有像先生或夫人这样的称呼,这样我们就可以把先生和夫人的平均值分配给各自的组。
![年龄缺失值填充之后与生存之间的关系](https://myblogs-photos-1256941622.cos.ap-chengdu.myqcloud.com/%E6%B3%B0%E5%9D%A6%E5%B0%BC%E5%85%8B%E5%8F%B7%E4%B9%98%E5%AE%A2%E7%94%9F%E5%AD%98%E9%A2%84%E6%B5%8B/%E5%B9%B4%E9%BE%84%E7%BC%BA%E5%A4%B1%E5%80%BC%E5%A1%AB%E5%85%85%E4%B9%8B%E5%90%8E%E4%B8%8E%E7%94%9F%E5%AD%98%E4%B9%8B%E9%97%B4%E7%9A%84%E5%85%B3%E7%B3%BB.png
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
泰坦尼克号乘客生存预测+数据挖掘完整案例+泰坦尼克号乘客数据集 #### (一)数据读取 * 读取数据,并进行展示 * 统计数据各项指标 * 明确数据规模与要完成的任务 #### (二)特征理解分析 * 单特征分析,逐个变量分析其对结果的影响 * 多变量统计分析,综合考虑多种情况影响 * 统计绘图得出结论 #### (三)数据清洗与预处理 * 对缺失值进行填充 * 特征标准化/归一化 * 筛选有价值的特征 * 分析特征之间的相关性 #### (四)建立模型 * 特征数据与标签准备 * 数据集切分 * 多种建模算法对比 * 集成策略等方案改进
资源推荐
资源详情
资源评论
收起资源包目录
Titanic_Rescue_Prediction-master.rar (5个子文件)
Titanic_Rescue_Prediction-master
泰坦尼克号乘客生存预测.ipynb 1.08MB
train.csv 59KB
.ipynb_checkpoints
泰坦尼克号乘客生存预测-checkpoint.ipynb 1.08MB
README.md 24KB
test.csv 28KB
共 5 条
- 1
资源评论
猿童学
- 粉丝: 2w+
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功