Kaggle 泰坦尼克号生存预测分析(入门)

Kaggle 泰坦尼克号生存预测分析(入门)

这个项目是kaggle的入门项目,当你注册这个网站的时候,它会推荐这个练习给你了解它们网站,同时让你有一个入门级的练习。那么今天,我们就一起来分解下这个预测分析该怎么做。


这个练习的数据在网址:

Titanic: Machine Learning from Disasterwww.kaggle.com

1、提出问题

什么样的人更容易在泰坦尼克号中存活?


2、理解数据

2.1 采集数据

从Kaggle泰坦尼克号项目页面下载数据:

Titanic: Machine Learning from Disasterwww.kaggle.com

2.2 导入数据

首先,导入数据包:numpy与pandas

然后,用pd.read_csv方法读取从kaggle上下载的数据

接着,读取训练集和数据集中的数据分别有多少。

合并数据集,方便同时对两个数据集进行清洗

2.3 查看数据集信息

通过full.head()查看,前五个数据


通过full.describe()来查看统计信息,但是因为描述统计指标是计算数值,所以出现的数据都是数值型的,

如果需要查看其他的可以用full.info()方法


经过数据查看,我们发现数据总共有1309行,但是其中例如:Age(年龄)只有1046条,说明肯定有缺失值。

另外字符串系列中的Cabin(船舱)只有数据295条,缺失值高达1014条。那么接下来,就需要对数据进行清洗和处理了。


3、数据清洗

3.1 数据预处理

我们发现,在上面提取出来的数据中,有些数据型有缺失值,通过筛选我们也知道了具体有哪些是有缺口的,我们能针对性的对其进行处理。目前很多机器学习算法为了训练模型,要求传入的特征值不能为空值,所以对于数据类型,处理缺失值最简单的方法就是用平均数来填充缺失值。


首先,查看的初始数据集

输入代码处理后,Age的缺失值填充了平均值

处理登船港口,由于只缺失2个数值,所以用最多的港口来填充缺失的数据

处理船舱号,由于缺失值太多并且无法确认,于是用U表示未知


3.2 特征提取

3.2.1 数据分类

查看数据类型,分为三种数据类型,并对类别数据进行处理。

a、数值类型:直接使用

b、时间序列:转换成单独的年、月、日

c、分类数据:由于分类数据中包含的大多是字符串数据,例如:性别(男/女),那么用1代表男,0代表女。如果有三个呢?那就对其进行One-hot 编码


one-hot的基本思想:将离散型特征的每一种取值都看成一种状态,若你的这一特征中有N个不相同的取值,那么我们就可以将该特征抽象成N种不同的状态,one-hot编码保证了每一个取值只会使得一种状态处于“激活态”,也就是说这N种状态中只有一个状态位值为1,其他状态位都是0。举个例子,假设我们以学历为例,我们想要研究的类别为小学、中学、大学、硕士、博士五种类别,我们使用one-hot对其编码就会得到:




第一步、对性别进行映射,将性别的值映射为数值,男male对应数值1,女female对应数值0

第二步、对登船港口进行处理。因为如果用户从A登船,那么就不会从B港口登,所以用one-hot编码进行处理。

第三步、客舱等级



3.2.2 分类数据:字符串类型

字符串类型的数据有:

1、乘客姓名(Name)

2、客舱号(Cabin)

3、船票编号(Ticket)


首先,乘客姓名。我们观察到在名字中前面都有一个Mr或者Mrs的称谓,而后才是名字,所以我们需要把它分离开来。


接下来,从客舱号中提取客舱类别



最后,建立你家庭人数和家庭类别的映射


3.3 特征选择

相关系数算法:计算各个特征的相关系数

根据各个特征与生成情况(Survived)的相关系数大小,我们选择了这几个特征作为模型的输入:

头衔(前面所在的数据集titleDf)、客舱等级(pclassDf)、家庭大小(familyDf)、船票价格(Fare)、船舱号(cabinDf)、登船港口(embarkedDf)、性别(Sex)

4、构建模型

用训练数据和某个机器学习算法得到机器学习模型,用测试数据评估模型

4.1 建立训练数据集合测试数据集


1)坦尼克号测试数据集因为是我们最后要提交给Kaggle的,里面没有生存情况的值,所以不能用于评估模型。

我们将Kaggle泰坦尼克号项目给我们的测试数据,叫做预测数据集(记为pred,也就是预测英文单词predict的缩写)。

也就是我们使用机器学习模型来对其生存情况就那些预测。

2)我们使用Kaggle泰坦尼克号项目给的训练数据集,做为我们的原始数据集(记为source),

从这个原始数据集中拆分出训练数据集(记为train:用于模型训练)和测试数据集(记为test:用于模型评估)。



4.2 选择机器学习算法

今天从逻辑回归算法开始


接着,训练模型

5、评估模型

6、方案实施

编辑于 2018-03-04

文章被以下专栏收录

    关注个人的成长,播撒浓浓的心灵鸡汤,提高职场能力!欢迎关注二爷公众号(二爷的学堂)