【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 开 ...
随机推荐
- opencv 数据类型转换:CvArr, Mat, CvMat, IplImage, BYTE 转
留着以后查询: http://blog.csdn.net/augusdi/article/details/8863820 一.Mat类型:矩阵类型,Matrix. 在openCV中,Mat是一个多维的 ...
- Tomcat 启动速度优化
创建一个web项目 选择发布到 汤姆猫 的下面 deploy path: 表示发布到的文件名称 把项目添加到 tomcat 里,运行,我们可以在 tomcat里找到我们发布的项目: 现在启动时间: 现 ...
- Unity3D usage Experience
I have been using Unity3D to make game for half one year. I began to lean Unity3D with some books, o ...
- RL 编、解码(EncodedString、DecodedString) - iOS
开发中对文本传输或二进制传输,都需要将传输的对象进行二进制字节的转化操作,所以无异于编.解码便会经常用到的操作; 当然除了这种方式之外,还有一种常用的 Base64,此文中不具体细谈, Base64 ...
- js中FormData+XMLHttpRequest数据传输
前言: 首先我们需要了解,前后端进行数据传输依赖于浏览器的XMLHttpRequest对象 一.什么是XMLHttpRequest对象? XMLHttpRequest 是DOM对象,提供了对于http ...
- Shell 脚本进程并发&进程数控制
Shell 都以串行的方式自上而下执行命令,不适用需要大量作业的场景. 学习此篇shell脚本进程并发,能够大大提高工作效率~ 通过wait 和 & 后台符号 可以实现并行,但无法控制进程数. ...
- jsp传参 servlet接收中文乱码问题
在公司实习了8个月,一直都是做android和h5的,但是发现做程序连一点服务都不会该怎么办,所以最近开始学起了java,不知道是不是因为框架学多了,现在看起springmvc框架比以前看起来简单太多 ...
- 通过swagger下载的文件乱码解决方法,求解
这里的数据显示 点击Download Templates下载之后是显示一个response流都不是一个xlsx文件 这个是由什么原因造成的,求解?
- Mina 组件介绍之 IoBuffer
在Java NIO 中,ByteBuffer通常作为通信中传递消息的载体.而在Mina中,采用了IoBuffer代替ByteBuffer.Mina给出了不用ByteBuffer的两个主要理由: 1. ...
- Linux 系统无法登录?你的程序有问题吧!
今天遇到一个问题,有个用户连接不上服务器(无法ssh远程连接) su: failed to execute /bin/bash: Resource temporarily unavailable 谷歌 ...