机器学习——泰坦尼克号乘客生存预测

前言

本文章是我在完成机器学习课程设计写的总结,共计花费五天左右,在kaggle平台上测试,最高的一次准确率为0.78708。

在使用机器学习相关知识去处理某个实际的问题的时候首先就是从需求理解和问题预处理开始,通过异常数据收集、数据整合、数据分析探索,到模型训练和调优,最后进行模型验证评估。

需求理解和问题预处理是整个流程的基础,在本次课程设计中,目标是判断乘客的生还率,怎样基于已有的特征来预测是否生还。

然后就是数据收集,这里我们用了kaggle平台上的数据集。但是这个数据集是不完整的这就需要我们对数据进行预处理和数据清洗。

需要数据进行清洗、整合和探索性分析,寻找数据的规律和特征,为模型的训练提供支持。在这里数据中存在缺失值,缺失值的填充方法有很多:

①如果缺值的样本占总数比例极高,我们可能就直接舍弃了,作为特征加入的话,可能反倒带入noise,影响最后的结果了

②如果缺值的样本适中,而该属性非连续值特征属性(比如说类目属性),那就把NaN作为一个新类别,加到类别特征中

③如果缺值的样本适中,而该属性为连续值特征属性,有时候我们会考虑给定一个step(比如这里的age,我们可以考虑每隔2/3岁为一个步长),然后把它离散化,之后把NaN作为一个type加到属性类目中。

④有些情况下,缺失的值个数并不是特别多,那我们也可以试着根据已有的值,拟合一下数据,补充上。

同时需要将数据进行因子化,这里我还将差值特别大的特征进行归一化,防止因为差值过大导致欠拟合。

接着就是模型构建,这里我选择了逻辑回归、KNN、SVM三种核函数、深度学习等算法,并进行了模型之间的对比,同时还使用了K折交叉验证,利用bagging算法进行模型融合,防止过拟合,输出预测错误的样本来进行模型调节等等。

一、数据集收集

数据集我是直接用kaggle上的数据集,大家可以自行获取。

链接:数据集https://pan.baidu.com/s/1GjQwk9r6MXigFc8Op0xYdw?pwd=peng

提取码:peng

相关推荐
蓝创工坊Blue Foundry1 分钟前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
IT探索8 分钟前
Linux 查找文件指令总结
linux·算法
晚风吹长发10 分钟前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构
麦聪聊数据22 分钟前
企业数据市场建设(三):API 化服务封装,让数据开箱即用、避免重复开发
数据库
sulikey24 分钟前
个人Linux操作系统学习笔记11 - 环境变量
linux·笔记·学习
脱胎换骨-军哥26 分钟前
C++数据库存储引擎内核开发:B+树索引与MVCC并发控制的完整实现
数据库·c++·b树
Kina_C30 分钟前
NFS与Autofs快速讲解-从原理到实战配置
linux·nfs·autofs
麦聪聊数据34 分钟前
企业数据市场建设(四):流程闭环与价值运营,让数据市场真正转起来
运维·数据库
皮卡狮34 分钟前
文件系统:磁盘硬件寻址和系统软件寻址
linux
正儿八经的少年40 分钟前
redis 的大 key 和热 key 详解
数据库·redis·缓存