当前推荐领域一些公开的据集都是关于电影和音乐的(比如Netflix、Movielens等),没有关于图书推荐的数据。本文将要介绍的就是一份用于图书推荐的数据集,该数据来源于goodreads网站,包含1万本最受欢迎图书的6百万评分数据,由以下数据组成:

  • 评分数据
  • 被用户标记为想读的图书
  • 图书详情(作者、年份等)
  • 图书标签

ratings.csv

包含按时间存储的评分数据,大小为69MB,结构如下:

user_id,book_id,rating
1,258,5
2,4081,4
2,260,5
2,9296,5
2,2318,3

评分范围1-5;图书ID是1-10000的连续数字;用户ID是1-53424的连续数字。

to_read.csv

被用户标记为想读的数据,有将近1百万条按照时间存储的user_id、book_id对。

books.csv

从goodreads的XML文件中抽取出来的每本书的详情(goodreads ID、作者、书名、平均分等),XML源文件保存在books_xml目录下。

books_tags.csv

用户分配给图书的标签,通过ID表示;按照goodreads_book_id升序、count降序存储,其中count表示有多少用户为该图书标记该标签。

goodreads_book_id,tag_id,count
1,30574,167697
1,11305,37174
1,11557,34173

tags.csv

标签ID对应的标签名。

tag_id,tag_name
0,-
19,--your-message-here--
25,-fiction
26,-fictional
27,-fictitious

关于图书ID

一本书可能有很多版本,goodreads_book_id和best_book_id通常是指最受欢迎的版本。而goodreads中的work_id指的是抽象意义的书,通过该ID会列出该书的所有版本。ratings.csvto_read.csv中的book_id指的是work_id而不是goodreads_book_id,这意味着不同版本的评分是经过聚合处理的。

数据介绍

GitHub

【Dataset】Goodbooks-10k: 图书推荐数据的更多相关文章

  1. 微信小程序--每周图书推荐

    这是我个人的第一个原生微信小程序,作为一枚萌新,自己没有前端经历,所以代码很混乱,界面很简单,难度也很低,主要用来记录自己学小程序过程中遇到的问题. 一. 先上预览图 左右滑动切换每周推荐的图书,点击 ...

  2. 100本最棒的web前端图书推荐

    前端技术,要学习的内容太多了,当你不知道从哪里开始的时候,你就先从看书开始,边看书边码代码,这个是学习编程必须的过程,因为你看一百遍,还不如自己写一遍,写一遍,第一可以加印象,第二便于更好的理解. 熟 ...

  3. [置顶] 图书推荐:SQL Server 2012 T-SQL基础 Itzik Ben-Gan

    经过近三个月的不懈努力,终于翻译完毕了.图书虽然是基础知识,但是,即使你已经使用T-SQL几年,很多地方还是能够弥补你的知识空白.大师级的人物写基础知识,或许你想知道这基础中还有哪些深奥,敬请期待吧. ...

  4. 基于hadoop的图书推荐

    根据在炼数成金上的学习,将部分代码总结一下在需要的时候可以多加温习.首先根据原理作简要分析.一般推荐系统使用的协同过滤推荐模型:分别是基于ItemCF的推荐模型或者是基于UserCF的推荐模型:首先分 ...

  5. DefaultView 的作用(对DataSet查询出的来数据进行排序)

    DefaultView 的作用 收藏    一直以来在对数据进行排序, 条件查询都是直接重复构建SQL来进行, 在查询次数和数据量不多的情况下倒没觉得什么, 但慢慢得, 当程序需要对大量数据椐不同条件 ...

  6. 关于 C# DataSet.ReadXml 无法获取Xml数据的问题解析

    首先这次遇到问题的是,C# Winform 项目中新建的数据集 IDE 是 VS2013 调用如下: private void Form1_Load(object sender, EventArgs ...

  7. Visual Basic相关图书推荐

    Visual Basic从入门到精通(第2版) 作      者 国家863中部软件孵化器 编 出 版 社 人民邮电出版社 出版时间 2015-03-01 版      次 2 页      数 61 ...

  8. PASCAL相关图书推荐

    PASCAL程序设计(第2版) 作      者 郑启华 著 出 版 社 清华大学出版社 出版时间 2013-01-01 版      次 2 页      数 286 印刷时间 2013-01-01 ...

  9. Go语言相关图书推荐

    Go语言编程 作      者 许式伟 等 著 出 版 社 人民邮电出版社 出版时间 2012-08-01 版      次 1 页      数 245 印刷时间 2012-08-01 开      ...

随机推荐

  1. (转)超级实用且不花哨的js代码大全

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcE ...

  2. 在react中实现CSS模块化

    react中使用普通的css样式表会造成作用域的冲突,css定义的样式的作用域是全局,在Vue 中我们还可以使用scope来定义作用域,但是在react中并没有指令一说,所以只能另辟蹊径了.下面我将简 ...

  3. 使用js获取表单元素的值

    function getParams(formName) { var frmMain = document.getElementById(formName)?document.getElementBy ...

  4. 使用actionerror做失败登录验证

    一. 登录页面中放置如下代码: <h4>员工登录</h4> <div style="color:red"> <s:actionerror/ ...

  5. Java秒杀系统方案优化 高性能高并发实战(已完成)

    1:商品列表 2:商品详情判断是否可以开始秒杀,未开始不显示秒杀按钮显示倒计时,开始显示秒杀按钮,同时会显示验证码输入框以及验证码图片,当点击秒杀按钮的时候会首先判断验证码是否正确,如果正确会返回一个 ...

  6. rest_framework--RESTful规范

    #####RESTful规范##### 一.什么是restful restful其实就是一种软件架构风格,跟技术毫无关系.是一种面向资源编程的方法. 说起面向资源编程,我想起了之前了解到的面向过程编程 ...

  7. [HAOI2007]理想的正方形(随机化,骗分?)

    题目描述 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 输入输出格式 输入格式: 第一行为3个整数,分别表示a,b,n的值 第二行至 ...

  8. boost::asio::ip::tcp中几个重要类型

    typedef basic_stream_socket socket; 流式套接字,提供同/异步发送接收数据,连接,绑定,设置套接字选项等功能 对于socket中的connect()方法,它只针对某一 ...

  9. python list统计

    from random import randint data = [randint(0, 20) for _ in xrange(30)] print data # [20, 4, 4, 20, 1 ...

  10. (转)redis是什么

    1. 什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库.Redis全称为:Remote Dictionary Ser ...