《推荐系统》基于标签的用户推荐系统


打开微信扫一扫,关注微信公众号【数据与算法联盟】
转载请注明出处: http://blog.csdn.net/gamer_gyt  
博主微博: http://weibo.com/234654758 


1:联系用户兴趣和物品的方式

2:标签系统的典型代表

3:用户如何打标签

4:基于标签的推荐系统

5:算法的改进

6:标签推荐

源代码查看地址:github查看

一:联系用户兴趣和物品的方式

    推荐系统的目的是联系用户的兴趣和物品,这种联系方式需要依赖不同的媒介。目前流行的推荐系统基本上是通过三种方式联系用户兴趣和物品。

                                  

       1:利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品,即基于item的系统过滤推荐算法(算法分析可参考:点击阅读

       2:利用用户和兴趣用户兴趣相似的其他用户,给用户推荐哪些和他们兴趣爱好相似的其他用户喜欢的物品,即基于User的协同过滤推荐算法(算法分析可参考:点击阅读

       3:通过一些特征联系用户和物品,给用户推荐那些具有用户喜欢的特征的物品,这里的特征有不同的表现形式,比如可以表现为物品的属性集合,也可以表现为隐语义向量,而下面我们要讨论的是一种重要的特征表现形式——标签


二:标签系统的典型代表

       pass掉那些国外网站,比如说豆瓣图书(左),网易云音乐(右)

                

    标签系统确实能够帮助用户发现他们喜欢和感兴趣的物品


三:用户如何打标签

       在互联网中每个人的行为都是随机的,但其实这些表面的行为隐藏着很多规律,那么我们对用户打的标签进行统计呢,便引入了标签流行度,我们定义的一个标签被一个用户使用在一个物品上,他的流行度就加1,可以如下代码实现:

#统计标签流行度
def TagPopularity(records):
    tagfreq = dict()
    for user, item ,tag in records:
        if tag not in tagfreq:
            tagfreq[tag] = 1
        else:
            tagfreq[tag] +=1
    return tagfreq
      下面的是一个标签流行度分布图(横坐标是标签流行度K,纵坐标是流行度K对应的标签数目),其也是符合典型的长尾分布,他的双对数曲线几乎是一条直线

                                    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值