Kaggle:泰坦尼克之灾 (一)

刚刚开始接触Kaggle,根据官网的推荐先拿titanic竞赛练练手,先撸一个baseline出来再慢慢优化。

前置准备:pandas,seaborn,jupyter

1. 首先来理解一下数据

首先可以了解到一些基本信息,训练集中旅客有891人,超过一半人住在2、3等舱,平均年龄接近30岁,有婴儿存在等等。那么接下来如何从这些基本信息中抽象出有意义的特征,就是我们接下来的工作。

2. 分析一些离散数据特征

2.1 仓位等级与幸存的关系

可以看出仓位等级越高,获救的可能性越大。

2.2 性别与幸存的关系

可以看到女性的获救概率非常高。

2.3 登船口岸与幸存的关系

貌似在某些口岸登船的人幸存概率更低一些,后续可以考虑和票价或者仓位等级组合起来看。

2.4 特征抽取

基于这3个离散属性,我们进行特征离散化构造稀疏特征向量来看看。

如上图所示,我们把3种属性进行one-hot编码,构造稀疏特征向量用于训练。

3. 训练模型,对测试集进行预测

至此,整个流程已经完成。上传预测文件到Kaggle平台,结果如图所示。

准确率在0.74左右,由于只是一个baseline版本,后续还有很大的优化空间。

4. 后续迭代主要有几点可以改进:

4.1 加入连续类型属性作为特征。

4.2 进行特征组合,增加表达能力。

4.3 加入cross_validation。

4.4 模型特征筛选,去掉表达能力不强的特征(更后期这件事可以由random forest或者gbdt来完成,貌似还有grid_search)。

4.5 更换非线性模型,以应对数据线性不可分的问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容