【Dataset】Goodbooks-10k: 图书推荐数据
当前推荐领域一些公开的据集都是关于电影和音乐的(比如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.csv和to_read.csv中的book_id指的是work_id而不是goodreads_book_id,这意味着不同版本的评分是经过聚合处理的。
【Dataset】Goodbooks-10k: 图书推荐数据的更多相关文章
- 微信小程序--每周图书推荐
这是我个人的第一个原生微信小程序,作为一枚萌新,自己没有前端经历,所以代码很混乱,界面很简单,难度也很低,主要用来记录自己学小程序过程中遇到的问题. 一. 先上预览图 左右滑动切换每周推荐的图书,点击 ...
- 100本最棒的web前端图书推荐
前端技术,要学习的内容太多了,当你不知道从哪里开始的时候,你就先从看书开始,边看书边码代码,这个是学习编程必须的过程,因为你看一百遍,还不如自己写一遍,写一遍,第一可以加印象,第二便于更好的理解. 熟 ...
- [置顶] 图书推荐:SQL Server 2012 T-SQL基础 Itzik Ben-Gan
经过近三个月的不懈努力,终于翻译完毕了.图书虽然是基础知识,但是,即使你已经使用T-SQL几年,很多地方还是能够弥补你的知识空白.大师级的人物写基础知识,或许你想知道这基础中还有哪些深奥,敬请期待吧. ...
- 基于hadoop的图书推荐
根据在炼数成金上的学习,将部分代码总结一下在需要的时候可以多加温习.首先根据原理作简要分析.一般推荐系统使用的协同过滤推荐模型:分别是基于ItemCF的推荐模型或者是基于UserCF的推荐模型:首先分 ...
- DefaultView 的作用(对DataSet查询出的来数据进行排序)
DefaultView 的作用 收藏 一直以来在对数据进行排序, 条件查询都是直接重复构建SQL来进行, 在查询次数和数据量不多的情况下倒没觉得什么, 但慢慢得, 当程序需要对大量数据椐不同条件 ...
- 关于 C# DataSet.ReadXml 无法获取Xml数据的问题解析
首先这次遇到问题的是,C# Winform 项目中新建的数据集 IDE 是 VS2013 调用如下: private void Form1_Load(object sender, EventArgs ...
- Visual Basic相关图书推荐
Visual Basic从入门到精通(第2版) 作 者 国家863中部软件孵化器 编 出 版 社 人民邮电出版社 出版时间 2015-03-01 版 次 2 页 数 61 ...
- PASCAL相关图书推荐
PASCAL程序设计(第2版) 作 者 郑启华 著 出 版 社 清华大学出版社 出版时间 2013-01-01 版 次 2 页 数 286 印刷时间 2013-01-01 ...
- Go语言相关图书推荐
Go语言编程 作 者 许式伟 等 著 出 版 社 人民邮电出版社 出版时间 2012-08-01 版 次 1 页 数 245 印刷时间 2012-08-01 开 ...
随机推荐
- Mysql跨数据库(在同一IP地址中)复制表
数据库表间数据复制分类 在利用数据库开发时,常常会将一些表之间的数据互相导入.当然可以编写程序实现,但是,程序常常需要开发环境,不方便.最方便是利用sql语言直接导入.既方便而修改也简单.以下就是导入 ...
- java中静态代理和动态代理
一.概述 代理是一种模式,提供了对目标对象的间接访问方式,即通过代理访问目标对象.如此便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等,以满足自身的业务需求,同时代理模式便于扩展目标对象功能 ...
- Angularjs基础(九)
AngularJS 应用应用程序讲解 实例: <html ng-app="myNoteApp"> <head> <meat charset=" ...
- WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机
版本:win10系统 virtualbox:5.1.26 vagrant :1.9.7 centos 7.0 xshell/git 首先下载好对应版本的软件 配置vagrant和virtualbox ...
- 部署node api的二三事
当接到node开发node api的时候,我就想用docker来部署,众所周知,node的版本更新迭代很快.很多以前需要babel后才能采用的方法正在不断被node 原生的支持.如果随便更换生产服务器 ...
- MySQL数据操作(DML)
表结构准备: mysql> CREATE TABLE student( -> sid INT PRIMARY KEY AUTO_INCREMENT, ), -> age INT, ) ...
- Angular简单总结
AngularJS AngularJS四大特征 MVC模式 双向绑定 依赖注入 模块化设计 AngularJS 表达式 AngularJS 表达式写在双大括号内{{expression }},可以包含 ...
- Solr简单总结
Solr 运行Solr服务 方式一:Jetty服务器启动Solr 进入solr-4.10.2/example目录 打开命令行,执行java –jar start.jar命令,即可启动Solr服务 打开 ...
- video.js使用技巧
https://www.awaimai.com/2053.html https://www.jianshu.com/p/16fa00a1ca8e
- scala成长之路(6)函数入门
众所周知,scala作为一门极客型的函数式编程语言,支持的特性包括: 函数拥有“一等公民”身份: 支持匿名函数(函数字面量) 支持高阶函数 支持闭包 部分应用函数 柯里化 首先需要指出,在scala中 ...