kaggle比赛流程
Posted 光彩照人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kaggle比赛流程相关的知识,希望对你有一定的参考价值。
一、比赛概述
- 不同比赛有不同的任务,分类、回归、推荐、排序等。比赛开始后训练集和测试集就会开放下载。
- 比赛通常持续 2 ~ 3 个月,每个队伍每天可以提交的次数有限,通常为 5 次。
- 比赛结束前一周是一个 Deadline,在这之后不能再组队,也不能再新加入比赛。所以想要参加比赛请务必在这一 Deadline 之前有过至少一次有效的提交。
- 一般情况下在提交后会立刻得到得分的反馈。不同比赛会采取不同的评分基准,可以在分数栏最上方看到使用的评分方法。
- 反馈的分数是基于测试集的一部分计算的,剩下的另一部分会被用于计算最终的结果。所以最后排名会变动。
- LB 指的就是在 Leaderboard 得到的分数,由上,有 Public LB 和 Private LB 之分。
- 自己做的 Cross Validation 得到的分数一般称为 CV 或是 Local CV。一般来说 CV 的结果比 LB 要可靠
二、可视化
通常来说 matplotlib 和 seaborn 提供的绘图功能就可以满足需求了。
比较常用的图表有:
- 查看目标变量的分布。当分布不平衡时,根据评分标准和具体模型的使用不同,可能会严重影响性能。
- 对 Numerical Variable,可以用 Box Plot 来直观地查看它的分布。
- 对于坐标类数据,可以用 Scatter Plot 来查看它们的分布趋势和是否有离群点的存在。
- 对于分类问题,将数据根据 Label 的不同着不同的颜色绘制出来,这对 Feature 的构造很有帮助。
- 绘制变量之间两两的分布和相关度图表。
三、数据处理
大部分情况下,在构造 Feature 之前,我们需要对比赛提供的数据集进行一些处理。通常的步骤有:
- 有时数据会分散在几个不同的文件中,需要 Join 起来。
- 处理 Missing Data。
- 处理 Outlier。
- 必要时转换某些 Categorical Variable 的表示方式。
- 有些 Float 变量可能是从未知的 Int 变量转换得到的,这个过程中发生精度损失会在数据中产生不必要的 Noise,即两个数值原本是相同的却在小数点后某一位开始有不同。这对 Model 可能会产生很负面的影响,需要设法去除或者减弱 Noise。
这一部分的处理策略多半依赖于在前一步中探索数据集所得到的结论以及创建的可视化图表。在实践中,我建议使用 iPython Notebook 进行对数据的操作,并熟练掌握常用的 pandas 函数。
以上是关于kaggle比赛流程的主要内容,如果未能解决你的问题,请参考以下文章
深度学习实战Kaggle比赛:房价预测(kaggle-house-price)