返回列表

#11 solution: what worked and what didn't

557. Playground Series - Season 3, Episode 16 | playground-series-s3e16

开始: 2023-05-30 结束: 2023-06-12 生命科学 数据算法赛
第11名解决方案:哪些方法有效,哪些无效

第11名解决方案:哪些方法有效,哪些无效

作者:Mykhailo Savchenko (EXPERT)
发布日期:2023年6月13日
比赛排名:第11名
赞同数:16

祝贺所有获奖者和参与者!同时,我要感谢Kaggle主办了这些入门比赛,让初学者更容易以简化的形式开始参与真实竞赛。这个入门比赛非常有趣,因为我尝试了很多方法,其中许多并未奏效。

我的计划如下:

  • 使用AutoML工具构建一个良好的基线模型
  • 尝试不同的特征工程技术,以捕捉更多与重量特征之间的关系
  • 尝试生成更多数据并用于训练
  • 尝试寻找一些"技巧",比如以往比赛中的做法,例如手动修正含有噪声的行(这是我们与@epiktistes前一天讨论过的内容)

我尝试了以下方法,但大多数并未奏效:

  • 创建了各种比率特征,如"壳重与总重比"、"身体状况指数"等,但并未提高分数,反而增加了训练时间
  • 我生成了40万个额外样本用于训练,但分数略有下降
  • 随后我注意到预测结果始终在3到19个月之间,因此我尝试手动寻找并修正异常值。不幸的是,由于螃蟹在达到一定年龄后非常相似,这变得不可能实现
  • 之后我尝试为年长螃蟹生成更多样本,但同样没有效果

所以我当时想,也许这场比赛并没有这样的"技巧",一切只能靠模型调优。我相当确定这一点,令我惊讶的是,最高分的提交竟然是我最初使用FLAML调优的三个LGBM和两个XGBoost模型构建的基线模型。可惜我没有选择那个版本。其次,我搞乱了提交文件的命名,有些文件没有在描述中写上交叉验证分数,导致最终提交的并非最佳模型。最后,我还有一些假设可以验证,比如为年轻螃蟹生成更多样本,但我没有足够的时间去做。不过,第11名的成绩还是不错的。

我从这场比赛中学到了什么?

  1. 有时候想法看起来很棒,但在实践中并不奏效。在这种情况下,只需坚持使用得分最高的模型并进一步调优。
  2. 始终相信自己的交叉验证结果,尽管这次的波动并不算太大。
  3. 保持工作整洁有序,使用适当的文件描述,详细说明已完成的工作和达到的分数。
  4. 花些时间在社区讨论中,很多想法都在公开讨论,实施这些想法通常会有所帮助。

感谢所有参与者,我们下一场比赛再见。特别感谢@epiktistes@phongnguyen1@oscarm524@arunklenin@ravi20076@pandeyg0811在本场比赛期间保持活跃并分享了许多宝贵见解。继续Kaggling吧!

同比赛其他方案