返回列表

17th Place Solution

506. Tabular Playground Series - Aug 2022 | tabular-playground-series-aug-2022

开始: 2022-08-01 结束: 2022-08-31 缺陷检测 数据算法赛
第17名方案

第17名方案

作者: Robert Sizemore
原文发布时间: 2022-09-01

我很高兴也很惊讶能取得这样的名次。我和队友这个月大部分时间都很忙,没有花太多时间进行实验或尝试优化我们的解决方案。我想这反而让我们避免了过拟合公共排行榜 :p

既然我觉得我们的代码不太方便分享,我就把解决方案的基础内容写在这里作为记录。

1. 自定义验证集划分

我们将训练数据进行了划分,在三个产品代码上训练,在两个产品代码上验证。对于最终的预测,我们对每个划分的预测结果进行了平均。此方法 courtesy of @purist1024 的笔记本。

2. 特征工程

我们创建了四个新特征:

  1. m3 的缺失值指示符
  2. m5 的缺失值指示符
  3. 使用 attribute2 和 attribute3 的乘积构建的面积特征。
  4. m3 到 m17 的平均值

3. 插补

插补方案来自 @pourchot 的笔记本。我们使用原笔记本中的 KNN 方法和每个产品代码的中位数进行插补,得到了相似的结果。最后,我们使用 RobustScaler 对数据进行了缩放。

4. 特征选择

除了之前创建的 4 个新特征外,我们使用了以下特征来训练我们的模型,所有其他特征都被丢弃了。

  1. loading(我们使用了原始 loading 的对数)
  2. attribute_0(使用 WOE 编码器编码)
  3. measurements 0, 1, 2, 和 17

5. 模型选择

我们使用大部分默认设置测试了一堆模型,最终确定了以下模型:

  1. 逻辑回归
  2. 带有线性提升 的 XGBoost

最后,我们做了一个最小的超参数搜索来优化正则化参数。我们最好(但未提交)的解决方案是使用 XGBoost。我认为大家不太知道 XGBoost 有一个选项是提升线性模型。任何时候如果在比赛中逻辑回归表现很好,我觉得都值得一试。

正如你可能注意到的,几乎所有这些想法都借鉴了讨论区发布的内容或公开笔记本。所以感谢所有聪明和慷慨的人分享他们的笔记本并在讨论区发布他们的想法。

同比赛其他方案