泰坦尼克号生存预测python_用Python预测泰坦尼克号生存情况

本文主要用kaggle网站上的泰坦尼克号生存数据信息,来进行机器学习的入门。其中用到的是逻辑回归算法。

一、提出问题

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

二、理解数据

1、数据来源

2、导入数据

测试数据集比训练数据集少一列,是因为测试数据集里缺少生存情况这一列,这一列是需要我们通过构建模型进行预测的。

pandas的append( )为添加新元素,在表尾中添加新行,并且返回添加后的数据对象。

3、查看数据集信息

通过Df.describe( )方法获取数据集的描述统计信息:

describe( )只能查看数据类型的描述统计信息,对于其他类型的数据不显示,比如字符串类型姓名(name),客舱号(Cabin),此时使用 info( )的方法查询所有列的信息。

可以发现,数据总共有1309行,Age、Cabin、Embarked、Fare 四列各有不同程度的缺失

三、数据清洗

包括数据预处理和特征工程两部分

首先进行数据预处理:

1、如果是数值类型,用平均值取代

2、如果是分类数据,用最常见的类别取代

用平均值对数值类型缺失值进行填充,Df['列名'].fillna( )

登船港口的缺失个数为 2,用常见数据进行填充

对于船舱号Cabin的处理:

查看填充缺失值以后的数据框信息

对于Survived生存情况列,因为是要用来预测的,所以不需要处理。

接下来进行特征工程:

特征工程就是最大限度的从原始数据中提取特征,以供机器学习算法和模型使用。

共包含两部分:1 特征提取 ,2 特征选择和降维

1、特征提取:

对不同数据类型有不同的提取方法:

性别Sex:

登船港口Embarked:

使用数据框的get-dummies( )对登船港口进行one-hot编码

船舱等级Pclass:

姓名Name:

乘客每个名字当中都包含了具体的称谓或者说是头衔,将这部分信息提取出来后可以作为非常有用的一个新变量,可以帮助我们进行预测。

查询头衔的类别和数量:

发现有些头衔并不是常见头衔,而且出现频率比较低,这样不利于机器学习。通过网上对头衔的分类,可将头衔分为6类Officer,Royalty,Mrs,Miss,Mr,Master六种,

船舱号Cabin:

同样的方法对船舱号进行分类,并删除原Cabin列,将新的数据合并到 full 数据集上。

家庭数据Parch、Sibsp:

对于家庭数据选择计算家庭人数的方法提取特征

2、特征选择

首先使用corr( )生成相关系数矩阵

再查看各个特征与生存情况的相关性:

最后选择相关性较高的7类数据为模型特征。

四、构建模型

首先提取特征和标签:

然后建立训练数据和测试数据:

Kaggle给出的训练数据集共有891条,所以这里也选择前891条数据作为训练数据。

最后训练模型:

五、评估模型

六、方案实施

对预测数据进行预测,将结果上传Kaggle

最终分数和排名:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值