泰坦尼克号数据_数据分析实战3:泰坦尼克号生存分析

本文通过泰坦尼克号数据集进行数据分析和建模,探讨性别、年龄、舱位等因素对乘客生还率的影响。研究发现,女性和较高舱位的乘客生还率更高,年龄对生还率的影响次之。数据建模过程包括数据清洗、预处理、特征工程和模型评估。
摘要由CSDN通过智能技术生成

a81800bf4fd32bbf557896da106445f5.png

​ 只要是数据分析师,恐怕没有人不知道泰坦尼克号这个项目吧,这是一个被简历写烂的项目,这也小白学习数据分析和建模最基础的一个项目,本文将从数据分析和数据建模两部分来介绍此项目。

数据来源:

https://www.kaggle.com/c/titanic​www.kaggle.com

数据字段:

ff473d605b7c10c57e979c0848ca024a.png

字段介绍:

  1. PassengerId:乘客编码
  2. Survived:是否幸存
  3. Pclass:船票类型
  4. Name:名字
  5. Sex:性别
  6. Age:年龄
  7. SibSp:船上该成员兄弟姐妹的数量
  8. Parch:船上该成员的父母或子女数量
  9. Ticket:船票编号
  10. Fare:乘客票价
  11. Cabin:客舱号码
  12. Embarked:起航运港

数据分析

影响乘客生还率的因素有很多,为了更好的了解数据,本文将从性别、年龄以及舱位的角度分别来查看对生还率的影响程度

数据导入:

import numpy as np
import pandas as pd
import matplotlib
from matplotlib import pyplot as plt
import seaborn as sns
# 忽略错误
import warnings
warnings.filterwarnings('ignore')

# 解决图表中中文显示为方格的问题
plt.rcParams['font.sans-serif']=['SimHei']
# 解决图表中负号显示为方格的问题
plt.rcParams['axes.unicode_minus']=False

# 读取数据
train_data=pd.read_csv('./train.csv')
test_date=pd.read_csv('./test.csv')
# 测试数据集
print(test_date)
# 训练数据集
train_data

1、性别对生还率的影响

f82503d41f0fc3ea20db615a28560b3d.png

d99332a57933cd9145ac8b4404f6e91a.png

7383356a8fd3a4bdc919f51181e87487.png

结论:
全部乘客中,只有35.24%的女性,而生还的乘客中,女性占到了68.13% 。女性的生还率达到了74.2%,而男性的生还率只有18.9% 。我们可以看出,女性的生还率更高。

代码展示:

# 性别对生还率的影响

train_data_sex=train_data.Sex.value_counts()
train_data_sex
# 绘制饼图展示
train_data_sex.plot(kind='pie',title='全体乘客的性别比例图',
                    autopct='%.2f%%',figsize=(4,4))

# 绘制生还乘客的性别比例图
train_data_survived=train_data[train_data['Survived']==1]
train_data_survived_sex=train_data_survived.groupby(['Sex']).Sex.count()
train_data_survived_sex
plt.figure(figsize=(4,4))
plt.pie(train_data_survived_sex,labels=['female','male'],autopct='%.2f%%')
plt.title('生还乘客的性别比例图')

# 绘制不同性别的生还率
# 使用的是sns.barplot()显示的是某种分类变量分布的平均值
sns.barplot(x='Sex',y='Survived',data=train_data)
plt.title('不同性别的生还率')

2、年龄对生还率的影响

泰坦尼克号数据_泰坦尼克号数据分析报告 891名乘客中遇难乘客有549⼈,占61.6%,⽣还乘客342⼈,占38.4%.各等级船舱乘客⼈数 各等级船舱乘客⼈数 Pclass_count=titanic_data['Pclass'].value_counts().sort_index() #⽤Bar_pie()函数作条形图和饼状图 Bar_pie(Pclass_count) 三等船舱乘客最多,占55.1%;⼀等船舱次之占24.2%;⼆级船舱乘客最少,占20.7%.男⼥乘客分布情况 男⼥乘客分布情况 Sex_count=titanic_data['Sex'].value_counts() print(Sex_count) Bar_pie(Sex_count) male 577 female 314 Name: Sex, dtype: int64 男乘客有577⼈,占64.8%;⼥乘客有314⼈,占35.2%.乘客年龄分布情况 乘客年龄分布情况 In [84]: #乘客年龄分布直⽅图 #创建figure、subplot,并⽤hist作条形图 fig_Age=plt.figure(figsize=(10,5)) ax_Age=fig_Age.add_subplot(1,2,1) titanic_data['Age'].hist(bins=10,color='g',alpha=0.3,grid=False) #设置x轴刻度标签 ax_Age.set_xticks([0,10,20,30,40,50,60,70,80,90,100]) #添加标题,x轴标签,y轴标签 ax_Age.set_title('Hist plot of Age') ax_Age.set_xlabel('Age') ax_Age.set_ylabel('number of people') #乘客年龄分布箱线图 #作箱线图 plt.subplot(122) titanic_data.boxplot(column='Age',showfliers=False) #添加y轴标签 plt.ylabel('Age') plt.title('boxplot of Fare') titanic_data['Age'].describe() count 891.000000 mean 29.544332 std 13.013778 min 0.000000 25% 22.000000 50% 29.000000 75% 35.000000 max 80.000000 Name: Age, dtype: float64 乘客年龄⼤概成正态分布,平均年龄29岁多,最⼤的80岁,最⼩的不到1岁(利⽤int()取整,不到1岁的为0).兄弟姐妹、配偶在船上的 兄弟姐妹、配偶在船上的 乘客分布情况条形图 乘客分布情况条形图 #创建figure、subplot,⽤plot()作柱状图 fig_SibSp=plt.figure(figsize=(10,5)) ax_SibSp=fig_SibSp.add_subplot(1,2,1) SibSp_count=titanic_data['SibSp'].value_counts() SibSp_count.plot(kind='bar') #添加标题,x轴标签,y轴标签 ax_SibSp.set_title('Bar plot of SibSp') ax_SibSp.set_xlabel('number of SibSp') ax_SibSp.set_ylabel('number of people') #拥有各 数量的兄弟姐妹、配偶的乘客⽐例条形图 plt.subplot(122) SibSp_count.div(SibSp_count.sum()).plot(kind='bar') #添加标题,x、y轴 标签 plt.title('Ratio of people in SibSp') plt.xlabel('SibSp') plt.ylabel('ratio') 在船上没有兄弟姐妹配偶的乘客较多,占68.2%.⽗母、孩⼦在船上的乘客分布条形图 ⽗母、孩⼦在船上的乘客分布条形图 Parch_count=titanic_data['Parch'].value_counts() #创建figure、subplot,⽤plot()作柱状图 fig_Parch=plt.figure(figsize=(10,5)) ax_Parch=fig_Parch.add_subplot(1,2,1) Parch_count.plot(kind='bar') #添加标题,x、y轴标签 ax_Parch.set_title('Bar plot of Parch') ax
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值