天池比赛之盐城汽车销量预测比赛经验随想

2018/03/17 比赛

比赛介绍

印象盐城·数创未来大数据竞赛 - 乘用车零售量预测

比赛结果:复赛A榜第1,B榜11。

经验

1、平时就应该注意对产生的数据流向做一个记录,这样好处是,便于自己梳理,更重要的时候无论是初赛还是复赛都会要求提供代码复现最终的成绩,这时候就非常开心的把之前保存下来的记录copy过去。本人这个习惯不是很好,所以在最后1天需要代码评审的时候,各种找,十分浪费时间

2、深刻理解每一种评价机制的特性:例如初赛rmse评价方式对于大数很敏感,但是复赛的rmsle的评价方式却对小数敏感。这样,对于数据的观察,和自然的就能找到数据的改进方向。还有如果是rmsle要注意是log的底,不然在本地跑得是测得的成绩很难和真实成绩形成一定的关系,不利于做分析,这个也是被坑过。

3、真正的目标很重要,目标明确的迟早决定了最终结果是优秀还是平庸。这次比赛初赛和复赛都有分A/B榜,是否晋级其决定作用的是B榜,但是我们却在整个赛段绝大多数的时间盯着A榜,导致针对B榜的时间太短,有一些想法很难完美的得到验证,后期资源越来越紧张,跑一个SQL需要等几分钟~半小时不等,能跑出结果就很不错了。这个导致我们没有进入决赛。

4、最好是组团,不然个人真的很累且很容易陷入困境,初期还可以,人少也没什么问题,毕竟时间比较宽裕,越到后期,反倒越需要人多,因为后期需要快速将一根idea进行验证,单人很难在短时间内搞定。有团队就涉及到团队协作和沟通。包括沟通的工具和沟通的方式。工具的话:用的是slack+issue+钉钉+zoom。slack平时各种思考,零碎的交流想法,即时通信。issue,主要记录每天做的内容,团队成绩,个人探索,重要代码,重要数据,有纪念意义的图片。钉钉用的少,主要是从钉钉群里采集的到信息,偶尔方便讨论。zoom,沟通事情文字效率太低的时候已经要分享内容的时候,这个每次沟时候最好录屏。沟通的方式:主要是灌水式沟通,针对一个问题或者一个想法或者一篇文章,有人抛出来,大家自由回应。

5、有交流群一定要加入,1、很有可能就有官方人员,方便各个咨询;2、很多消息都是可以在讨论群里找到;3、一般很多搞技术的都挺热心的,有些问题直接插google或者官方文档不一定那么容易,但是在群里问问会快很多,例如PAI,这个我当时觉得官网或者比赛选手都有介绍在哪儿使用的,结果各种差,找了2天都没有人,原因是太基础了,貌似就没人回答,结果在交流群里问了一下,问题很快就解决了,这个问题之前卡了有2天

6、多探索才能比别人走的更远,但最开始还是以常规探索为主,常规探索,不同类型的题网上已经有很多例子了,直接按照例子流程走一遍看看效果。甚至在最开提交答案的时候,提交的baseline版本,提交一版最容易的版本,看看效果,找一下感觉,例如时序的回归问题,就可以按照时序最近的答案提交一版。老司机很可怕,但不用怕,只要比别人探索的更多,成绩肯定会越来越好,在没有思路的时候,停下来,走一走,想一想,这样反而能带来意外的效果,所谓念念不忘,必有回响,在复赛B榜阶段,凌晨1点快要睡着的时候有了新方向。

7、比赛是一个重脑力+重体力+中度以上压力的活,越到后面越兴奋,需要有一个好的体力,平时应该加强锻炼,后期几天都是在凌晨1点多之后休息

8、能用PAI命令就别用PAI的图形界面,PAI命令可以。大家可以理解为,运行一个功能,选择命令行还是选择图形界面的方式。1、自定义输出表的名称;2、可以很自如很快的选择列,3、可以一次性把所有参数都定义好,不像图形界面,为了某种体验,参数之间设置某种约束,导致效率很低;4、PAI和SQL混合用也很方便;5、还能把PAI命令行保存到本地,复用率高

9、多记录,包括过程数据,结果数据,测试数据可以发个issue,把测试结果不断填入,这些数据可以当做以后自己反思的资源,也可以当做以比赛的参考。虽然麻烦一些,但是收益很大。

Search

    欢迎关注我的微信公众号

    闷骚的程序员

    Table of Contents