分享

Spark 高级分析:第三章第1节

feilong 2017-11-17 09:44:30 发表于 连载型 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 6583
本帖最后由 feilong 于 2017-11-17 09:47 编辑

问题导读

1.推荐引擎是什么?
2.推荐引擎一般用来做什么?有什么样的实例?
3.什么样的数据是隐式反馈数据?







上一篇:Spark 高级分析:第二章第11,12节
http://www.aboutyun.com/forum.php?mod=viewthread&tid=23298&page=1#pid244904

第三章 音乐推荐&Audioscrobbler数据集

当有人问我以什么为生时,“数据科学”或“机器学习”的直接回答听起来令人印象深刻,但通常都是空白回答。值得注意的是,即使是实际的数据科学家也很难定义这些意味着什么——存储大量数据、计算和预测某些东西。不可避免地,我直接跳到一个真实的例子:
“好吧,你知道亚马逊会如何推荐给你你买的书吗?是吗?对!就是这样。”

推荐者的输出比其他机器学习算法更直观易懂。这是令人兴奋的。我们认为音乐品味是个人化的和无法解释的,推荐系统做了一个非常好的工作,识别出我们不知道但是我们会喜欢的音乐。

因此,它似乎适合揭开之后的三章的序幕,接下来将探讨Spark关键机器学习算法,一章围绕的推荐引擎,尤其是推荐音乐。实际使用Spark MLlib是一个易于获取的方式,一些基本的机器学习的想法将在以后的章节介绍。

第1节  数据集

这个例子将使用 Audioscrobbler 公开的数据集。Audioscrobbler是last.fm 第一个音乐推荐系统, 是第一个网络流媒体音频网站,成立于2002年。Audioscrobbler 为 “scrobbling” 提供了一个开发的 API,主要记录听众听取了哪些作家的歌曲。这个网站利用这些信息建立了一个强大的音乐推荐系统。这个系统达到了数百万用户,因为第三方的App和网站可以提供收听数据给推荐引擎。

在那个时期,研究推荐系统大部分局限在学习类似评级的数据集。也就是说,推荐的人往往使用需要输入像 “某某某 评分3.5分” 这样的工具。

Audioscrobbler 数据集有趣地方在于仅仅记录播放的历史:“某某某 播放了 什么”。一个播放记录带来的信息量远远小于一个评分数据带来的信息量,但是评分数据总量肯定没有播放历史记录的数据多,当大量播放历史记录放在一起的时候,比评分数据将更有价值。

然而,听众对音乐的评价要比演奏音乐的频率低得多。因此,这样的数据集要大得多,覆盖了更多的用户和艺术家,并且包含了比评级数据集更多的信息,即使每个单独的数据点携带的信息更少。这种类型的数据通常被称为隐式反馈数据,因为用户-艺术家连接被暗示为其他行动的副作用,而不是作为明确的评级或点赞。

由这个网站公布的一个2005年的数据集合可以在http://www-etud.iro.umontreal.ca/~bergstrj/audioscrobbler_data.html上面下载。这个数据集合没有解压之前大小是 135MB,解压之后是 500MB,解压之后将会看到主要的数据集是 user_artist_data.txt 文件,里面大约包含 141000 唯一的用户和 1.6 百万唯一的artist艺术家,大约 24.2 百万用户播放记录。

当然每个 artist 都是用 id 记录的,id与名字的对照关系是在 artist_data.txt 中。注意同一个 artist 可能对应很多不同名字即有不同的 id。所以这里还有一个文件 artist_alias.txt 标识每个 artist 的别名。里面用一个唯一的id 标识所有同一个artist id 列表。

已有(2)人评论

跳转到指定楼层
sadfdfgfhg 发表于 2019-1-9 09:43:36
数据没有了
回复

使用道具 举报

a530491093 发表于 2019-1-14 15:35:42
来学习了,感谢分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条