分析目标
作为当时最豪华的游轮之一,泰坦尼克号的处女航也是当时人们关注的一个话题,所有人都期待着这艘船能够往返于大洋,但没想到,这一次的处女航,1500多人永远的沉睡在海底。
假如你灵魂穿越,作为一名泰坦尼克号的乘客,你能预测自己获救的概率吗?
- 描述泰坦尼克号乘客数据集特点
- 泰坦尼克号乘客数据描述性统计分析
- 探索分析泰坦尼克号乘客生存概率与乘客属性之间的关系
- 通过探索性分析,确定建模需要的特征值,并进行特征值处理
- 通过数据建模,预测泰坦尼克号乘客的生存情况
目录
- 泰坦尼克号乘客数据描述统计分析
- 探索性分析乘客的各个特征与其生存概率之间的关系,并确定模型特征值
- 特征工程
- 建模
- 总结
1.数据描述统计分析
train_df = pd.read_csv(r'D:\数据文件\泰坦尼克号\train.csv')
test_df = pd.read_csv(r'D:\数据文件\泰坦尼克号\test.csv')
#将两个数据集组合在一起,方便之后的操作
combine = [train_df, test_df]
print(train_df.info())
print('*'*40)
print(test_df.info())
查看数据集中的缺失值
- 在train_df数据集中age、cabin,embarked三列数据有缺失值,需要处理
- 在test_df数据集中age、cabin、fare有缺失值,需要处理
- 数据集中,浮点数,整型,object对象都存在
#查看数据集中数值特征的描述性统计
train_df.describe()
#查看数据集中分类列的描述性统计
train_df.describe(include=['O'])
数据集描述统计分析
- 乘客中,获救人数还不到40%
- 乘客中以3等级的人居多
- 乘客中大多数人都是30岁左右的青壮年,年龄分布稍微向年龄小的方向偏移
- 大多数人都是独自出门旅游
- 船票票价平均32一张,但船票价格波动很大
- 乘客中男性乘客更多,接近三分之二
- 乘客登船港口多数为S港口
2. 探索性分析
- 性别与获救概率的关系(sex)
- 年龄与获救概率的关系(age)
- 社会地位与获救概率的关系(pclass)
- 家庭关系与获救概率的关系(sibsp parch)
- 登船港口(embarked)
- 多个特征与获救概率的关系
社会地位-pclass与乘客获救关系
plt.figure(figsize=(10,4))
plt.subplot(121)
train_df.groupby('Pclass')['Survived'].mean().plot.barh()
plt.title('各社会地位获救概率')
plt.xlabel('获救概率')
plt.subplot(122)
train_df.groupby(['Pclass']).size().plot.barh()
plt.title('各社会地位人数')
plt.xlabel('人数')
plt.show()