推荐系统常用数据集

简介: 推荐系统常用数据集


在这篇博客中,作者介绍了九个数据集,其中一些是推荐系统中常用到的标准数据集,也有一些是非传统意义上的数据集(non-traditional datasets),作者相信,这些非传统数据集更接近真实场景的数据。


首先,先说明下推荐系统数据中的几个类别:


Item: 即我们要推荐的东西,如产品、电影、网页或者一条信息片段


User:对item进行评分以及接受推荐系统推荐的项目的人


Rating:用户对item的偏好的表达。评分可以是二分类的(如喜欢和不喜欢),也可以是整数(如1到5星)或连续(某个间隔的任何值)。 另外,还有一些隐反馈,只记录一个用户是否与一个项目进行了交互。


数据集


MovieLens


MovieLens数据集由GroupLens研究组在 University of Minnesota — 明尼苏达大学(与我们使用数据集无关)中组织的。 MovieLens是电影评分的集合,有各种大小。 数据集命名为1M,10M和20M,是因为它们包含1,10和20万个评分。 最大的数据集使用约14万用户的数据,并覆盖27,000部电影。 除了评分之外,MovieLens数据还包含类似“Western”的流派信息和用户应用的标签,如“over the top”和“Arnold Schwarzenegger”。 这些流派标记和标签在构建内容向量方面是有用的。内容向量对项目的信息进行编码,例如颜色,形状,流派或真正的任何其他属性 - 可以是用于基于内容的推荐算法的任何形式。


MovieLens的数据在过去20年中已经由大学的学生以及互联网上的人们进行收集了。 MovieLens有一个网站,您可以注册,贡献自己的评分,并接收由GroupLens组实施的几个推荐者算法这里之一的推荐内容。


Jester


当你让一批学者写一个笑话评分系统,你会得到什么?Jester! Jester是由Ken Goldberg和他在加州大学伯克利分校的小组发展的,包含150个笑话大约600万的评分。 像MovieLens一样,Jester评分由互联网上的用户提供。 你可以在这里贡献你自己的评分。


与我们使用的其他数据集相比,Jester有两个方面是特殊的:它使用-10到10的连续等级,并且在量级上具有最高的评分密度。评分密度的意思是大概“平均每个用户评价多少个项目”?如果每个用户都对每个项目进行了评分,那么评级密度将为100%。 如果没有人评价过任何东西,那将是0%。 Jester的密度约为30%,这意味着一个用户平均对30%的笑话进行了评分。 作为比较,MovieLens 1M的密度为4.6%(其他数据集的密度低于1%)。当然不是那么简单。 不是每个用户都评价相同数量的项目。 相反,一些用户对许多项目进行评分,大多数用户只评价一些。 这可以在以下直方图中看到:


v2-4578ab1720cf8aa493dbbf32733bacce_hd.png


Book-Crossings


Book-Crossings是由Cai-Nicolas Ziegler根据http://bookcrossing.com的数据编写的图书评分数据集。 它包含90000个用户的270000本书的110万个评分。评分范围从1到10,还包括隐性评分。


Book-Crossings数据集是最不密集的数据集之一,也是具有明确评分的最不密集的数据集。


Last.fm


Last.fm提供音乐推荐的数据集。 对于数据集中的每个用户,包含他们最受欢迎的艺术家的列表以及播放次数。它还包括可用于构建内容向量的用户应用标签。


Last.fm的数据聚合aggregated)后,有些信息(关于特定的歌曲,或某人正在听音乐的时间)会丢失。 然而,它是这些样本中唯一具有用户的社交网络的信息的数据集。


Wikipedia


维基百科是其用户撰写的协作百科全书。维基百科除了为最后一刻拼写学期论文的学生提供信息外,还为每个用户提供每篇文章的每个编辑的数据转储。该数据集已广泛用于社交网络分析,图形和数据库实现测试,以及维基百科用户行为研究。还可以将用户采取的编辑操作,作为隐性评分,表明他们因某些原因关心该页面,并允许我们使用数据集来提出推荐。


由于维基百科不是为了提供推荐者数据集而设计的,所以它确实存在一些挑战。其中一个是从页面中提取有意义的内容向量,但是幸运的是,大多数页面被很好地分类,为每个页面提供了一种类型。构建维基百科的内容向量的挑战与现实世界数据集的推荐面临的挑战相似。所以我们认为这是建立一些这样做的专门知识的好机会。


OpenStreetMap


OpenStreetMap是一个协作的地图项目,类似于维基百科。 像维基百科一样,OpenStreetMap的数据由用户提供,整个编辑历史的完整转储也是可用的。 数据集中的对象包括道路,建筑物,兴趣点,以及您可能在地图上找到的任何其他内容。 这些对象由键值对标识,因此可以从中创建一个基本的内容向量。 然而,键值对是自由的,所以选择正确的设置是一个挑战。 一些键值对由编辑软件(例如“highway =住宅”)进行标准化和相同的使用,但通常它们可以是用户决定进入的任何内容 - 例如“FixMe !! = Exact location unknown”。


