day -?
听说决赛考机器学习,而且有7.5小时,就很慌。
后来听说之前那些人都是现场学的,就决定现场学习一个吧。
day 1
先看题,大概是个点击量预测,就是给你一大堆已经有的数据,包括时间、地点、兴趣爱好等数据以及是否点击了,又给了一堆数据要你预测点击率。
去问了一下zjt,他说了一堆东西,但是我都听不懂。
接着就自己上网查了一下,查到了一个东西叫做“朴素贝叶斯分类“,看起来挺简单有效的,就去写了。
思路大概是这样的:
根据贝叶斯公式,有
[P(点击mid (男,喜欢))=frac{P((男,喜欢)mid 点击) imes P(点击)}{P(男,喜欢)}
]
然后我们假设特征之间独立,就是
[P((男,喜欢)mid 点击)=P(男,点击) imes P(喜欢,点击)
]
分母的话,点击的概率和不点击的概率两部分的分母是一样的,直接忽略的就好了。
这样就可以求出概率了。
还有一个东西叫做拉普拉斯平滑,感兴趣的同学可以自己搜索一下。
这个东西看起来挺简单的,写起来确实也挺简单的。
由于给的数据的格式我不会处理,我就只能自己写,花了我两三个小时。
后面的算概率部分写起来还是挺快的,不到半个小时就写完了。
自己测了一下测试集,logloss(这个东西我到最后面都没有搞懂是怎么算的)大概是 0.37,然后交上去测了一下(计分的是另一个测试集)logloss 竟然高达 0.58。我也没搞懂是怎么回事。
最后就在胡乱调参,最优解到了 0.37。我也忘记我调了什么了。。。
然后好像弄到了三等奖?
不过还是打不过深度学习老哥。
代码
先鸽着,回学校再放。