IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    百度电影推荐系统算法大赛新数据集的简单分析

    diaorui发表于 2013-03-26 03:03:37
    love 0

    上一篇博文 http://diaorui.net/?p=419 意外的火了。如果你还没看过,请先去看看再回来看这篇。
    后来今晚看啥@汪冠春 与我取得了联系。他和百度的多个技术人员一起对比赛进行了调整。赛前的准备工作不太充分,希望弥补后还能顺利吧。
    百度学院的迅速响应和公开真实数据的精神是值得赞一个的~

    调整后的比赛包括两个问题:
    1, 传统的预测评分问题。给定一个只包括活跃用户的真实评分(而不包括“喜欢”),要求预测其他评分,仍然是RMSE作为评价指标。这部分数据包括大约1万用户、大约8000电影(评分的Sparsity约为0.2)。
    2, 基于社交、标签和喜欢数据的开放性问题。给定用户喜欢的电影数据,社交数据,电影标签数据,要求自己挖掘一些有意思的话题,写成报告。这部分数据包括约15万用户和约1.7万电影。

    数据集下载地址 http://pan.baidu.com/share/link?shareid=340221&uk=2000006609
    这组数据应该没有人工干扰。我之前配合他们提了一些改进建议。后因收到邀请,我再简单总结一下新数据集的特点,可能会对参赛选手有帮助。
    所有内容我尽量不写的太细节以免误导。

    分析:
    1) training_set.txt中共有9722个用户和7889个电影,以及1262741个评分。这一次只选用了一部分比较热门的用户,以及他们的打分,不含“喜欢”数据。应该说数据集是比较小的。这样一来如果在自己的电脑测试会相对容易。
    2) 用户编号、电影编号都进行了Hash处理,这样如果真要寻找源数据,工作量会比较大。实际上为了避免完全变成与原数据的对照比赛,我在上一篇博文中没有发布我爬到的数据,当时也没有去提交爬到的结果。
    3) 排行榜只是对部分数据进行测评,因此请务必注意不要过拟合。我猜测最后前十名成绩会很接近,其中会存在过拟合,请不要为了挤入排行榜的前十而过拟合。
    4) 问题2的数据可以考虑用来解决问题1,其中个人猜测 user_history.txt 可能是最有希望有效的,但是如果能很好的探索标签和社交对推荐的作用,问题2也许会有很高的加分?所以建议在进入前十后,去尝试使用标签和社交。但是这两块个人感觉很难用于提高RMSE,也是最有挑战性的。
    5) 分数现在只有整数分1,2,3,4,5, 和原数据不同,请留意。需要预测的分数真实值也是整数分,当然我们只要预测实数分就可以了,简单取整肯定会导致RMSE变大。不过知道答案是整数,也许有人能用上。

    测试:
    1) 如果全4分,RMSE大约0.84
    2) 如果只使用用户平均分和电影平均分,RMSE大约0.66
    3) 如果只使用基本的SVD,RMSE大约0.62
    虽然还是和预期有差距,但前三项这至少和之前的数据已经很不一样了。分数整体偏高也有可能是因为今晚看啥是基于推荐的网站。
    4)现在的数据绘制log-log曲线仍然不完全是直线,但百度给出的解释是这次只选择了部分热门用户的数据用于比赛。所以打分少的用户显得偏少。

    5) 用户、电影的平均分分布图,看上去比较正常,利用图中特点可能会对改进模型有帮助。



沪ICP备19023445号-2号
友情链接