确实很早就知道了这个比赛,但似乎一直没有开始。
之前也就刚打完一个泰迪杯,对于竞赛可以说是一无所知。
于是就等baseline,等到了麻婆豆腐1的那个版本。
5月20日开赛,我跑baseline大概都快6月中旬。
那时候一边忙着期末的各种大项目,一边找竞赛的各种指导和资料。
跑完麻婆豆腐那个,还是一头雾水,不知道这到底是怎么操作的。
当时为了LabelEncoder
、OneHotEncoder
都看了好久
后来找到了天才儿童(好像是这个名字)的baseline2,结构清晰
这里面的特征工程几乎都是由for
循环控制的,增添特征只需要在循环里面加入列名
这份代码有用到滑窗法,其详细的信息参考文章3
真正开始做,大概都是6月25日, 先读代码
弄清楚了结构,就调参、加特征
A榜基本在常规特征里面折腾,好像稍微加了点embedding
A榜结束的那天晚上我还在疯狂做特征,意图冲击B榜
然后就出问题了,特征太多,我那会儿都搞到了将近1000+
从周周星的分享4来看,似乎最多500+?
当时做到用户的兴趣特征,就是把用户看过的那些tag
和keyword
求平均
但是贪心,减了一部分,尝试,炸了,再减,再尝试
由于疯狂做出来的特征没经过验证,质量也不好,所以一致炸
这也就导致了…我B榜根本就没提交,因为没跑出来
血泪的教训啊…一定是做加法而不是减法
应当先跑个基础版本提交,说不好还能中奖
后来复盘的时候,觉得还是经验不足,好在此次有收获
首先是,做加法,一定要按照顺序做
先去挖基础特征,再去做复杂特征
可以参考这篇文章当中对于往瓶子里面加石头的比喻5
然后,做出的特征最好离线保存
一是方便后面可以直接载入,而不