ML入门之Titanic幸存者预测

问题描述

在这里插入图片描述
泰坦尼克号失事,有幸存的乘客,也有遇难的乘客,现有部分乘客的信息,年龄,性别,船票等,有些人比其他人更容易生存,例如婦女,儿童和上流社会。根据所给出的训练集,完成对哪些人可能存活的分析,在test.csv中给出了带测试的数据集,预测这些乘客是否可以幸存

工具

scikit-learn
(由于此问题是个明显的二元分类问题,故可采用logistic回归模型)
pandas
numpy
seaborn
matplotlib
Jupyter Notebook
导入工具:
在这里插入图片描述

流程

读取训练数据与测试数据

在这里插入图片描述

数据可视化与简要分析

在这里插入图片描述
在这里插入图片描述
查看训练集中的前5条乘客信息,可以看到每条信息共有12个变量,即
1.Survival:是否生还,0表示未生还,1表示生还
2.Pclass:船票种类,折射处乘客的社会地位,1表示上层阶级,2表示中层阶级,3表示底层阶级(猜测与是否生还有关)
3. Name:乘客姓名(明显不能作为特征数据,与是否生还无关)
4.Sex:性别,男性为male,女性为female
5.Age:年龄,不满1岁的年龄(根据题目描述妇孺存活率可能会更大)
6.SibSp:为小数该乘客同船的兄弟姐妹及配偶的数量
7.Parch:该乘客同船的父母以及儿女的数量
8.Ticket:船票编号(明显不能作为特征数据)
9.Fare:买票的费用
10.Cabin:船舱编号(明显不能作为特征数据)
11.Embarked:上船地点
12. PassengerId:乘客编号

查看数据的统计信息:
在这里插入图片描述
在这里插入图片描述
有所得的统计信息可知,部分乘客的部分信息有缺失,比如年龄,上船地点,船费等,稍后将在数据处理阶段用中位数补全缺失的值。
绘制部分特征数据的柱状图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由柱状图,初步猜测年龄、兄弟配偶数、父母子女数、票费、船票种类与是否生还有关;
进行进一步的分析:
(1)年龄与存活的关系
在这里插入图片描述
在这里插入图片描述
由此可以看出年龄层次在[0,10]越可能存活,即年龄可作为预测模型的一个特征变量

(2)判断父母子女数与是否存活的关系
在这里插入图片描述
在这里插入图片描述
由条形图,父母子女数对生存率影响不是太大,但仍然保留此特征变量

(3)判断兄弟配偶数与是否存活的关系
在这里插入图片描述
在这里插入图片描述
由图知,有1~2个兄弟姐妹的乘客将会比较容易存活;
(4)判断船票种类与是否存活的关系
在这里插入图片描述
在这里插入图片描述
由图可以得出,1级船票的乘客生存率相对较高,即船票等级也会影响存活率
(5)判断性别与是否存活的关系
在这里插入图片描述
在这里插入图片描述
由此很明显可以看出女性将会比男性的生存率高;

(6)判断上船地点与是否存活的关系
在这里插入图片描述
在这里插入图片描述
由图可知,在C地上船的乘客将要比其他地方上船的乘客生存率更高一些,因此可以作为特征变量;

数据处理

在对数据进行简要的分析,确定好输入学习算法的特征变量后,要对定性的特征进行定量转换并且对缺失的数据进行补全
在这里插入图片描述
在这里插入图片描述
对性别,上船地点进行定量转换:
在这里插入图片描述
在这里插入图片描述

训练数据

数据处理完毕后,根据选择出的特征来训练模型。由于这是一个二分类的问题,使用Logistic回归算法:
在这里插入图片描述
在这里插入图片描述

测试数据处理与预测

在这里插入图片描述
查看测试数据集的头十条信息:
在这里插入图片描述
对测试数据进行相同的预处理
在这里插入图片描述
在这里插入图片描述
将测试数据放入逻辑回归模型中进行预测:
在这里插入图片描述
将预测数据按kaggle要求的格式提交:
在这里插入图片描述
查看所预测的所预测乘客是否生还:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值