数据描述
# 导入pandas用于数据分析
import pandas as pd
# 利用pandas的read_csv模块直接从互联网收集泰坦尼克号乘客数据
titanic = pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')
# 观察前几行数据,可以发现,数据种类各异,数值型、类别型,甚至还有缺失数据
titanic.head()
# 使用pandas,数据都转入pandas独有的dataframe格式(二维数据表格),直接使用info(),查看数据的统计特性
titanic.info()
泰坦尼克号乘客信息数据集共有1313条乘客信息,并且有些特征数据是完整的(如pclass、name),有些则是缺失的;有些是数值型的,有些则是字符串
特征选择
机器学习有一个不太被初学者重视并且耗时,但是十分重要的一环 —— 特征的选择,这个需要基于一些背景知识。根据我们对这场事故的了解,sex,age,pclass这些特征都很有可能是决定幸免于否的关键因素
借由上面的输出,设计如下几个数据处理的任务:
- age这个数据列,只有633个,需要补充
- sex与pclass两个数据列的值都是类别型的,需要转化为数值特征,用0/1代替
# 首先我们补充age里的数据,使用平均数或者中位数都是对模型偏离造成最小影响的策略
X['age'].fillna(X['age'].mean(), inplace