615. Learning Agency Lab - Automated Essay Scoring 2.0 | learning-agency-lab-automated-essay-scoring-2
我要感谢组织者和 Kaggle 工作人员创造了如此有趣的比赛!此外,我要感谢 @paweljankiewicz 介绍我加入 Kaggle,感谢 @cdeotte 和 @cpmpml 对社区的贡献(我从你们那里学到了很多!),感谢 @narsil 在波兰组织 Kaggle/徒步活动,以及感谢 @thedrcat 提供的灵感和比赛想法(我在上次活动中遇到了 Darek)。最后,我要感谢我的妻子对我的包容。
我做了大量的 LB 探测以及“纯”Kaggle 数据集与 Persuade 2.0 数据集之间的比较。主要发现:
35.6%24.6%19.6%12.6%7.6%我以如下方式使用了这些发现:
persuade 记录和主题的验证权重为 0。persuade 二进制标志作为特征。在测试集中,所有记录的 persuade=0。StratifiedKFold。尽管进行了上述所有努力,我仍然无法获得强大的 CV-LB 相关性。我的 0.836 解决方案是基于 50% CV 和 50% LB 分数选择的。我有一个更好的 PB 解决方案,得分为 0.837。
我使用了 这个 笔记本作为我的基线。我的修改:
persuade 标志。TfidfVectorizer, CountVectorizer)。1536。QWK 目标的基于树的模型来说会容易得多。train_feats['pred'] = deberta_oof.argmax(1) + 1
train_feats['score_mod'] = train_feats['score']
train_feats.loc[(train_feats.score - train_feats.pred) > 2, 'score_mod'] = train_feats.loc[(train_feats.score - train_feats.pred) > 2, 'pred'] + 1
train_feats.loc[(train_feats.score - train_feats.pred) < -2, 'score_mod'] = train_feats.loc[(train_feats.score - train_feats.pred) < -2, 'pred'] - 1
我在数据上花了大量时间:EDA、阅读文章、比较 Kaggle 和 Persuade 2.0 数据集、LB 探测、尝试各种增强技术等。这使我能够改进基线(变化很微妙)并选择几乎最优的提交(PB 上第 2 好)。第 6 名的解决方案得分为 0.817(LB 上 1,200+ 名)。0.824 的解决方案(LB 上第 25 名)得分为 0.832(PB 上 500+ 名)。我也想承认运气在这里的作用(可能很大)。获得我的第一枚金牌花了我 6 年时间,我很感激也很自豪终于做到了。