返回列表

Child Mind Institute PIU 3rd Place Solution

633. Child Mind Institute — Problematic Internet Use | child-mind-institute-problematic-internet-use

开始: 2024-09-19 结束: 2024-12-19 健康管理与公共卫生 数据算法赛
Child Mind Institute PIU 第三名解决方案

Child Mind Institute PIU 第三名解决方案

作者: Jobayer Hossain (MASTER)
竞赛排名: 第 3 名
发布时间: 2024-12-20

首先,我要感谢组织者举办这次比赛,也感谢大家让这次经历如此令人兴奋。尽管不可预测性带来了挑战,但它提供了一个宝贵的机会,让我学习如何为小型、噪声数据集构建稳健的解决方案。
我的方法很简单,我很兴奋能与大家分享。

交叉验证 (Cross-Validation)

像许多人一样,我的关键重点之一是建立一个稳定可靠的交叉验证 (CV) 框架。在整个过程中,我避免使用任何固定的随机种子。我进行了 100 次 5 折分层 KFold 重复实验才获得稳定的结果,并在 Optuna 超参数调整期间使用了 20 次重复。
为了优化最终的 QWK 阈值,我使用了所有这些重复实验的袋外 (OOF) 预测。

模型 (Model)

在整个比赛期间,我一直坚持使用 LightGBM。我曾经一度开始研究 CatBoost 解决方案,但后来没有精力将其进一步推进或将两者结合。

特征工程 (Feature Engineering)

体动记录数据 (Actigraphy Data):

  • 计算了 X、Y、Z 和 AngleZ 的标准差,以及 Elmo 的均值。
  • 衍生出了代表使用 Elmo 检测到的五个最长非活动与活动连续段的特征。
  • 将 "light" 列分箱为从暮光到直射阳光的类别,并计算每个类别的计数。

仪器数据 (Instrument Data):
我从公开 Notebook 中的特征开始,检查每一个特征看它是否真的对模型有贡献。之后,我根据自己的实验添加了一些自定义特征。

数据增强 (Data Augmentation)

NaN 增强:
最初,我在已经有缺失值的列中随机插补 NaN。最终,我只是对 20% 的数据中所有包含 NaN 的列进行 NaN 插补,并将此增强数据与原始数据集结合。

高斯噪声与插补:
我应用了简单的插补,并对 20% 的数据添加了高斯噪声。然后将此增强数据与原始数据集合并。

后处理 (Post-Processing)

我使用了 'PCIAT-PCIAT_Total' 列进行训练。为了 finalize 预测,我应用了优化后的阈值来计算 100*5 个模型中每个模型的 sii,并取众数生成最终预测。

结果 (Results)

最初,在达到 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。

就是这样,感谢阅读!

同比赛其他方案