返回列表

7th Place Solution

360. 2019 Data Science Bowl | data-science-bowl-2019

开始: 2019-10-24 结束: 2020-01-22 学习效果预测 数据算法赛
第7名解决方案

第7名解决方案

作者:narsil (jobs-in-data.com) | 排名:第7名 | 投票数:81

方法

  • 对我而言,这次比赛最棒的部分是特征工程。最终我使用了51个特征,是从150个特征中精简下来的。
  • 目前最强的特征是每次评估的基础分布。然而,大家都使用了这些特征。鉴于数据量很小,个人特征并不是那么重要,但我认为它们决定了谁是赢家。
  • 最终模型是一个集成模型:0.3 LGB + 0.3 CATB + 0.4 NN(神经网络)。
  • 所有模型均进行了20折打包(bagging),对于神经网络,还额外对3个随机种子进行了平均。
  • 一个“技巧”——“盲目”使用测试集中的评估数据(就像我们没看过这些数据一样)作为训练样本。数据非常稀缺——所以我寻找各种方法来增加训练样本的数量。特别是你为那些出现在Private LB中的孩子添加了确切的数据。

结果

  • 截断交叉验证:0.575
  • Private LB(私有排行榜):0.559
  • Public LB(公开排行榜):0.559

最终备注

  • 恭喜获奖者——期待你们的解决方案。
  • 感谢组织者举办这场包含事件数据的比赛——我喜欢这类比赛 😊 它能释放你在特征工程方面的创造力。

验证设置

  • 截断——为每个孩子随机选择一次评估,以反映测试集的结构。

更新 1:特征

动机:
我受到了 Francois Chollet 的论文《论智力的衡量》中观点的影响。那里有大量有趣且有力的思想。我主要受到关于如何衡量智力的讨论的启发:

  • A/ 通过整体技能水平
  • B/ 通过技能获取速度

在我们的案例中,我们是通过 A/ 来衡量的,这可以分解为两个驱动因素:

  • 经验,即孩子在游戏中各种活动上花费了多少时间/精力。这构成了我的第一组特征。
  • 准确性,即孩子在她的旅程中有多准确。这构成了我的第二组特征。

然而,技能获取速度是捕捉孩子学习速度的一种非常有趣的方式(如每级分钟数、每级事件数等特征)。这构成了我的第三组特征。

我喜欢手动特征工程的比赛。人类与机器的结合获胜,这代表了我对人工智能将如何影响世界的看法。

更新 2:特征选择

  • 计算丢弃某个特征后的交叉验证分数——对所有约150个特征逐一进行此操作。
  • 丢弃所有对 QWK 分数提升小于 0.0001 的特征——我将它们视为噪声。以此方式发现了约100个噪声特征。
  • 重新计算一次 CV,发现在移除100个噪声特征后,总体分数略有提升。
同比赛其他方案