360. 2019 Data Science Bowl | data-science-bowl-2019
首先,我要感谢主办方、Kaggle以及所有人举办了这场精彩的比赛。我要向我的队友 @alijs1 @johnpateha @kazanova 表达最深切的感谢。对我来说,这是一段非常美好和快乐的时光。
我将简要介绍我们的解决方案,如果我遗漏了什么,我的队友们可以从他们的角度进行补充。
除了公共内核中可用的一些流行特征外,我们还设计了一些自定义特征,例如活动会话中良好操作/所有操作的比率、误点击或误拖拽操作/操作计数(或会话持续时间)的比率、自上次评估会话以来某些特定事件代码的计数。最有趣的特征是与每个数据样本相关的同一评估的统计数据。这类特征有助于树模型更快收敛,并降低评估标题的重要性。
作为一个独立的解决方案,Marios (@kazanova) 制作了属于他自己的特征集,该特征集考虑了训练集/测试集的不匹配问题。如果需要,他可以分享更多相关内容。
令人惊讶的是,我们之前没有意识到可以通过大量带有真实标签的测试样本来增强训练数据。每当一个测试集 installation_id(以下简称“id”)有超过 0 个先前评估时,我们可以截断用户历史记录并制作额外的训练样本。这种增强在我们的融合中帮助很大。
除了使用所有原始数据(17690行)作为主基础模型外,我们注意到如果与主基础模型适当融合,针对每种类型训练5个独立的子模型可以带来提升。而且由于我们也有数据增强的选项,因此总共产生了4种不同的训练策略。
| Abs(model1_int – model2_int) | model1_int | model2_int | 分类器 | 结果 |
|---|---|---|---|---|
| 0 | model1_int | |||
| 1 | 0 (或 1) | 1 (或 0) | A >= 0.2 | 1 |
| 1 | 0 (或 1) | 1 (或 0) | A < 0.2 | 0 |
| 1 | 1 (或 2) | 2 (或 1) | B >= 0.5 | 2 |