今天是腾讯广告算法大赛的第三天了, 今天正好有时间仔细看了看题目, 下载了数据集, 搭建了 python 环境, 简单跑了下数据, 记录下这几天的信息.
第一天
手机上看到官方说数据可以下载了, 懒得开电脑, 就在手机上看了下, 文件有将近 4g 左右, 就用手机试着下载可以啊, 原以为会下很久的, 没想到官方真给力, 下载速度超过的, 十几分钟就下好了. 由于没开电脑, 就没研究数据, 看到 QQ 群里有大佬提交了一个 baseline, 就打开看了看发现就两列两万多行的数据, 第一列相当于一个序号, 第二列都是 1, 看了下官方说一天只能提交三次数据, 于是就抱着试试看的想法, 把网友的 baseline 提交了, 运算速度很快, 得分 49.8665 分, 然后就去睡觉了.
第二天
到了晚上想起这个比赛来了, 于是打开官网看了下, 发现自己的成绩是 157 名, 而且我名次相邻的都是 49.8665 分, 都是和我一样的拿来主义者.
晚上有时间就琢磨着看看题目, 于是仔细看了下评分的规则, 规则有一个价格单调性的要求, 就是同一个广告出价高的曝光要大于出价低的, 于是乎想看看官方到底对这个单调性要求多高, 手动 Excel 编辑了网友的 baseline, 对一个广告的多次报价进行了排序, 然后手动将曝光按照排名递增, 然后提交官网, 结果官方运算后给出的结果是
图片发自简书 App
好伤心, 官网突然改规则了, 第一天还是整数能认得, 今天就变了. 没关系难不倒我, 将整数加上. 0000 就可以了. 于是很快提交了第二版.
图片发自简书 App
很不幸, 又出了新的错误, 提示 id 为 1 的不是测试样例, 这怎么可能呢, 检查了文件没有错误啊, 文件格式也检查了, 改成了 utf8+bom 形式, 而且 id 是 1 的数据样本中是有的, 不死心又提交了一遍, 还是和上面一样的错误.
于是在群里咨询了网友, 有网友告知要用 utf8 不带 bom 的, 我仔细看了下官方说明确实是 no bom, 看来是我以前弄错了. 不过一天三次的机会已成功消耗掉了, 不能再次提交数据, 只能等到第二天中午十二点之后了.
期间还试图寻找官方的三次限制有没有漏洞, 并成功绕过了前端的三次限制, 可以上传数据了, 但提交的时候服务端还有三次的验证限制, 果断放弃.
第三天
也就是周六, 看了下排行榜发现自己变成 198 位了, 马上到 200 开外了, 貌似两百后不公布排行榜. 于是乎我疼下决心环境下载搭建好了, 打算正儿八经的研究下, 也利用机会学学 python, 基本算作 python 小白, 边查资料边写代码, 总算把各个文件的结构都读了一遍, 感谢 pandas 真方便.
晚上又想起了昨天没提交的成功的文件, 于是果断上传, 腾讯很给力, 很快给了分数 63.3104, 还不错啊, 及格了, 大概看了排行榜能到 94 位.
当然我不满足于此, 毕竟是手工麻出来的数据, 于是用 pandas 重做了一次, 当然调整了下结果数据的范围, 然后提交计算, 得分 79.2933 分, 没有分析任何历史数据就能进优秀了, 太意外了. 具体优化方法大家可以留言点赞私信我.
图片发自简书 App
福利
63.3104 分的 submission.CSV 文件有需要的可以私信我, 一起探讨下.
来源: http://www.jianshu.com/p/425b278c8c7a