633. Child Mind Institute — Problematic Internet Use | child-mind-institute-problematic-internet-use
首先,我要感谢组织者举办这次比赛,也感谢大家让这次经历如此令人兴奋。尽管不可预测性带来了挑战,但它提供了一个宝贵的机会,让我学习如何为小型、噪声数据集构建稳健的解决方案。
我的方法很简单,我很兴奋能与大家分享。
像许多人一样,我的关键重点之一是建立一个稳定可靠的交叉验证 (CV) 框架。在整个过程中,我避免使用任何固定的随机种子。我进行了 100 次 5 折分层 KFold 重复实验才获得稳定的结果,并在 Optuna 超参数调整期间使用了 20 次重复。
为了优化最终的 QWK 阈值,我使用了所有这些重复实验的袋外 (OOF) 预测。
在整个比赛期间,我一直坚持使用 LightGBM。我曾经一度开始研究 CatBoost 解决方案,但后来没有精力将其进一步推进或将两者结合。
体动记录数据 (Actigraphy Data):
仪器数据 (Instrument Data):
我从公开 Notebook 中的特征开始,检查每一个特征看它是否真的对模型有贡献。之后,我根据自己的实验添加了一些自定义特征。
NaN 增强:
最初,我在已经有缺失值的列中随机插补 NaN。最终,我只是对 20% 的数据中所有包含 NaN 的列进行 NaN 插补,并将此增强数据与原始数据集结合。
高斯噪声与插补:
我应用了简单的插补,并对 20% 的数据添加了高斯噪声。然后将此增强数据与原始数据集合并。
我使用了 'PCIAT-PCIAT_Total' 列进行训练。为了 finalize 预测,我应用了优化后的阈值来计算 100*5 个模型中每个模型的 sii,并取众数生成最终预测。
最初,在达到 0.46 的榜单分数后,我的 CV 与 LB 相关性开始破裂。那时,我决定完全专注于 CV 并进一步改进它。我对这一阶段的结果感到满意,这带来了 consistent 的私有榜单分数。以下是这一阶段最后 5 次提交的亮点:
| LB 分数 | PB 分数 | 重复次数 |
|---|---|---|
| 0.445 | 0.477 | 1 |
| 0.461 | 0.482 | 100 |
| 0.461 | 0.479 | 100 |
| 0.466 | 0.478 | 100 ( selected best) |
| 0.458 | 0.480 | 100 |
所有这些提交的 CV 性能几乎相同:
验证集 QWK: 0.454 - 0.456
优化后 QWK: ~0.470
在此阶段之后,我切换了策略,固定随机种子并专注于通过最小的更改获得更高的 LB 分数。虽然这使得 CV 略有改进(验证集 QWK 约 0.460,优化后 QWK 约 0.471),但 LB 分数保持不变,而 PB 分数恶化,在私有榜单上平均约为 0.470。
就是这样,感谢阅读!