hi everybody,
这周开始了对随机森林算法的学习,kaggle网站上有一个关于泰坦尼克号幸存预测的案例很适合用随机森林算法来预测,所以我们本周的算法就以这个数据集开始讲解。
定义问题
本研究是利用泰坦尼克号乘客数据集,运用随机森林算法根据乘客的不同变量参数特征进行学习,最后得出预测是否幸存。
本文运用的编程语言为 python
所需要的包为:sklearn,numpy,matplotlib,seaborn,pandas
泰坦尼克数据集背景解读
1912年3月15号,泰坦尼克号在首航之时就因撞击冰山而沉没,首航之时的2224名旅客及船员中共有1502名死亡。造成伤亡如此惨重的其中一个原因在于船上没有足够的救生船让旅客及船员及时逃离。我们知道在沉船中存活下来需要一些幸运因素,但是有些人对这些人的背景(如性别,舱位,票价,登船地点等)进行调查后发现,幸存与否与这些因素也有一定的关系。
在进行算法演示之前还有一句题外话:我们对船上的人员进行研究与调查,并不是想要去博人眼球消费他们,而是希望让更多的人了解这一个个数字背后不同的人生。
数据展示
数据包含了测试集与训练集两个部分
训练集:
参数分析
我们从训练集中可以看到共有11个输入参数,一个输出参数(survived),现在对输出参数的特征进行解读
1.passangerid:乘客ID号,这个是自动生成的
2.Pclass:乘客的舱位(1-一等舱;2-二等舱;3-三等舱)
3.Name:乘客姓名
4.Sex:乘客性别
5.Age:乘客年龄
6.SibSp:兄弟姐妹,伴侣人数
7.Parch:父母人数
8.Ticket:票号
9.Fare:船票价格
10.Cabin:船舱号
11.Embarked:上船地点
输出量:
survived:是否生还(1-是,0-否)
清洗数据
首先我们要对数据进行清洗,来大致的看一下数据质量
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
data_train = pd.read_csv(r'D:\飞机ADS-B数据\Python-Machine-Learning-Cookbook-master\titanic\train.csv')
data_test = pd.read_csv(r'D:\飞机ADS-B数据\Python-Machine-Learning-Cookbook-master\titanic\test.csv')
data_train.info() #显示数据信息
结果演示:
RangeIndex: 891 e