泰坦尼克号数据分析

该博客分析了泰坦尼克号数据集,探讨各特征如Pclass、Sex、Age、SibSp等与存活率的关系。数据显示,Pclass为3的乘客死亡率最高,男性死亡人数远超女性,无年龄记录的乘客死亡率高,SibSp特征为0的乘客死亡人数最多。文章还提到Name、Ticket特征对存活率影响较小,而Fare在0-100区间内人数最多。最终,博客使用决策树算法进行存活率预测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

案例:泰坦尼号数据分析

背景:

泰坦尼克号的沉没是历史上最臭名昭着的沉船之一。1912年4月15日,在首次航行期间,泰坦尼克号撞上冰山后沉没,2224名乘客和机组人员中有1502人遇难。这场轰动的悲剧震撼了国际社会,并导致了更好的船舶安全条例。
海难导致生命损失的原因之一是没有足够的救生艇给乘客和机组人员。虽然幸存下来的运气有一些因素,但一些人比其他人更有可能生存,比如妇女,儿童和上层阶级。

数据集描述

数据中的特征共有11个,它们分别是:

Survived:0代表死亡,1代表存活

Pclass:乘客所持票类,有三种值(1,2,3)

Name:乘客姓名

Sex:乘客性别

Age:乘客年龄(有缺失)

SibSp:乘客兄弟姐妹/配偶的个数(整数值)

Parch:乘客父母/孩子的个数(整数值)

Ticket:票号(字符串)

Fare:乘客所持票的价格(浮点数,0-500不等)

Cabin:乘客所在船舱(有缺失)

Embark:乘客登船港口:S、C、Q(有缺失)

各特征与存活的关系分析

读取数据并查看数据格式

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

train=pd.read_csv('train.csv')
train=pd.DataFrame(train,columns=['PassengerId','Pclass','Name','Sex','Age','SibSp','Parch','Ticket','Fare','Cabin','Embarked','Survived'])
train.head()

在这里插入图片描述

Pclass特征分析

利用饼图分别求出Pclass的类别(1、2、3)与人员存活之间的比例,思路是:求出Pclass为1、2、3,而且存活和死亡的人数,再进行比较,最后用饼图清晰表示出来。

Pclass1_survived_number=train.loc[(train['Pclass']==1)&(train['Survived']==1)]['Pclass'].count()  #类别为1且存活的人数数量
Pclass1_unsurvived_number=train.loc[(train['Pclass']==1)&(train['Survived']==0)]['Pclass'].count() #类别为1且死亡的人数数量
Pclass2_survived_number=train.loc[(train['Pclass']==2)&(train['Survived']==1)]['Pclass'].count() #类别为2且存活的人数
Pclass2_unsurvived_number=train.loc[(train.Pclass==2)&(train.Survived==0)]['Pclass'].count()#类别为2,死亡的人数
Pclass3_survived_number=train.loc[(train['Survived']==1)&(train['Pclass']==3)]['Pclass'].count()  #类别为3,存活的人数
Pclass3_unsurvived_number=train.loc[(train['Pclass']==3)&(train.Survived==0)]['Pclass'].count() #类别为3,死亡的人数

pu1=(Pclass1_unsurvived_number)/(Pclass1_unsurvived_number+Pclass1_survived_number)
ps1=(Pclass1_survived_number)/(Pclass1_unsurvived_number+Pclass1_survived_number)
pu2=(Pclass2_unsurvived_number)/(Pclass2_unsurvived_number+Pclass2_survived_number)
ps2=(Pclass2_survived_number)/(Pclass2_unsurvived_number+Pclass2_survived_number)
pu3=(Pclass3_unsurvived_number)/(Pclass3_unsurvived_number+Pclass3_survived_number)
ps3=(Pclass3_survived_number)/(Pclass3_unsurvived_number+Pclass3_survived_number)

colors=['red','green']
plt.figure(figsize=(8,2))
plt.subplot(131)
plt.pie([pu1,ps1],colors=colors,autopct='%1.1f%%',explode=[0.04,0.04],labels=['Unsurvived','Survived'])
plt.title('Pclass_1')

plt.subplot(132)
plt.pie([pu2,ps2],colors=colors,autopct="%1.1f%%",explode=[0.04,0.04],labels=['Unsurvived','Survived'])
plt.title('Pclass_2')

plt.subplot(133)
plt.pie([pu3,ps3],colors=colors,autopct='%1.1f%%',explode=[0.04,0.04],labels=['Unsurvived','Survived'])
plt.title('Pclass_3')


plt.show()

在这里插入图片描述
分析:从图中可以清楚地看出Pclass类别为3的死亡人数最高,高达75.8%,其次就是类别为2,其死亡率高达52.7%,死亡最少的类别为1,其死亡人数不到一半。

Name特征分析

因为存活率和名字无关,因此Name特征不做分析。

Sex特征分析

M_S=trai
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值