机器学习实战入门经典案例:泰坦尼克号乘客获救预测
天池项目链接:https://tianchi.aliyun.com/notebook-ai/detail?postId=6471
数据集下载地址:https://tianchi.aliyun.com/datalab/dataSet.html?spm=5176.100073.0.0.4b9f6fc1syvnEp&dataId=1386
github:https://github.com/oliveeeeee/Machine-Learning-Project
数据样本观测
1、数据量
训练集:(891, 12)
测试集:(418, 11)
2、数据类型
3、缺失值
训练集中,Age缺失177个,Cabin缺失687个,Embarked缺失2个。
测试集中,Age缺失86个,Fare缺失1个,Cabin缺失327个。
4、统计描述
特征工程
1、缺失值处理
Cabin列缺失值比例较大,先不选用Cabin列做特征。
Age采用中位数对空值进行填充。
疑问:
Age,训练集用训练集的中位数?测试集用测试集的中位数?
Embarked和Fare的缺失值?(见后)
2、无关变量
PassengerId和Name,Ticket
3、变量类型转换?
Sex,Embarked(见后)
线性回归
选取简单的可用输入特征predictors = ["Pclass","Age","SibSp","Parch","Fare"] 。
采用3折交叉验证。准确率为: 0.7037。
疑问:
Sex,Embarked转为类别变量加入?(见后)
逻辑回归
选取简单的可用输入特征predictors = ["Pclass","Age","SibSp","Parch","Fare"] 。
采用3折交叉验证。准确率为: 0.6992。
加入Sex,Embarked
sex: 转为类别变量。
embarked:补缺失值,用众数补;转为类别变量。
线性回归准确率0.7833.
逻辑回归准确率0.7879.
加入Sex和Embarked以后准确率有所提升。
对测试集进行处理和预测
1、补缺失值
Age采用中位数对空值进行填充。
Fare采用最大值进行填充。(Fare只有一个缺失值)
2、Sex和Embarked类别变量转换
3、预测
随机森林
1、10棵决策树,3折交叉验证。准确率0.7856.
2、30棵决策树,10折交叉验证。准确率0.8115.