国庆策划 | 深度学习推荐系统基础,你掌握了多少?

2020-10-02 王喆
深度学习推荐系统实战
进入课程

讲述:王喆

时长00:46大小735.80K

你好,我是王喆。
今天是国庆假期的第二天,我在基础架构篇的基础上,设计了一套测试题,希望你能在假期里试做一下,温故知新,巩固所学。
在这套测试题中,有 10 道选择题,每道题 10 分,满分为 100。这些内容全部来自我们之前专栏所讲的内容,都是基础知识,希望能帮助你查缺补漏。
最后呢,我还为你准备了两道实践题,这两道题为选做。如果你对自己有更高的要求,我希望你可以 show me the code!当然,在答题和实践中遇到任何问题,都可以在留言区评论,我们一起来探讨。还等什么,点击下面的按钮开始测试吧!

选择题

问答题

第一题:通过阅读 SparrowRecSys 的代码,你能找到首页中每行内部的电影都是按照什么排序的吗?
第二道题:如果你已经发现了排序的规则,你能在推荐服务器的代码里添加一个叫“热度”(popularity)的排序规则,然后让首页按照“热度”排序吗(💡补充:热度的定义是“这个电影被评价的次数”)?
我相信这是熟悉 movielens 数据、推荐服务器代码的一个非常好的机会,那在实现过程中的任何问题,都欢迎你留言和我交流!我们 10 月 9 日再见!
unpreview
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
上一篇
国庆策划 | 关于深度学习推荐系统,我有这些资料想推荐给你
下一篇
04|特征工程:推荐系统有哪些可供利用的特征?
 写留言

精选留言(4)

  • 2020-10-07
    先说一下每一种类型的电影是如何排名的:
    默认是按照打分平均分数以及发布时间排名,在recsys.js中的addGenereRow处指定排名的方式。
    如何新增排名算法,比如增加热度这个指标?
    需要在DataManager中照葫芦画瓢增加ratingNumber,然后在js中指定一下即可。

    还在研究的问题:首页是如何调用getrecommendation接口以及如何传入参数的。麻烦老师指教一下。
    展开

    作者回复: 关注一下addGenereRow方法中的sortby参数
    $.getJSON(baseUrl + "getrecommendation?genre="+rowName+"&size="+size+"&sortby=rating"

    2
  • 2020-10-13
    今天拉的主干代码,默认用了redis载入embedding导致无法启动,是不是需要改一下😅

    作者回复: good point,已经改回了默认从file load数据

  • 2020-10-05
    问题一:按电影的平均打分从高到低排序
    问题二:修改DataManager.java中221行代码。将compara函数中参数getAverageRating函数改成getRatingNumber函数

    作者回复: 是的,如果需要看到效果的话,还需要修改一些recsys.js中相关的js代码

  • 2020-10-02
    问题一:
    首页每行(一个类别)按电影的AverageRating平均打分从高到低做为排序依据;

    问题二:
    public List<Movie> getMoviesByGenre(String genre, int size, String sortBy){
            if (null != genre){
                List<Movie> movies = new ArrayList<>(this.genreReverseIndexMap.get(genre));
                switch (sortBy){
                    case "rating":movies.sort((m1, m2) -> Double.compare(m2.getAverageRating(), m1.getAverageRating()));break;
                    case "releaseYear": movies.sort((m1, m2) -> Integer.compare(m2.getReleaseYear(), m1.getReleaseYear()));break;
                    case "popularity":movies.sort((m1, m2) -> Integer.compare(m2.getRatingNumber(), m1.getRatingNumber()));break;
                    default:
                }
    ........
    展开

    作者回复: 赞。

    要真正更改排序的方法,还需要修改一下前端js的一些条件。

    1
×
拖拽到此处
图片将完成下载