1、背景分析
预测乘客是否存活下来
泰坦尼克号是数据科学机器学习领域很经典的数据集,在统计学里面也有很多案例,比如拟合优度检验,方差分析等等。其背景就是当年泰坦尼克号上那么多人,灾难发生后,有人生存有人死亡,而且每个人都有很多不同的特征,比如性别,年龄,船仓等级,登船地点等等.....根据这些特征,我们可以预测乘客是否存活下来。
存活是1,死亡是0,响应变量为两种取值,所以这是一个分类问题。
2、数据收集和读取
从kaggle上下载泰坦尼克号的数据
kaggle是国际很有名的数据科学竞赛平台,上面有很多比赛,也有很多数据集,大家可以注册一个账号去看看。下面是泰坦尼克号的项目链接。
导入数据分析常用包
# 导入数据分析常用包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
读取数据,分训练集和测试集读取
# 导入泰坦尼克号数据集
data=pd.read_csv('train.csv') #调用Pandas库中的read_csv函数,该函数用于读取CSV文件
data2=pd.read_csv('test.csv')
pd.set_option('display.max_columns', None) # 显示所有列
pd.set_option('display.width', 1000) # 设置输出宽度(根据需要调整)
data.head(5) #.head()函数用于显示数据集的前5行
data2.head(5) #要用print显示
展示训练集前五行数据
展示测试集前五行数据
可以看到第一列是乘客的编号。我们的响应变量是Survived,即乘客是否存活,但是测试集是没有这一列的,因为需要我们预测。
后面都是特征变量,乘客的特征:船舱等级、姓名,性别,年龄,子女个数,亲戚个数,船费、登船地点等等
3、数据清洗和整理
查看数据信息
data.info()
data2.info()
可以看到训练集891条数据,测试集418条数据。还有的列是没有这么多的,因为存在缺失值。
画图看缺失值
import missingno as msno
msno.matrix(data)
plt.show()
msno.matrix(data2)
plt.show()