在前一篇中,我们增加了一些比较基础的特征,取得了线下0.0581、线上0.0649的成绩。
那么接下来我们继续优化。
1. 增加候选
我们之前选取所有用户收藏过或竞标过的拍卖作为候选;但是如果用户没能拍到一个拍卖,他也许可以继续去竞标相同商品的其它拍卖。也就是说,用户收藏过或竞拍过的商品的拍卖作为候选。
候選表 = unique(rbind(某氣入追加表[, .(會員標識, 商品標識)], 某入札表[, .(會員標識, 商品標識)]), by = NULL) 候選表 = merge(候選表, 拍賣表[, .(拍賣標識, 商品標識)], by = "商品標識") 候選表 = unique(候選表[, .(會員標識, 拍賣標識)], by=NULL)
增加候选之后有明显的提升,线下从大约0.0581提升到大约0.0672。
2. 增加训练样本
在线下,我们把[-14, -8]这七天作为测试时间段,把[-21, -15]作为训练时间段。但实际上,收藏表和竞标表有很长时间的数据,我们可以用更久的时间做训练时间段。我们可以每次向前移动7天作为训练集。也就是
训练集1 标签[-21, -15] 特征[, -22]
训练集2 标签[-28, -22] 特征[, -29]
训练集3 标签[-35, -29] 特征[, -36]
……
然后把这些训练集合并。
受机器配置的限制,我这里取了4组训练集。
增加了这些训练集之后,线下从大约0.0672提升到大约0.0690。
3. 提交
提交到线上,成绩大约0.0770。今天又是幸运的一天,线上比线下提升得更多。也许出于某些原因,原本线上就更容易提升。
那么今天就到这里。代码见https://https://www.github.com/sang1yu2/BrandearAuction/tree/master/4。