Python——基于协同过滤(杰卡德系数)的推荐系统

一.整体设计目标

微博是一个类似于巨大广场的社交平台,在这个广场上你的声音可能被任何人看到,也有可能淹没在巨量的声音中,那么如何在这个广场上找到与你喜好相似,一拍即合的朋友呢?
本程序利用协同过滤算法,根据用户之间的关注的相似性进行推荐关注,以做到为其推荐的用户为与其关注相似度最高的用户。
基本操作方法是遍历数据中的每个用户,取出其关注。基于当前用户的关注列表集合,对其相似用户集合进行过滤,得出与其最相似的用户(共同关注最多的用户)
————————————————————————
正如前言所说,微博这个巨大广场上有着海量的用户和极大量的数据,任何两个用户的关注列表内容可能风马牛不相及,我们也没有微博运营方那样拥有最全面的关注数据,所以想要选取“有着一部分关注是相同的”、“为某个共同爱好聚集到一起的”的用户,有以下选择方法:

  • 去明星的粉丝列表爬取其粉丝
  • 去因兴趣聚集的超级话题内爬取发言用户

第一个方法的弊端在于一些明星或营销号有着很多的僵尸粉(只维持最基本的发言保证账号活性,实际并非作为一个人的日常生活账号使用,不能代表个人),超级话题的粉丝列表也有这种弊端,故选取的是最近风头较热的手机游戏“摩尔庄园”超级话题,并选择的是超级话题内最近发言的用户爬取其关注列表。这样一来既可以保证爬取的用户近期都有着最基本的共同爱好,也可以保证他们是活人而非僵尸号。

二.代码总体框架

总共有两个部分,分别为爬虫部分和计算推荐部分
爬虫部分是我在GitHub上找到的现成的改了改(自己试着写了

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值