1、背景
泰坦尼克号是当时世界上体积最庞大、内部设施最豪华的客运轮船,有“永不沉没”的美誉 。然而不幸的是,在它的处女航中,泰坦尼克号便遭厄运。1912年4月10日,泰坦尼克号从英国南安普敦(Southampton)出发,途经法国瑟堡-奥克特维尔(Cherbourg-Octeville)以及爱尔兰昆士敦(Queenstown),驶向美国纽约。1912年4月14日23时40分左右,泰坦尼克号与一座冰山相撞,造成右舷船艏至船中部破裂,五间水密舱进水。次日凌晨2时20分左右,泰坦尼克船体断裂成两截后沉入大西洋底3700米处。2224名船员及乘客中,逾1500人丧生。这么多人遇难的原因之一是没有准备足够的救生艇。
2、.提出问题
研究的问题:什么样的人在泰坦尼克号中更容易存活?
3.理解数据
3.1采集数据
3.2查看官网上对变量的解释:
这里有个大致了解即可。
3.3理清分析思路和需求
【a】提出问题
【b】理解数据:导入数据—理解数据—数据集信息
【c】数据清洗:数据预处理(删除重复值、填充缺失值)— 特征提取 — 特征选择
【d】构建模型
【e】提交预测
3.4数据理解、准备、数据清洗
3.4.1导入数据查看数据集大小
train.csv比test.csv多了一列Survived,即是否生存,这正是我们要解决的问题:本文即是通过对train.csv的机器学习,来预测test.csv的Survived水平。因此,后面会基于train.csv提取特征并结合其Survived数据来预测,则test.csv的数据特征在预测的时候一定要与train.cs的特征数据一致。只有test.csv的特征与训练数据train.csv的特征一致时才能直接应用训练模型进行预测,这样才保证test.csv的特征数据可直接带入进行预测。所以要将二者合并起来一起清洗
3.4.2数据集信息
结论:1309行,12列,与前两个数据集的行之和、列数相符,说明合并成功。
3.4.3删除重复值
3.4.4查看数据集信息和缺失值情况
3.4.5理解数据缺失值
在前面理解数据阶段,我们发现数据总共有1309行。
数据类型列:年龄(Age)、船票价格(Fare)里面有缺失数据;而生成情况(Survived)这一列是标签,要预测的数据标签是未知的,不需要处理这一列
字符串列:船舱号(Cabin)和登船港口(Embarked)里面有缺失数据。
这为我们下一步数据清洗指明了方向,只有知道哪些字段缺失数据,我们才能有针对性的处理。很多机器学习算法为了训练模型,要求所传入的特征中不能有空值。
3.4.6处理缺失值
常见方法主要是:
如果是数值类型,用平均值取代;如果是分类数据,用最常见的类别取代;使用模型预测缺失值,例如:KNN。
(a)首先我们对数值型字段进行查看和处理,步骤如下:
结果显示与前文分析的缺失值一致,表示目前是进程正确,下面进行数据清洗部分
依据处理数据类型缺失值—用平均数来填充缺失值的办法对数值型数据缺失值进行填充
(b)其次我们对字符串类型字段进行查看和处理,步骤如下ÿ