机器学习实战1 泰坦尼克号沉船人员获救(随机森林)

预测泰坦尼克号沉船事件中哪些人员会获救?

目录

1. 背景

2. 数据集

2.1 训练集(train.csv)

2.2 测试集(test.csv)

3. 特征解读

4. 解决思路

5. 实际操作

5.1 导入需要的库

5.2 收集数据

5.3 数据清洗

5.4 特征构建

5.5 字段格式转换

5.6 特征选择

5.7 获取训练集和测试集

5.8 随机森林算法实现


1. 背景

1912年4月15日,泰坦尼克号第一次远航,装上冰山后沉没,导致2224名人员中有1502名人员死亡。对于这些获救人员,是因为幸运获救还是因为有其他的因素影响?我们选择使用随机森林来对这个问题进行分析和预测。

随机森林就是通过集成学习的Bagging思想将多棵树集成的一种算法:它的基本单元就是决策树。随机森林的名称中有两个关键词,一个是“随机”,一个就是“森林”。“森林”很好理解,一棵叫做树,那么成百上千棵就可以叫做森林了,其实这也是随机森林的主要思想--集成思想的体现。

我们要将一个输入样本进行分类,就需要将它输入到每棵树中进行分类。将若干个弱分类器的分类结果进行投票选择,从而组成一个强分类器,这就是随机森林bagging的思想。

2. 数据集

2.1 训练集(train.csv)

文件包括891条记录,11个特征,1个标签(0,1)。

2.2 测试集(test.csv)

文件包括418个待预测样本,11个特征。

3. 特征解读

Passengeld 乘客ID
Survived 获救或死亡
Pclass 船舱等级
Name 姓名
Sex 性别
Age 年龄
SibSp 兄弟配偶
Parch 父母孩子
Ticket 船票信息
Fare 票价
Cabin 船舱信息
Embarked 港口

4. 解决思路

4.1.定义问题

4.2.收集数据

4.3.数据清洗

4.3.1 纠正:异常值

4.3.2 完整:补足缺失值

4.3.3构建:新的特征

4.3.4转换:字段格式替换

4.4.探索分析

4.5.数据建模

4.6.模型验证

4.7.模型优化

5. 实际操作

工具:anaconda

5.1 导入需要的库

5.2 收集数据

源数据集加载之后可以查看下数据:

训练集的数据相比测试集的数据多出的Survived字段是生还结果,我们的目的就是预测出测试集的Survive。此外我们还可以查看下数据表的其他信息,例如每个字段有多少条数据,数据是什么类型等等。

为了之后处理数据方便,可以将列名称转换成小写(看个人喜好)

针对训练集的survived字段绘制图表查看生还情况,0表示死亡,1表示存活。

5.3 数据清洗

先将两个数据集合并在一起,方便后续进行统一数据清洗

首先查看训练集和验证集是否有空值

可以看到训练集的age有177个空值,cabin有2个空值,embarked有2个空值;验证集的age有86个空值,fare有2个空值,cabin有327个空值。还可以对源数据集进行描述查看更多的信息,例如每个字段的均值、最大值等等。

对原始数据集(训练集和验证集)进行清理

之前我们通过查看空值发现age、fare、embarked、cabin存在空值,因此首先要补全空值。

一般我们会用均值来表示一个群体的平均水

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值