历史编辑数据



Python Git Repositories


我们收集的最终数据集,也许最不传统的,基于Git存储库中包含的Python代码。 我们写了几个脚本(在Hermes GitHub repo中 在此获取)从互联网上下载存储库,提取其中的信息,并将其加载到Spark中。 从那里我们可以从用户编辑中构建一组隐含的评分。


我们目前通过查看所有导入的库并调用函数从每个Python文件中提取内容向量。 将来我们计划将库和函数本身作为建议的项目。



Comparison


各种数据集在其关键指标方面都有所不同。 下表列出了每个数据集的这些度量标准的摘要:


v2-0b87a0d3af69dbf895bcf6c7ce5eb6ec_hd.png


我们选择的数据集涵盖广泛的密度、用户和项目数量以及评分类型。 此外,它们提供了关于项目和用户的各种信息,从而允许我们探索从数据集中提取内容向量的不同方法。



其他数据集


1、 LibRec 开源工具提供的数据集,地址


v2-0c94dc33ea92c584ef6d78baf73f59ec_hd.png


2、Datasets For recommender system 博客中提供的数据集


Amazon Product Data:


  • Amazon product datalink
  • SNAPsnap


Mobile Recommendation:


  • Data Set for Mobile App Retrievallink
  • frappelink
  • Ali_Mobile_Reclink1 ; link2
  • Mobile App User Datasetlink


Movies Recommendation:


  • MovieLens - Movie Recommendation Data Sets link
  • Yahoo! - Movie, Music, and Images Ratings Data Sets link
  • Cornell University - Movie-review data for use in sentiment-analysis experiments link
  • Netflix Prize Datasetlink
  • MovieTweetings - link


Joke Recommendation:


  • Jester - Movie Ratings Data Sets (Collaborative Filtering Dataset) link


Music Recommendation:


  • Last.fm - Music Recommendation Data Sets link
  • Yahoo! - Movie, Music, and Images Ratings Data Sets link
  • Audioscrobbler - Music Recommendation Data Sets link
  • Amazon - Audio CD recommendations link


Books Recommendation:


  • Institut für Informatik, Universität Freiburg - Book Ratings Data Sets link


Food Recommendation:


  • Chicago Entree - Food Ratings Data Sets link


Merchandise Recommendation:


  • Amazon - Product Recommendation Data Sets link


Healthcare Recommendation:


  • Nursing Home - Provider Ratings Data Set link
  • Hospital Ratings - Survey of Patients Hospital Experiences link


Dating Recommendation:


  • www.libimseti.cz - Dating website recommendation (collaborative filtering) link


Scholarly Paper Recommendation:


  • National University of Singapore - Scholarly Paper Recommendation link


3、雅虎数据集


Webscope | Yahoo Labswebscope.sandbox.yahoo.com


4、微软数据集


https://msropendata.com/datasetsmsropendata.com


5、Yongfeng Zhang 数据集Microsoft Research Open Data5、Yongfeng Zhang 数据集


Dataset | Yongfeng Zhangyongfeng.me


相关文章
|
人工智能 搜索推荐 算法
秒懂算法 | 推荐系统常用数据集和验证方法
推荐系统常用数据集和验证方法
2841 1
秒懂算法  | 推荐系统常用数据集和验证方法
|
数据采集 机器学习/深度学习 搜索推荐
覆盖四种场景、包含正负向反馈,腾讯、西湖大学等发布推荐系统公开数据集Tenrec(2)
覆盖四种场景、包含正负向反馈,腾讯、西湖大学等发布推荐系统公开数据集Tenrec
302 0
|
机器学习/深度学习 数据采集 移动开发
覆盖四种场景、包含正负向反馈,腾讯、西湖大学等发布推荐系统公开数据集Tenrec(1)
覆盖四种场景、包含正负向反馈,腾讯、西湖大学等发布推荐系统公开数据集Tenrec
577 0
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
542 1
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
|
搜索推荐 算法 小程序
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
|
搜索推荐 算法 小程序
基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)
|
搜索推荐 算法 前端开发
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
397 4
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
|
搜索推荐 前端开发 数据可视化
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
本文介绍了一个基于Python协同过滤算法的旅游景点推荐系统,该系统采用Django框架、MySQL数据库、Bootstrap前端和echarts数据可视化技术,旨在为用户提供个性化的旅游推荐服务,提升用户体验和旅游市场增长。
1510 9
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
878 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
机器学习/深度学习 搜索推荐 算法
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
登录注册 热门图书 图书分类 图书推荐 借阅图书 购物图书 个人中心 可视化大屏 后台管理
13349 2
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统