如何实现一个简单的音乐推荐系统?——利用欧几里得空间距离算法(向量空间距离)

举例如下:音乐推荐的两种推荐方式
第一种:基于相似用户做推荐
如何判断两个用户是相似用户?

我们可以根据两个用户对一些随机的歌曲的喜爱程度进行相似度度量。一个用户对一首歌单曲循环记5分,分享记4分,收藏记3分,搜索记2分,听完记1分,没听过记0分,直接跳过记-1分;

​ 安静 晴天 十年 后来

你 5 3 3 0

小明4 5 2 1

那么你和小明的欧几里得距离就是
( 5 − 4 ) 2 + ( 3 − 5 ) 2 + ( 3 − 2 ) 2 + ( 0 − 1 ) 2 = 7 \sqrt{ (5-4)^2+(3-5)^2+(3-2)^2+(0-1)^2} = \sqrt{7} (54)2+(35)2+(32)2+(01)2 =7
我们可以这个距离越小说明两个用户喜爱越相似,可以设定一个阈值,达到多少就判定为相似用户,然后把对方喜欢的推给你。

第二种:相似歌曲的推荐
如何判断两个两首歌曲的相似程度?

给它打上标签,比如是伤感的还是愉快的,是摇滚还是民谣,是柔和的还是高亢的等等 ?但是这样需要大量人工进行主观性判断,费时费力结果还不理想,我们可以通过这首歌的喜爱人群进行判断就可以了。

​ 用户A 用户B 用户C 用户D

安静 5 3 0 1

晴天 5 2 -1 1

可以理解为,两首歌的受众人群越相似,那么这两首歌就越相似。
( 5 − 5 ) 2 + ( 3 − 2 ) 2 + ( 0 − ( − 1 ) ) 2 + ( 1 − 1 ) 2 = 2 \sqrt{ (5-5)^2+(3-2)^2+(0-(-1))^2+(1-1)^2} = \sqrt{2} (55)2+(32)2+(0(1))2+(11)2 =2
我们可以这个距离越小说明两首歌的受众用户越相似,可以设定一个阈值,达到多少就判定为相似歌曲,然后把相似歌曲推给你。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值