相似度实现与协同过滤全解析
1. 相似度实现与聚类应用
1.1 相似度计算测试
在进行相似度计算时,进行了一个小测试,以查看皮尔逊相似度和 k - 均值聚类是否以相同的方式工作。从与用户 2 相似的用户列表中抽取了几个用户,其相似度分别为 0.87 和 0.85,发现他们都在第 7 个聚类中。虽然仅通过一个示例不能证明在所有情况下都有效,但这能很好地表明实现是一致正确或错误的。这里所涉及的用户相似度计算不需要任何特殊训练。
1.2 MovieGEEKs 网站的聚类实现
在网站中使用聚类算法目前可能需要一些信任,但不用担心。这里将使用 Scikit - learn 库中的聚类算法来实现解决方案,它也是一种 k - 均值算法,据说比之前的小示例更快且经过了更好的测试。
在 MovieGEEKs 网站的分析部分的两个地方添加聚类信息,首先是在 http://localhost: 8000/analytics/ 的主页上。不过,在计算聚类之前不会显示任何聚类信息。
以下是 UserClusterCalculator 脚本的实现:
class UserClusterCalculator(object):
def load_data(self):
print('loading data')
user_ids = list(
Rating.objects.values('user_id')
.anno
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



