泰坦尼克号生存概率分析

本项目在Kaggle中是数据分析入门项目,如果你想了解数据分析,我们就从这里开始吧!
数据集可以到Kaggle入门项目中直接找到,下载即可!

1.提出问题

什么样的人在泰坦尼克号中更容易存活?

2.采集数据、理解数据

导入数据分析工具库Numpy、Pandas
在这里插入图片描述

用pandas中的read_csv()方法读取格式为CSV的数据集

在这里插入图片描述

ps:本项目涉及到机器学习,所以我们有2个数据集,一个训练数据集,一个测试数据集,如果你还没有接触机器学习,我们先将这两个数据集进行合并,一起做一下数据分析,关于机器学习部分作为了解就可以,没有影响。
在这里插入图片描述
上图中,我们使用numpy的shape()的方法可以查看数据集的形状,这里我们可以了解到这个数据集有1309行,12列。
查看数据集信息,了解数据,我们用head()方法,默认查看前5行
在这里插入图片描述
使用统计数据信息描述方法describe()查看数据信息,查看是否存在异常值
在这里插入图片描述
查看数据是否有缺失以及数据类型
在这里插入图片描述
数据总共有1309行,Survived是标签,用作机器学习预测,无需处理。 数据类型列:年龄(Age)、船舱号(Cabin)里面有缺失数据:

年龄(Age)里面数据总数是1046条,缺失了263,缺失率20%;

船票价格(Fare)里面数据总数是1308条,缺失了1条数据字符串列;

登船港口(Embarked)里面数据总数是1307,只缺失了2条数据,缺失较少;

扫描二维码关注公众号,回复: 3622702 查看本文章

船舱号(Cabin)里面数据总数是295,缺失了1014,缺失率77.5%,缺失较大。

登船港口缺失2个值,将其填充为出现次数最多的值。船舱号(Cabin)缺失指较多,将其填充为’U‘。

3.数据清洗

3.1数据预处理:缺失数据处理
在这里插入图片描述
在这里插入图片描述
3.2.特征提取:

3.2.1.数据分类

对于不同数据类型的特征提取方法不同,对于数值类型的数据可直接使用,对于日期数据需转换为单独的年、月、日,对于分类数据使用One-hot编码方法用数字代替类别。

1.数值类型:

乘客编号(PassengerId),年龄(Age),船票价格(Fare),同代直系亲属人数(SibSp),不同代直系亲属人数(Parch)

2.时间序列:无

3.分类数据:

1)有直接类别的

乘客性别(Sex):男性male,女性female。将性别的值映射为数值,男(male)对应数值1,女(female)对应数值0
在这里插入图片描述
登船港口(Embarked):

出发地点S=英国南安普顿Southampton,

途径地点1:C=法国 瑟堡市Cherbourg,

出发地点2:Q=爱尔兰 昆士敦Queenstown

one-hot编码,将这一列数据按类别分开,属于这一列则标为1,否则0,使得分类数据量化,这便于我们之后的分析。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们同通过乘客的名字也可以获取到一定信息,比如乘客的头衔,我们写一个函数将它提取出来,并分析它与生存率之间的关系。
在这里插入图片描述

我们调用函数,并且使用counter()函数查看头衔一共有多少种,然后计算它们的数量。
在这里插入图片描述
定义以下几种头衔类别:

Office 政府官员,Royalty 王室(皇室)

Mr 已婚男士,Mrs 已婚女士

Miss 年轻未婚女子,Master 有技能的人/教师
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
船舱的位置也是我们要分析的对象,所以我们对船舱位置也进行one-hot编码,并将它添加到数据集full的后边。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在船上的家庭人数我们也进行分类
在这里插入图片描述
家庭人数分类:
小家庭Family_Single: 家庭人数 = 1
中型家庭Family_Small:家庭人数 2-4
大型家庭Family_Large:家庭人数 >5
在这里插入图片描述
在这里插入图片描述
我们使用corr()方法进行变量之间的相关性分析,相关性较高的两个变量进行分析。
在这里插入图片描述
在这里插入图片描述
选择相关性较高的特征出来重新组成一个数据集进行分析。
在这里插入图片描述
4.数据可视化
导入数据可视化工具包matplotlib
在这里插入图片描述
4.1分析存活率与性别之间的关系:
将男性与女性存活与非存活计数并重新建表SexDF
在这里插入图片描述
数据可视化为柱状图
在这里插入图片描述
计算男女存活率,并数据可视化
在这里插入图片描述
可视化图表
在这里插入图片描述
4.2分析存活率与头衔之间的关系
计算每个头衔人数,并生成新表TitDF进行数据可视化
在这里插入图片描述
计算各头衔存活率,并用饼图进行数据可视化
在这里插入图片描述
在这里插入图片描述
4.3分析存活率与在船家庭人数的关系
对每种家庭类型进行计数,生成新表FamDF,进行数据可视化
在这里插入图片描述
计算家庭人数存活率,并进行数据可视化
在这里插入图片描述
在这里插入图片描述
4.4分析存活率与客舱等级间的关系
对客舱等级进行计数,生成新表PclDF,进行数据可视化
在这里插入图片描述
计算客舱等级存活率,并进行数据可视化
在这里插入图片描述
在这里插入图片描述
得出结论:
在泰坦尼克号灾难生存率分析中,
1.女性生存率高达0.74,而男性生存率只用0.17,说明基于绅士风度男性把生存机会留给了女性;
2.从头衔的角度来看,贵族、已婚女士、未婚女子的生存率较高,这也符合性别生存率分析,贵族在这场灾难中有一些‘特权’;
3.家庭人数在船上最多和最少的生存率都没有小家庭人数高,说明在灾难中,只有一个人没有人帮助他,他的生存率就很低,而家庭人数太多,牵扯因素也多,生存率也较低;
4.从船舱等级1-3来看,生存率也由高到低,说明船舱等级对人们的安危也很重要。

以下内容为机器学习部分,作为了解,你将预测更多的人在船上,他们是否能存活。
5.数据建模
在这里插入图片描述
导入数据分析工具包
在这里插入图片描述
在这里插入图片描述
建立模型
在这里插入图片描述
在这里插入图片描述
将你预测的数据存为CSV格式
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hl_zmfh/article/details/83119973