泰坦尼克号(RMS Titanic),又译作铁达尼号,是当时世界上体积最庞大、内部设施最豪华的客运轮船,有“永不沉没”的美誉 。1912年4月10日,她从英国南安普敦出发,驶往美国纽约。然而首次处女航行中,泰坦尼克号不幸与一座冰山相撞,1912年4月15日凌晨2时20分左右,泰坦尼克船体断裂成两截,永久沉入大西洋底3700米处,2224名船员及乘客中,逾1500人丧生。泰坦尼克号沉没事故为和平时期死伤人数最惨重的海难之一,其残骸直至1985年才被再度发现。
泰坦尼克号被称为“世界工业史上的奇迹”,而以此事件为背景的《泰坦尼克号》更是成为电影史上的传奇,该片由詹姆斯•卡梅隆执导,莱昂纳多•迪卡普里奥、凯特•温斯莱特领衔主演。在中国大陆上映的时间是1998年4月,虽然时隔20年,泰坦尼克号也已沉没106年,但每当影片主题曲my heart will go on中悠扬的苏格兰风笛声响起时,每个人都会再次被带回那艘奥林匹克级的豪华邮轮。
在机器学习领域,著名的数据科学竞赛平台kaggle的入门经典也是以泰坦尼克号事件为背景。(https://www.kaggle.com/c/titanic)
该问题通过训练数据(train.csv)给出891名乘客的基本信息以及生还情况,通过训练数据生成合适的模型,并根据另外418名乘客的基本信息(test.csv)预测其生还情况,并将生还情况以要求的格式(gender_submission.csv)提交,kaggle会根据你的提交情况给出评分与排名。
这是一个典型的二分类问题,下面通过处理数据、模型训练、评估、预测四个步骤形成一个Base Model。
Titanic生还预测是一个典型的二分类问题,下面通过处理数据、模型训练、评估、预测四个步骤形成一个Base Model。
1. 数据处理
(1)探索数据
用pandas读取train.csv
加载完成后可查看数据
数据共有11个字段,每个字段含义如下,其中Age有714个非空值,而Cabin仅有204个非空值。
(2)特征工程
特征工程(Feature Engineering)极其重要,直接影响到模型效果。实际中,特征工程很多时候是依赖业务经验的。在此,我们先根据经验选择数据的特征,比如在影片逃生片段中的lady and kid first,说明是否生可能与性别(Sex)、年龄(Age)紧密相关;客舱号(Cabin)由于缺失值太多,不选择作为特征。与另外再选择船舱等级(Pclass)、票价(Fare)、登船港口(Embark)作为特征(下一节将针对特征选择进行讲解)。
2. 模型训练
使用决策树模型完成Base model的进行训练
3. 评估
使用准确率和混淆矩阵进行评估
4. 预测
加载test.csv文件,并进行预测
最后在Kaggle页面点击Submit Predictions就提交结果文件,Kaggle会给出准确率和排名。
数据及代码:https://pan.baidu.com/s/1msA8k6sJ7KsK-nl2kEE9N
领取专属 10元无门槛券
私享最新 技术干货