译者:张峰,Datawhale成员
如果你最近刚入手Kaggle,或者你是这个平台的老常客,你可能会想知道如何轻松提升模型的性能。以下是我在Kaggle历程中积累的一些实用技巧(https://www.kaggle.com/louise2001)。所以,无论是建立自己的模型,还是从一个基准的公共内核开始,都可以尝试实施这些建议!
虽然Kaggle的策略是绝对不会出现两次一模一样的比赛,但经常会出现非常相似的问题的翻版。例如,有些主办方每年都会提出同一个主题的常规挑战(比如NFL的Big Data Bowl),只是有一些小的变化,或者在某些领域(比如医学影像)有很多目标不同但本质非常相似的比赛。
因此,回顾获奖者的解决方案(总是在竞争结束后公开,这要感谢不可思议的Kaggle社区)可以是一个很好的加分项,因为它给你提供了开始的想法,以及一个成功的策略。如果你有时间回顾很多,你也会很快发现,即使在非常不同的比赛中,一些流行的基准模型似乎总是做得足够好:
你可以直接在Kaggle平台上寻找类似的比赛,或者查看Sundalai Rajkumar的这篇精彩总结(https://www.kaggle.com/sudalairajkumar/winning-solutions-of-kaggle-competitions)。
回顾过去的比赛也可以帮助你获得其他步骤的提示。例如,获得类似问题的预处理的提示和技巧,人们如何选择他们的超参数,在他们的模型中实现了什么额外的工具来赢得比赛,或者如果他们只专注于囊括他们最好的模型的相似版本,或者是将所有可用公共内核整合在一起。
这绝不是工作中最令人兴奋的部分。但是,这一步骤的重要性不言而喻:
预处理也是你必须思考你将依靠什么交叉验证方法的步骤:Trust Your CV。在你的数据上工作将帮助你知道如何分割数据:根据目标值分层还是根据样本类别分层 ? 你的数据是否不平衡 ? 如果你有一个聪明的CV策略,并且仅依靠它而不是靠排行榜得分(尽管这可能很诱人),那么你很有可能在私人的最终分数上获得惊喜。
超参数搜索可以帮助你找到你的模型应该具备的最佳参数(学习率、softmax的温度等),以获得最佳的性能,而无需手工运行上千次的枯燥实验。
最常见的超参数搜索策略包括:
我发现有一些模型包装器可以用来获得更好的结果。它们在不同级别上工作:
除了数据增强,可能没有什么技术比bagging更有效地提高你的性能。
我个人的小技巧是:总是保存我运行过的每一个模型预测,并对所有模型进行平均(只是基本的平均,我从来没有发现任何证据表明,"聪明 "的集成,如按模型的单一性能加权,在最终得分中增加了什么)。
不要忘记把公共内核也进行装袋。你的集成策略中的模型越多,你就越有可能在私人排行榜中稳操胜券。
原文链接:https://towardsdatascience.com/5-simple-tips-to-improve-your-kaggle-models-159c00523418