Stantar 2019有感
看了很多个top solution,尤其是金牌区域的。
给我感觉在这个比赛中的几个重要的magic有:
- frequency coding;在对于匿名数据或者categorical feature上,可以先试着这样做下,一般是会提升local CV之类;
- fake data;对于training set和testing set中的unique value的数量明显不同,让人怀疑testing set中的数据包含伪造数据。对于testing set中的伪造数据进行删除即可。List of Fake Samples and Public/Private LB split
- independent feature;利用feature间的相互独立性,在用LightGBM训练时,只对某一特征训练,故有200个lgb classifier再对预测结果进行简单的simple linear blending。a single model using all features vstacked that is enough for a top20 on Private
感受颇深的是对于这些magic,一是自己确实没有通过EDA来发现到,能力有限;二是其实在kernel和discussion中都有多多少少提及到,自己未引起重视又或者不知如何是好。
个人主要感觉还是:
- 在EDA方面考虑得不够到位,而且可以利用:
- Local CV和LB的提升上差异来分析是哪里的问题,然后解决并使得Local CV和LB的提升近似。比如此次中,一开始无论local CV提升有多高,LB都会锁在9.001上。而解决到fake data的存在后,local CV提升,LB也会随之提升,使得LB锁在9.001的情况不复存在;
- 可以根据kernel和discussion区域中,若在新的发布后,上的存在着许多人的大幅度增长,则说明某个kernel或discussion揭露了magic;
- Model这一块也是有问题,很明显在NN上存在很多问题,尤其是现在去看top solution中开源的NN代码,会存在很多逻辑看不太懂的情况;
- Parameter Tuning上面也有问题,除了最基本的Grid Search和Random Search外,对于Bayesian optimization没有理解且无法应用出来。Chris这个discussion给了很多inspirations;
- 对于Data Science这块Coding能力上也存在着问题,不能很流畅的阅读代码逻辑;
- 这个比赛没有用到Feature Selection, 然而这块也是我的弱项;
- 在最后如何选取2个the most robust model用于提交到PB上也仍未解决。
不过感觉还是收获了不少,在我上述几方面加强后,还是需要回来reiview Stantar这个比赛的各个solution。
Reference
Gold Medal Solutions of Stantar 2019
List of Fake Samples and Public/Private LB split
Giba: a single model using all features vstacked that is enough for a top20 on Private