基于Kaggle竞赛数据的机器学习分析
——以“Machine Learning from Disaster”项目为例
2021-06-26魏逸飞
魏逸飞,韦 一
(青岛科技大学数理学院,山东 青岛 266061)
1.简介
用于机器学习和数据分析的数据集名称为train.csv,该数据集由Kaggle竞赛(Titanic - Machine Learning from Disaster)提供,该数据集的规模为892*12,共计891条数据, 数据集信息分为12列, 列属性名分别为PassengerId,Survived,Pclass,Name,Sex-,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked。在该竞赛项目中,通过Python语言实现对数据集中特征训练机器学习模型,分析数据,根据分析结果较为准确地判断出test.csv数据集中乘客存活状况,并在提交文件Prediction.csv中以1和0的形式表示出来(1代表乘客生还,2代表乘客死亡)。
2.数据预处理
在运用机器学习和大数据技术解决问题时,往往会用到很多数据特征,已知的特征部分质量高,关联性强,有利于模型训练,而部分特征的数据质量较差或对模型训练作用很小。这里首先需要对特征数据进行筛选。竞赛官方给出的特征数据包括PassengerId(乘客的ID)、Name(乘客姓名)、Ticket(乘客所购票的编号)、Survived(乘客生存情况)、Fare(乘客所购票价)、Pclass(客舱等级)、Sex(乘客性别)、Age(乘客年龄)、SibSp(乘客携带堂兄弟姐妹个数)、Parch(乘客携带父母与小孩个数)、Cabin(乘客客舱编号)、Embarked(乘客登船港口)。
对数据集中各列属性名进行分析,其中PassengerId、Name、Ticket三项数据对生存率影响较小,暂且将他们忽略掉。Survived代表该乘客是否幸存,是后续幸存者分析的重要依据。Fare和Pclass与乘客的家庭条件和社会地位相关联,可见该项对生存率有所影响,故保留。Sex中,对性别影响的正面性不易形成定论,但可以确定该项数据会对生存率产生很大的影响,故保留。同样,Age中,该项数据亦对生存率有较大影响,故保留。SibSp和Parch中,乘客可能会为了让亲属率先登上救生艇而放弃自己登上救生船的机会,对生存率影响较大,故保留。……
